Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

PIC.16F.16F18877

Constants

SIGNED INT SEQUENCE_ENABLE_FINAL_RANGE     SIGNED INT SEQUENCE_ENABLE_TCC     SIGNED INT OverheadDss     SIGNED INT OverheadEnd     SIGNED INT SEQUENCE_ENABLE_PRE_RANGE     SIGNED INT OverheadMsrc     SIGNED INT MinTimingBudget     SIGNED INT MAX_TIMEOUT     SIGNED INT OverheadFinalRange     SIGNED INT SEQUENCE_ENABLE_DSS     SIGNED INT OverheadTcc     SIGNED INT OverheadPreRange     SIGNED INT SEQUENCE_ENABLE_MSRC     SIGNED INT OverheadStartSet     SIGNED INT OverheadStartGet    

Globals

UNSIGNED INT SST_msrc_dss_tcc_mclks     UNSIGNED LONG measurement_timing_budget_us     BYTE Stop_Variable     UNSIGNED INT SST_final_range_vcsel     UNSIGNED LONG SST_msrc_dss_tcc_us     BYTE spad_type_is_aperture     UNSIGNED INT SST_pre_range_vcsel     BYTE spad_count     UNSIGNED INT SST_final_range_mclks     UNSIGNED LONG SST_pre_range_us     UNSIGNED INT SST_pre_range_mclks     UNSIGNED LONG SST_final_range_us    

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

InitialiseSim

Return:     BOOL
Vars:     BYTE Reg     BYTE ref_spad_map     BYTE ucFirstSPAD     BYTE ucSPADsEnabled     BYTE i    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

Ev_Timer

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

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

ChangeI2CAddress

Return:     VOID
Params:     BYTE Address     BOOL UpdateAddressReg    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

WriteMulti

Return:     VOID
Params:     BYTE Address     BYTE Data     BYTE Count    
Vars:     BYTE buff     BYTE i    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

GetSequenceStepTimeouts

Return:     VOID
Params:     BYTE enables    
Vars:     BYTE reg     UNSIGNED INT reg16    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

Ev_Initialise

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

WriteRegList

Return:     VOID
Params:     BYTE Offset     BYTE Count    
Vars:     BYTE Idx     BYTE Reg     BYTE Val     BYTE add    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

ReadMulti

Return:     VOID
Params:     BYTE Address     BYTE Data     BYTE Count    
Vars:     BYTE buff    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

TimeoutMicrosecondsToMclks

Return:     UNSIGNED LONG
Params:     UNSIGNED LONG timeout_period     BYTE vcsel_period    
Vars:     UNSIGNED LONG macro_period_ns    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

GetSpadInfo

Return:     BOOL
Vars:     BYTE Reg     BYTE iTimeout     BYTE ucTemp    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

ReadModel

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

SetVcselPulsePeriod

Return:     VOID
Params:     BOOL Type     BYTE period_pclks    
Vars:     BYTE vcsel_period_reg     BYTE enables     UNSIGNED INT new_pre_range_timeout_mclks     UNSIGNED INT tout     UNSIGNED INT new_msrc_timeout_mclks     UNSIGNED INT new_final_range_timeout_mclks     BYTE sequence_config    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

ReadRegister16

Return:     UNSIGNED INT
Params:     BYTE Address    
Vars:     BYTE buff    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

Ev_Property

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

GetMeasurementTimingBudget

Return:     UNSIGNED LONG
Vars:     BYTE enables     UNSIGNED LONG budget_us    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

ReadRevision

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

DecodeTimeout

Return:     UNSIGNED INT
Params:     UNSIGNED INT RegVal    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

PerformSingleRefCalibration

Return:     BOOL
Params:     BYTE vhv_init_byte    
Vars:     SIGNED INT iTimeout     BYTE Reg    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

ReadDistanceSim

Return:     SIGNED INT
Vars:     SIGNED INT iTimeout     BYTE Reg    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

Ev_Renamed

Return:     UNSIGNED LONG
Vars:     STRING Name    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

ReadDistance

Return:     SIGNED INT
Vars:     SIGNED INT iTimeout     BYTE Reg    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

ReadRegister

Return:     BYTE
Params:     BYTE Address    
Vars:     BYTE buff    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

EncodeTimeout

Return:     UNSIGNED INT
Params:     UNSIGNED INT Timeout_Mclks    
Vars:     UNSIGNED LONG ls_byte     UNSIGNED INT ms_byte    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

CalcMacroPeriod

Return:     UNSIGNED LONG
Params:     UNSIGNED LONG vcsel_period_pclks    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

WriteRegister

Return:     VOID
Params:     BYTE Address     BYTE Data    
Vars:     BYTE buff    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

WriteRegister16

Return:     VOID
Params:     BYTE Address     UNSIGNED INT Data    
Vars:     BYTE buff    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

SetMeasurementTimingBudget

Return:     BOOL
Params:     UNSIGNED LONG budget_us    
Vars:     UNSIGNED LONG used_budget_us     UNSIGNED LONG final_range_timeout_us     UNSIGNED INT final_range_timeout_mclks     BYTE enables     UNSIGNED INT tout    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

Initialise

Return:     BOOL
Vars:     BYTE Reg     BYTE ref_spad_map     BYTE ucFirstSPAD     BYTE ucSPADsEnabled     BYTE i    

Your browser does not support the HTML5 canvas tag.

InitialiseSim    /    Ev_Timer    /    ChangeI2CAddress    /    WriteMulti    /    GetSequenceStepTimeouts    /    Ev_Initialise    /    WriteRegList    /    ReadMulti    /    TimeoutMicrosecondsToMclks    /    GetSpadInfo    /    ReadModel    /    SetVcselPulsePeriod    /    ReadRegister16    /    Ev_Property    /    GetMeasurementTimingBudget    /    ReadRevision    /    DecodeTimeout    /    PerformSingleRefCalibration    /    ReadDistanceSim    /    Ev_Renamed    /    ReadDistance    /    ReadRegister    /    EncodeTimeout    /    CalcMacroPeriod    /    Main    /    WriteRegister    /    WriteRegister16    /    SetMeasurementTimingBudget    /    Initialise    /    TimeoutMclksToMicroseconds

TimeoutMclksToMicroseconds

Return:     UNSIGNED LONG
Params:     UNSIGNED INT timeout_period     BYTE vcsel_period    
Vars:     UNSIGNED LONG macro_period_ns    

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