- The following loop could be replaced of any repeating call of IsoAgLib::getISchedulerInstance().timeEvent(); which is needed to perform all internal activities of the IsoAgLib.
- Define the time intervall for IsoAgLib::getISchedulerInstance().timeEvent() in a way, that allows IsoAgLib to trigger all reactions on BUS in the ISO 11783 defined time resolution - especially the address claim process has some tight time restrictions, that suggest a trigger rate of at least 100msec ( you could call the function only during address claim, mask updload and other special circumstances in a high repetition rate )
- The main loop is running until iSystem_c::canEn() is returning false. This function can be configured by the #define BUFFER_SHORT_CAN_EN_LOSS_MSEC in isoaglib_config.h to ignore short CAN_EN loss.
- This explicit control of power state without automatic powerdown on CanEn loss can be controled with the central config define #define DEFAULT_POWERDOWN_STRATEGY IsoAgLib::PowerdownByExplcitCall or #define DEFAULT_POWERDOWN_STRATEGY IsoAgLib::PowerdownOnCanEnLoss in the header lgpl_src/Application_Config/isoaglib_config.h
- This can be also controlled during runtime with the function call: getIsystemInstance().setPowerdownStrategy( IsoAgLib::PowerdownByExplcitCall ) or getIsystemInstance().setPowerdownStrategy( IsoAgLib::PowerdownOnCanEnLoss )
Definition at line 281 of file 2_8_RemoteReadDataSimpleMeasureIso.cc.
References arr_procData, c_myMeasurementHandler, IsoAgLib::getIcanInstance(), IsoAgLib::getISchedulerInstance(), IsoAgLib::getISystemMgmtInstance(), IsoAgLib::iSystem_c::getTime(), handleRemoteApplicationRate(), handleRemoteWorkState(), IsoAgLib::iProcDataRemoteSimpleSetpoint_c::init(), int32_t, IsoAgLib::iProcDataRemoteSimpleMeasure_c::masterVal(), IsoAgLib::iProcDataRemoteSimpleSetpoint_c::masterVal(), uint16_t, uint32_t, and uint8_t.
Here is the call graph for this function: