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 thermalStatePoolId, uint32_t thermalRequestPoolId,
uint32_t parent, FailureIsolationBase* customFdir, uint32_t cmdQueueSize) :
DeviceHandlerBase(ioBoardAddress, setObjectId, maxDeviceReplyLen,
setDeviceSwitch, deviceCommunication, thermalStatePoolId,
DeviceHandlerBase(setObjectId, maxDeviceReplyLen,
setDeviceSwitch, deviceCommunication,ioBoardAddress, thermalStatePoolId,
thermalRequestPoolId, (customFdir == NULL? &childHandlerFdir : customFdir), cmdQueueSize), parentId(
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::defaultFDIRParentId = 0;
DeviceHandlerBase::DeviceHandlerBase(uint32_t ioBoardAddress,
object_id_t setObjectId, uint32_t maxDeviceReplyLen,
uint8_t setDeviceSwitch, object_id_t deviceCommunication,
uint32_t thermalStatePoolId, uint32_t thermalRequestPoolId,
FailureIsolationBase* fdirInstance, uint32_t cmdQueueSize) :
DeviceHandlerBase::DeviceHandlerBase(object_id_t setObjectId,
uint32_t maxDeviceReplyLen, uint8_t setDeviceSwitch,
object_id_t deviceCommunication, uint32_t ioBoardAddress, uint32_t thermalStatePoolId,
uint32_t thermalRequestPoolId, FailureIsolationBase* fdirInstance, uint32_t cmdQueueSize) :
SystemObject(setObjectId),ioBoardAddress(ioBoardAddress), rawPacket(0), rawPacketLen(0), mode(MODE_OFF),
submode(SUBMODE_NONE), pstStep(0), maxDeviceReplyLen(maxDeviceReplyLen),
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 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,
object_id_t deviceCommunication, uint32_t thermalStatePoolId =
PoolVariableIF::NO_PARAMETER,
object_id_t deviceCommunication,uint32_t ioBoardAddress = 0,
uint32_t thermalStatePoolId = PoolVariableIF::NO_PARAMETER,
uint32_t thermalRequestPoolId = PoolVariableIF::NO_PARAMETER,
FailureIsolationBase* fdirInstance = NULL, uint32_t cmdQueueSize = 20);
@ -111,6 +111,21 @@ public:
*/
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();
/**