Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

PIC.16F.16F1789

Constants

SIGNED INT OO_SEARCHROM     SIGNED INT OO_SKIPROM     SIGNED INT OO_MATCHROM    

Globals

BYTE crc     BYTE num_devices     BYTE new_conflict     BYTE id     SIGNED INT conflict     BYTE DOUT     BYTE DIN     BYTE dev_id    

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

InitialiseSim

Return:     VOID

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

ReceiveByte

Return:     BYTE
Vars:     BYTE Bit    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

Ev_Timer

Return:     UNSIGNED LONG
Params:     UNSIGNED LONG TimerID    
Vars:     HANDLE handle    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

Ev_Initialise

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

CRC_Byte

Return:     VOID
Params:     BYTE Data    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

TransmitByte

Return:     VOID
Params:     BYTE Command    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

GetNextID

Return:     BYTE
Vars:     BYTE counter     BYTE bit_index     BYTE byte_index     BYTE data_in_byte     BYTE lz_selected     BYTE go_on     BYTE bit_test     BYTE val2    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

SkipROM

Return:     VOID

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

Ev_Property

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

BusReset

Return:     BOOL

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

CRC_Init

Return:     VOID

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

SetReadPointer

Return:     VOID
Params:     BYTE Address    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

MatchROM

Return:     VOID
Params:     BYTE FamilyCode     BYTE SerialNumber    
Vars:     BYTE Idx    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

WhileBusy

Return:     VOID
Vars:     BYTE Timeout    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

Ev_Renamed

Return:     UNSIGNED LONG
Vars:     STRING Name    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

ScanBus

Return:     BYTE
Vars:     BYTE device_count     BYTE loop    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

GetDeviceCount

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

GetIDByte

Return:     BYTE
Params:     BYTE Device     BYTE ByteIndex    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

Triplet

Return:     BYTE
Params:     BOOL DIR    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    ReceiveByte    /    Ev_Timer    /    Ev_Initialise    /    CRC_Byte    /    TransmitByte    /    GetNextID    /    SkipROM    /    Ev_Property    /    BusReset    /    CRC_Init    /    SetReadPointer    /    MatchROM    /    WhileBusy    /    Ev_Renamed    /    ScanBus    /    GetDeviceCount    /    GetIDByte    /    Triplet    /    Main    /    Initialise

Initialise

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