syrlinks handler wip
This commit is contained in:
@ -1,5 +1,4 @@
|
||||
#include <mission/devices/SyrlinksHkHandler.h>
|
||||
#include <mission/devices/devicedefinitions/Tmp1075Definitions.h>
|
||||
#include <fsfwconfig/OBSWConfig.h>
|
||||
|
||||
SyrlinksHkHandler::SyrlinksHkHandler(object_id_t objectId, object_id_t comIF,
|
||||
@ -27,18 +26,8 @@ void SyrlinksHkHandler::doShutDown(){
|
||||
|
||||
ReturnValue_t SyrlinksHkHandler::buildNormalDeviceCommand(
|
||||
DeviceCommandId_t * id) {
|
||||
|
||||
if(communicationStep == CommunicationStep::START_ADC_CONVERSION) {
|
||||
*id = TMP1075::START_ADC_CONVERSION;
|
||||
communicationStep = CommunicationStep::GET_TEMPERATURE;
|
||||
return buildCommandFromCommand(*id, NULL, 0);
|
||||
}
|
||||
else {
|
||||
*id = TMP1075::GET_TEMP;
|
||||
communicationStep = CommunicationStep::START_ADC_CONVERSION;
|
||||
return buildCommandFromCommand(*id, NULL, 0);
|
||||
}
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
*id = READ_RX_STATUS_REGISTERS;
|
||||
return buildCommandFromCommand(*id, NULL, 0);
|
||||
}
|
||||
|
||||
ReturnValue_t SyrlinksHkHandler::buildTransitionDeviceCommand(
|
||||
@ -50,19 +39,29 @@ ReturnValue_t SyrlinksHkHandler::buildCommandFromCommand(
|
||||
DeviceCommandId_t deviceCommand, const uint8_t * commandData,
|
||||
size_t commandDataLen) {
|
||||
switch(deviceCommand) {
|
||||
case(TMP1075::START_ADC_CONVERSION): {
|
||||
std::memset(cmdBuffer, 0, sizeof(cmdBuffer));
|
||||
prepareAdcConversionCommand();
|
||||
rawPacket = cmdBuffer;
|
||||
rawPacketLen = TMP1075::CFGR_CMD_SIZE;
|
||||
case(RESET_UNIT): {
|
||||
resetCommand.copy(rawPacket, resetCommand.size(), 0);
|
||||
rawPacketLen = resetCommand.size();
|
||||
return RETURN_OK;
|
||||
}
|
||||
case(TMP1075::GET_TEMP): {
|
||||
std::memset(cmdBuffer, 0, sizeof(cmdBuffer));
|
||||
prepareGetTempCommand();
|
||||
rawPacket = cmdBuffer;
|
||||
rawPacketLen = TMP1075::POINTER_REG_SIZE;
|
||||
rememberCommandId = TMP1075::GET_TEMP;
|
||||
case(SET_TX_MODE_STANDBY): {
|
||||
setTxModeStandby.copy(rawPacket, setTxModeStandby.size(), 0);
|
||||
rawPacketLen = setTxModeStandby.size();
|
||||
return RETURN_OK;
|
||||
}
|
||||
case(SET_TX_MODE_MODULATION): {
|
||||
setTxModeModulation.copy(rawPacket, setTxModeModulation.size(), 0);
|
||||
rawPacketLen = setTxModeModulation.size();
|
||||
return RETURN_OK;
|
||||
}
|
||||
case(SET_TX_MODE_CW): {
|
||||
setTxModeCw.copy(rawPacket, setTxModeCw.size(), 0);
|
||||
rawPacketLen = setTxModeCw.size();
|
||||
return RETURN_OK;
|
||||
}
|
||||
case(READ_RX_STATUS_REGISTERS): {
|
||||
readRxStatusRegCommand.copy(rawPacket, readRxStatusRegCommand.size(), 0);
|
||||
rawPacketLen = readRxStatusRegCommand.size();
|
||||
return RETURN_OK;
|
||||
}
|
||||
default:
|
||||
@ -72,8 +71,11 @@ ReturnValue_t SyrlinksHkHandler::buildCommandFromCommand(
|
||||
}
|
||||
|
||||
void SyrlinksHkHandler::fillCommandAndReplyMap(){
|
||||
this->insertInCommandMap(TMP1075::START_ADC_CONVERSION);
|
||||
this->insertInCommandAndReplyMap(TMP1075::GET_TEMP, 1, &dataset,
|
||||
this->insertInCommandAndReplyMap(RESET_UNIT);
|
||||
this->insertInCommandAndReplyMap(SET_TX_MODE_STANDBY);
|
||||
this->insertInCommandAndReplyMap(SET_TX_MODE_MODULATION);
|
||||
this->insertInCommandAndReplyMap(SET_TX_MODE_CW);
|
||||
this->insertInCommandAndReplyMap(READ_RX_STATUS_REGISTERS, 1, &rxStatusRegiserSet,
|
||||
TMP1075::GET_TEMP_REPLY_SIZE);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user