Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

RPI.RPI.RPI3

Constants

SIGNED INT ERROR_COULD_NOT_OPEN_SOCKET     SIGNED INT ERROR_NOT_CONNECTED     SIGNED INT ERROR_MQTT_CONNECT_FAILED     SIGNED INT ERROR_MQTT_DATA_MALFORMED     SIGNED INT ERROR_MQTT_SERVICE_UNAVAILABLE     SIGNED INT ERROR_MQTT_SUBSCRIBE_FAILED     SIGNED INT ERROR_MQTT_WRONG_PROTOCOL     SIGNED INT ERROR_COULD_NOT_SEND_DATA     SIGNED INT ERROR_MQTT_NOT_AUTHORIZED     SIGNED INT ERROR_MQTT_CLIENT_ID_NOT_ALLOWED     SIGNED INT ERROR_COULD_NOT_CONNECT_TO_HOST     SIGNED INT ERROR_NO_REPLY_DATA    

Globals

BYTE PacketSize     BYTE LastError     BYTE Packet     BYTE Connected    

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

GetTopic

Return:     BYTE
Params:     STRING Topic     BYTE Size    
Vars:     BYTE x    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

ErrorAsString

Return:     STRING
Params:     BYTE Error    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

Connect

Return:     BYTE
Vars:     BYTE ClientLength     BYTE x     BYTE ReplySize     STRING ClientID     STRING AuthName     BYTE AuthNameLength     STRING AuthPassword     BYTE AuthPasswordLength    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

Ev_Initialise

Return:     UNSIGNED LONG
Vars:     STRING TempStr    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

Publish

Return:     BYTE
Params:     STRING Topic     STRING Payload    
Vars:     BYTE PayloadSize     BYTE TopicSize     BYTE x    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

LastError

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

Read

Return:     UNSIGNED INT

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

Disconnect

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

Ev_Property

Return:     UNSIGNED LONG
Vars:     HANDLE Handle    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

Ev_LoadComplete

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

ConnectTo

Return:     BYTE
Params:     STRING Host     UNSIGNED INT Port     STRING ClientID    
Vars:     BYTE ClientLength     BYTE x     BYTE ReplySize     STRING AuthName     BYTE AuthNameLength     STRING AuthPassword     BYTE AuthPasswordLength    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

Ping

Return:     BYTE
Vars:     BYTE ReplySize    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

Ev_Renamed

Return:     UNSIGNED LONG
Vars:     STRING Name    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

GetPayload

Return:     BYTE
Params:     STRING Payload     BYTE Size    
Vars:     BYTE x    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

Subscribe

Return:     BYTE
Params:     STRING Topic    
Vars:     BYTE TopicLength     BYTE x     BYTE ReplySize    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

Unsubscribe

Return:     BYTE
Params:     STRING Topic    
Vars:     BYTE TopicLength     BYTE x     BYTE ReplySize    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    Initialise

PacketTransfer

Return:     BYTE
Params:     BYTE ExpectReply    
Vars:     UNSIGNED INT Timer    

Your browser does not support the HTML5 canvas tag.

GetTopic    /    ErrorAsString    /    Connect    /    Ev_Initialise    /    Publish    /    LastError    /    Read    /    Disconnect    /    Ev_Property    /    Ev_LoadComplete    /    ConnectTo    /    Ping    /    Ev_Renamed    /    GetPayload    /    Subscribe    /    Unsubscribe    /    Main    /    PacketTransfer    /    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