Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

PIC.16F.16F1937

Constants

SIGNED INT VISI_ID_PinOutput     SIGNED INT VISI_ID_UserLed     SIGNED INT VISI_ID_RockerSwitch     SIGNED INT VISI_ID_Led     SIGNED INT VISI_ID_Tank     SIGNED INT VISI_ID_MagicObject     BOOL false     SIGNED INT VISI_ID_Knob     SIGNED INT VISI_ID_Gauge     SIGNED INT VISI_ID_LedDigits     SIGNED INT VISI_ID_SmartGauge     SIGNED INT VISI_ID_TrackBar     SIGNED INT VISI_ID_UserButton     SIGNED INT VISI_ID_Strings     SIGNED INT VISI_CMD_ReadObject     SIGNED INT VISI_ID_RotarySwitch     SIGNED INT VISI_ID_Meter     SIGNED INT VISI_ID_Timer     SIGNED INT VISI_ID_ColourPicker     SIGNED INT VISI_ID_WinButton     SIGNED INT VISI_ID_Image     SIGNED INT VISI_ID_PinInput     SIGNED INT VISI_ID_Slider     SIGNED INT VISI_ID_Spectrum     SIGNED INT VISI_ID_Scope     SIGNED INT VISI_CMD_WriteContrast     SIGNED INT VISI_ID_Keyboard     SIGNED INT VISI_ID_CustomDigits     SIGNED INT VISI_ID_Thermometer     SIGNED INT VISI_ID_AniButton     SIGNED INT VISI_ID_SmartSlider     SIGNED INT VISI_ID_SmartKnob     SIGNED INT VISI_ID_AngularMeter     SIGNED INT VISI_ID_Form     SIGNED INT VISI_ID_DipSwitch     SIGNED INT VISI_ID_Sound     SIGNED INT VISI_ID_UserImages     SIGNED INT VISI_CMD_WriteString     SIGNED INT VISI_ID_Video     SIGNED INT VISI_ID_StaticText     SIGNED INT VISI_CMD_WriteObject     BOOL true     SIGNED INT VISI_ID_CoolGauge     SIGNED INT VISI_ID_4DButton    

Globals

SIGNED INT pvt_Custom_Baud     SIGNED INT pvt_Channel     UNSIGNED INT ColCount     BYTE VisiIncoming     BOOL pvt_FlowCtrl     HANDLE console_handle    

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

Ev_Timer

Return:     UNSIGNED LONG
Params:     UNSIGNED LONG TimerID    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

Ev_Initialise

Return:     UNSIGNED LONG
Vars:     STRING temp    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

VisiWriteString

Return:     BYTE
Params:     BYTE StringIndex     STRING StringData    
Vars:     BYTE crc     BYTE Index     BYTE Length    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

Ev_Property

Return:     UNSIGNED LONG
Vars:     STRING temp_str    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

VisiWriteObject

Return:     BYTE
Params:     BYTE ObjectID     BYTE ObjectIndex     UNSIGNED INT Value    
Vars:     BYTE crc     BYTE byte    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

Ev_Renamed

Return:     UNSIGNED LONG
Vars:     STRING Name    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

ChangeHWBaud

Return:     VOID
Params:     BYTE NewBaud    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

VisiReceive

Return:     BYTE
Vars:     BYTE in     BYTE crc     BYTE index     BYTE DataIn     BYTE timeout    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

VisiWriteContrast

Return:     BYTE
Params:     BYTE Contrast    
Vars:     BYTE crc     BYTE byte    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

VisiWriteVolume

Return:     BYTE
Params:     BYTE Volume    
Vars:     BYTE crc     BYTE byte    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

VisiReadByteFromMessage

Return:     BYTE
Params:     BYTE Index    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    Initialise

VisiReadObject

Return:     BYTE
Params:     BYTE ObjectID     BYTE ObjectIndex    
Vars:     BYTE crc    

Your browser does not support the HTML5 canvas tag.

Ev_Timer    /    Ev_Initialise    /    VisiWriteString    /    Ev_Property    /    VisiWriteObject    /    Ev_Renamed    /    ChangeHWBaud    /    VisiReceive    /    VisiWriteContrast    /    VisiWriteVolume    /    VisiReadByteFromMessage    /    Main    /    VisiReadObject    /    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