documentation for DHB init function, ioBoard addres has default value 0 now, order in ctor changed (not used in source)

This commit is contained in:
Robin Müller 2019-10-22 17:15:29 +02:00
parent cbc8012198
commit c6e34cada6
3 changed files with 24 additions and 10 deletions

View File

@ -7,8 +7,8 @@ ChildHandlerBase::ChildHandlerBase(uint32_t ioBoardAddress,
uint32_t maxDeviceReplyLen, uint8_t setDeviceSwitch, uint32_t maxDeviceReplyLen, uint8_t setDeviceSwitch,
uint32_t thermalStatePoolId, uint32_t thermalRequestPoolId, uint32_t thermalStatePoolId, uint32_t thermalRequestPoolId,
uint32_t parent, FailureIsolationBase* customFdir, uint32_t cmdQueueSize) : uint32_t parent, FailureIsolationBase* customFdir, uint32_t cmdQueueSize) :
DeviceHandlerBase(ioBoardAddress, setObjectId, maxDeviceReplyLen, DeviceHandlerBase(setObjectId, maxDeviceReplyLen,
setDeviceSwitch, deviceCommunication, thermalStatePoolId, setDeviceSwitch, deviceCommunication,ioBoardAddress, thermalStatePoolId,
thermalRequestPoolId, (customFdir == NULL? &childHandlerFdir : customFdir), cmdQueueSize), parentId( thermalRequestPoolId, (customFdir == NULL? &childHandlerFdir : customFdir), cmdQueueSize), parentId(
parent), childHandlerFdir(setObjectId) { parent), childHandlerFdir(setObjectId) {
} }

View File

@ -16,11 +16,10 @@ object_id_t DeviceHandlerBase::powerSwitcherId = 0;
object_id_t DeviceHandlerBase::rawDataReceiverId = 0; object_id_t DeviceHandlerBase::rawDataReceiverId = 0;
object_id_t DeviceHandlerBase::defaultFDIRParentId = 0; object_id_t DeviceHandlerBase::defaultFDIRParentId = 0;
DeviceHandlerBase::DeviceHandlerBase(uint32_t ioBoardAddress, DeviceHandlerBase::DeviceHandlerBase(object_id_t setObjectId,
object_id_t setObjectId, uint32_t maxDeviceReplyLen, uint32_t maxDeviceReplyLen, uint8_t setDeviceSwitch,
uint8_t setDeviceSwitch, object_id_t deviceCommunication, object_id_t deviceCommunication, uint32_t ioBoardAddress, uint32_t thermalStatePoolId,
uint32_t thermalStatePoolId, uint32_t thermalRequestPoolId, uint32_t thermalRequestPoolId, FailureIsolationBase* fdirInstance, uint32_t cmdQueueSize) :
FailureIsolationBase* fdirInstance, uint32_t cmdQueueSize) :
SystemObject(setObjectId),ioBoardAddress(ioBoardAddress), rawPacket(0), rawPacketLen(0), mode(MODE_OFF), SystemObject(setObjectId),ioBoardAddress(ioBoardAddress), rawPacket(0), rawPacketLen(0), mode(MODE_OFF),
submode(SUBMODE_NONE), pstStep(0), maxDeviceReplyLen(maxDeviceReplyLen), submode(SUBMODE_NONE), pstStep(0), maxDeviceReplyLen(maxDeviceReplyLen),
wiretappingMode(OFF), defaultRawReceiver(0), storedRawData(StorageManagerIF::INVALID_ADDRESS), wiretappingMode(OFF), defaultRawReceiver(0), storedRawData(StorageManagerIF::INVALID_ADDRESS),

View File

@ -71,10 +71,10 @@ public:
* @param maxDeviceReplyLen the length the RMAP getRead call will be sent with * @param maxDeviceReplyLen the length the RMAP getRead call will be sent with
* @param setDeviceSwitch the switch the device is connected to, for devices using two switches, overwrite getSwitches() * @param setDeviceSwitch the switch the device is connected to, for devices using two switches, overwrite getSwitches()
*/ */
DeviceHandlerBase(uint32_t ioBoardAddress, object_id_t setObjectId, DeviceHandlerBase(object_id_t setObjectId,
uint32_t maxDeviceReplyLen, uint8_t setDeviceSwitch, uint32_t maxDeviceReplyLen, uint8_t setDeviceSwitch,
object_id_t deviceCommunication, uint32_t thermalStatePoolId = object_id_t deviceCommunication,uint32_t ioBoardAddress = 0,
PoolVariableIF::NO_PARAMETER, uint32_t thermalStatePoolId = PoolVariableIF::NO_PARAMETER,
uint32_t thermalRequestPoolId = PoolVariableIF::NO_PARAMETER, uint32_t thermalRequestPoolId = PoolVariableIF::NO_PARAMETER,
FailureIsolationBase* fdirInstance = NULL, uint32_t cmdQueueSize = 20); FailureIsolationBase* fdirInstance = NULL, uint32_t cmdQueueSize = 20);
@ -111,6 +111,21 @@ public:
*/ */
virtual ReturnValue_t performOperation(uint8_t counter); virtual ReturnValue_t performOperation(uint8_t counter);
/**
* Prerequisites to call initialize function without custom implementation:
* 1. The three static framework IDs are set to respective objects in the Factory function
* - First ID: Power Switcher ID. Example: PCDU Handler Object
* - Second ID: Raw Data Receiver. Example: PUS Service 2 Object
* - Third ID: Default FDIR parent ID. Example: ?
* 2. Communication Interface Object for respective device.
* Example: UART Communication Interface which calls respective UART drivers
* 3. Health table class has been instantiated in Factory
* 4. deviceThermalRequestPoolId and deviceThermalStatePoolId are set to the respective data pool entries.
* This is only required if thermal checking is needed. Otherwise, set both variables to
* PoolVariableIF::NO_PARAMETER
*
* @return
*/
virtual ReturnValue_t initialize(); virtual ReturnValue_t initialize();
/** /**