Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

PIC16.33E.33EP256MU810

Constants


Globals

BYTE Rx_Transfer_Total_Packets     UNSIGNED INT MapPGN     UNSIGNED INT Rx_Transfer_Total_Size     BYTE MapOffsetBytes     BYTE Local_Data_Buffer     BYTE SPN_OffsetBits     UNSIGNED LONG Rx_Transfer_PGN     UNSIGNED LONG Rx_Transfer_Timer     UNSIGNED INT MapSPN     UNSIGNED INT SPN_PGN     UNSIGNED INT Rx_Message_PGN     UNSIGNED INT Tx_Transfer_Bytes_Sent     UNSIGNED INT Tx_Transfer_Total_Size     BYTE MapBitLength     BYTE SPN_Length     UNSIGNED INT Rx_Transfer_Bytes_Received     BYTE Tx_Transfer_Buffer     BYTE SPN_OffsetBytes     BYTE J1939_Address     UNSIGNED LONG Tx_Transfer_Last_Event     BYTE MapOffsetBits     BYTE J1939_Status     BYTE Name_Buffer     BYTE Rx_Transfer_Buffer     UNSIGNED LONG J1939_Timer     BYTE Rx_Ready     UNSIGNED LONG Tx_Transfer_Timer     UNSIGNED INT SPNCount     UNSIGNED LONG Rx_Transfer_Last_Event    

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Rx_Transfer_Data

Return:     UNSIGNED INT
Params:     BYTE DataBuffer     UNSIGNED INT Size    
Vars:     UNSIGNED INT x    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Message_Data_Read_SPN

Return:     UNSIGNED INT
Params:     UNSIGNED INT SPN     BYTE DataBuffer    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Process

Return:     BYTE
Params:     UNSIGNED INT TimeElapsed    
Vars:     BYTE CAN_Rx_Check     UNSIGNED LONG PGN     BYTE Claimed_Address     UNSIGNED LONG ID     BYTE DLC     UNSIGNED INT d     UNSIGNED INT s     UNSIGNED LONG Timeout    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Rx_Transfer_Check

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Get_Address

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Message_Data_Set

Return:     VOID
Params:     BYTE DataBuffer     BYTE Value    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Tx_Data_Part

Return:     VOID
Vars:     UNSIGNED INT This_Chunk_Size     BYTE n    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Tx_Transfer_Send

Return:     UNSIGNED INT
Params:     UNSIGNED LONG PGN     BYTE Data     UNSIGNED INT Size    
Vars:     UNSIGNED INT x    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

RegisterSPN

Return:     BOOL
Params:     UNSIGNED INT SPN     UNSIGNED INT PGN     BYTE OffsetBytes     UNSIGNED INT OffsetBits     UNSIGNED INT BitLength    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Rx_Message_Check

Return:     UNSIGNED INT
Vars:     UNSIGNED LONG ID    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Get_Status

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Ev_Property

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Message_Data_Write

Return:     BYTE
Params:     UNSIGNED INT Value     BYTE Length     BYTE OffsetBytes     BYTE OffsetBits     BYTE DataBuffer    
Vars:     BYTE Temp     BYTE Mask    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Ev_Renamed

Return:     UNSIGNED LONG
Vars:     STRING Name    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Ev_GetVarSize

Return:     UNSIGNED LONG
Params:     STRING VarName     Elements    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Message_SPN_Map

Return:     VOID
Params:     UNSIGNED INT SPN    
Vars:     UNSIGNED INT PGN     BYTE OffsetBits     BYTE Length     BYTE OffsetBytes     UNSIGNED INT Index    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Message_Data_Read

Return:     UNSIGNED INT
Params:     BYTE Length     BYTE OffsetBytes     BYTE OffsetBits     BYTE DataBuffer    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Message_Data_Write_SPN

Return:     BYTE
Params:     UNSIGNED INT SPN     UNSIGNED INT Value     BYTE DataBuffer    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Rx_Message_Data

Return:     BYTE
Params:     BYTE DataBuffer    
Vars:     BYTE x    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Tx_Message_Send

Return:     BYTE
Params:     UNSIGNED INT PGN     BYTE DLC     BYTE DataBuffer    
Vars:     UNSIGNED LONG ID    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Tx_Address_Claim

Return:     VOID
Params:     BYTE Cannot_Claim    
Vars:     BYTE Data_Buffer     BYTE Address_Save    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Message_Data_Clear

Return:     VOID
Params:     BYTE DataBuffer    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Rx_Message_Source

Return:     BYTE
Vars:     UNSIGNED LONG ID    

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

ClearSPN

Return:     VOID

Your browser does not support the HTML5 canvas tag.

Rx_Transfer_Data    /    Message_Data_Read_SPN    /    Process    /    Rx_Transfer_Check    /    Get_Address    /    Message_Data_Set    /    Tx_Data_Part    /    Tx_Transfer_Send    /    RegisterSPN    /    Rx_Message_Check    /    Get_Status    /    Ev_Property    /    Message_Data_Write    /    Ev_Renamed    /    Ev_GetVarSize    /    Message_SPN_Map    /    Message_Data_Read    /    Message_Data_Write_SPN    /    Rx_Message_Data    /    Tx_Message_Send    /    Tx_Address_Claim    /    Main    /    Message_Data_Clear    /    Rx_Message_Source    /    ClearSPN    /    Initialise

Initialise

Return:     VOID
Params:     BYTE Preferred_Address    

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