Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

PIC.16F.16F877A

Constants

SIGNED INT ERR_RX     SIGNED INT MSG_CNT_MASK     SIGNED INT STATE_SYNC_LO     SIGNED INT ERR_PARITY     SIGNED INT ERR_BITERROR     SIGNED INT ERR_ADDR_READ     SIGNED INT TIMEOUTVAL     SIGNED INT MODEPAUSE     BOOL false     SIGNED INT ERR_TX     SIGNED INT ERR_FERR     SIGNED INT STATE_NULL     SIGNED INT STATE_FAULT     SIGNED INT STATE_POWERDOWN     SIGNED INT STATE_READY     SIGNED INT UNWANTED_ADDR     SIGNED INT LISTEN_TO_PAUSE     SIGNED INT STATE_RX     SIGNED INT ERR_TIMEOUT     SIGNED INT STATE_LISTEN_TIMEOUT     SIGNED INT STATE_OPERATION     SIGNED INT STATE_SYNC_HI     SIGNED INT ERR_BADCRC     SIGNED INT MSG_TX_MSK     SIGNED INT STATE_TX     SIGNED INT ERR_CLOCKSYNC     BOOL true    

Globals

BYTE MSG_DATA     STRING DevStr     BYTE RX_ADDR     BYTE TIMER_LO_RX     UNSIGNED INT BitTime     BYTE TIMER_LO_TX     BYTE TIMER_HI_RX     BYTE LIN_STATE     BYTE SENDING     UNSIGNED INT BitHalfTime     BYTE MSG_CNT     BYTE sreg_temp     BYTE TIMER_HI_TX     BYTE MSG_ID     BYTE RX_BYTE    

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

Ev_Initialise

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

PowerDown

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

SendByte

Return:     BYTE
Params:     BYTE ByteVal    
Vars:     BYTE BitVal    

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

GetState

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

Ev_Property

Return:     UNSIGNED LONG
Vars:     STRING filepath    

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

ListenForMessages

Return:     BYTE
Params:     BYTE Timeout     BYTE ChecksumType    
Vars:     BYTE WaitForever     BYTE Timeout2     BYTE Idx     UNSIGNED INT Timer16     UNSIGNED INT Temp16     BYTE LoopCount     BYTE IdxBase     BYTE DataCount     BYTE CheckSum     BYTE ByteVal     BYTE Ctst    

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

ReadAddress

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

Wait_HalfTBit

Return:     VOID
Vars:     BYTE clock_hi     BYTE clock_lo     STRING ProductStr    

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

ReadByte

Return:     BYTE
Vars:     BYTE BitVal     BYTE TimeoutCount     BYTE LoopCount    

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

ReadDataCount

Return:     BYTE
Params:     BYTE Message    

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

ReadData

Return:     BYTE
Params:     BYTE Message     BYTE Index    

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

SetData

Return:     BYTE
Params:     BYTE Message     BYTE Data1     BYTE Data2     BYTE Data3     BYTE Data4     BYTE Data5     BYTE Data6     BYTE Data7     BYTE Data8    
Vars:     BYTE IdxBase    

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

Initialize

Return:     VOID
Vars:     BYTE Temp     BYTE index    

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Ev_Initialise    /    PowerDown    /    SendByte    /    GetState    /    Ev_Property    /    ListenForMessages    /    ReadAddress    /    Wait_HalfTBit    /    ReadByte    /    ReadDataCount    /    ReadData    /    SetData    /    Initialize    /    Main    /    WakeUp

WakeUp

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Verison History

Version 0.6
12/09/19 BR - Created initial recursive parser
14/09/19 BR - Added support for disabled icons
18/09/19 BR - Fixed decision icon parsing
19/09/19 BR - Added switch icon support
23/09/19 BR - Fixed recursive loop spacing
27/09/19 BR - Further tweaked spacing and added Macro menu
30/09/19 BR - Improved all string spacing
01/10/19 BR - Improved While icon support