This commit is contained in:
@ -5,13 +5,12 @@
|
||||
#include "OBSWConfig.h"
|
||||
|
||||
SyrlinksHkHandler::SyrlinksHkHandler(object_id_t objectId, object_id_t comIF, CookieIF* comCookie,
|
||||
power::Switch_t powerSwitch, Gpio fault)
|
||||
power::Switch_t powerSwitch)
|
||||
: DeviceHandlerBase(objectId, comIF, comCookie),
|
||||
rxDataset(this),
|
||||
txDataset(this),
|
||||
temperatureSet(this),
|
||||
powerSwitch(powerSwitch),
|
||||
fault(fault){
|
||||
powerSwitch(powerSwitch) {
|
||||
if (comCookie == NULL) {
|
||||
sif::warning << "SyrlinksHkHandler: Invalid com cookie" << std::endl;
|
||||
}
|
||||
@ -20,18 +19,19 @@ SyrlinksHkHandler::SyrlinksHkHandler(object_id_t objectId, object_id_t comIF, Co
|
||||
SyrlinksHkHandler::~SyrlinksHkHandler() {}
|
||||
|
||||
void SyrlinksHkHandler::doStartUp() {
|
||||
switch (startupState) {
|
||||
case StartupState::OFF: {
|
||||
startupState = StartupState::ENABLE_TEMPERATURE_PROTECTION;
|
||||
break;
|
||||
}
|
||||
case StartupState::DONE: {
|
||||
setMode(_MODE_TO_ON);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// switch (startupState) {
|
||||
// case StartupState::OFF: {
|
||||
// startupState = StartupState::ENABLE_TEMPERATURE_PROTECTION;
|
||||
// break;
|
||||
// }
|
||||
// case StartupState::DONE: {
|
||||
// setMode(_MODE_TO_ON);
|
||||
// break;
|
||||
// }
|
||||
// default:
|
||||
// break;
|
||||
// }
|
||||
setMode(_MODE_TO_ON);
|
||||
}
|
||||
|
||||
void SyrlinksHkHandler::doShutDown() { setMode(_MODE_POWER_DOWN); }
|
||||
@ -202,6 +202,27 @@ ReturnValue_t SyrlinksHkHandler::buildCommandFromCommand(DeviceCommandId_t devic
|
||||
rememberCommandId = syrlinks::TEMP_BASEBAND_BOARD_LOW_BYTE;
|
||||
rawPacket = commandBuffer;
|
||||
return RETURN_OK;
|
||||
case (syrlinks::SET_WAVEFORM_OQPSK):
|
||||
setWaveformOQPSK.copy(reinterpret_cast<char*>(commandBuffer),
|
||||
setWaveformOQPSK.size(), 0);
|
||||
rawPacketLen = setWaveformOQPSK.size();
|
||||
rememberCommandId = syrlinks::SET_WAVEFORM_OQPSK;
|
||||
rawPacket = commandBuffer;
|
||||
return RETURN_OK;
|
||||
case (syrlinks::SET_WAVEFORM_BPSK):
|
||||
setWaveformBPSK.copy(reinterpret_cast<char*>(commandBuffer),
|
||||
setWaveformBPSK.size(), 0);
|
||||
rawPacketLen = setWaveformBPSK.size();
|
||||
rememberCommandId = syrlinks::SET_WAVEFORM_BPSK;
|
||||
rawPacket = commandBuffer;
|
||||
return RETURN_OK;
|
||||
case (syrlinks::SET_SECOND_CONFIG):
|
||||
setSecondConfiguration.copy(reinterpret_cast<char*>(commandBuffer),
|
||||
setSecondConfiguration.size(), 0);
|
||||
rawPacketLen = setSecondConfiguration.size();
|
||||
rememberCommandId = syrlinks::SET_SECOND_CONFIG;
|
||||
rawPacket = commandBuffer;
|
||||
return RETURN_OK;
|
||||
default:
|
||||
return DeviceHandlerIF::COMMAND_NOT_IMPLEMENTED;
|
||||
}
|
||||
@ -219,6 +240,12 @@ void SyrlinksHkHandler::fillCommandAndReplyMap() {
|
||||
true, syrlinks::ACK_REPLY);
|
||||
this->insertInCommandAndReplyMap(syrlinks::WRITE_LCL_CONFIG, 1, nullptr, syrlinks::ACK_SIZE,
|
||||
false, true, syrlinks::ACK_REPLY);
|
||||
this->insertInCommandAndReplyMap(syrlinks::SET_WAVEFORM_OQPSK, 1, nullptr, syrlinks::ACK_SIZE,
|
||||
false, true, syrlinks::ACK_REPLY);
|
||||
this->insertInCommandAndReplyMap(syrlinks::SET_WAVEFORM_BPSK, 1, nullptr, syrlinks::ACK_SIZE,
|
||||
false, true, syrlinks::ACK_REPLY);
|
||||
this->insertInCommandAndReplyMap(syrlinks::SET_SECOND_CONFIG, 1, nullptr, syrlinks::ACK_SIZE,
|
||||
false, true, syrlinks::ACK_REPLY);
|
||||
this->insertInCommandAndReplyMap(syrlinks::READ_LCL_CONFIG, 1, nullptr,
|
||||
syrlinks::READ_ONE_REGISTER_REPLY_SIE);
|
||||
this->insertInCommandAndReplyMap(syrlinks::READ_TX_STATUS, 1, &txDataset,
|
||||
@ -622,7 +649,7 @@ void SyrlinksHkHandler::parseAgcHighByte(const uint8_t* packet) {
|
||||
|
||||
void SyrlinksHkHandler::setNormalDatapoolEntriesInvalid() {}
|
||||
|
||||
uint32_t SyrlinksHkHandler::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 500; }
|
||||
uint32_t SyrlinksHkHandler::getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) { return 5000; }
|
||||
|
||||
ReturnValue_t SyrlinksHkHandler::initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
|
||||
LocalDataPoolManager& poolManager) {
|
||||
@ -638,6 +665,8 @@ ReturnValue_t SyrlinksHkHandler::initializeLocalDataPool(localpool::DataPool& lo
|
||||
localDataPoolMap.emplace(syrlinks::TX_STATUS, new PoolEntry<uint8_t>({0}));
|
||||
localDataPoolMap.emplace(syrlinks::TX_WAVEFORM, new PoolEntry<uint8_t>({0}));
|
||||
localDataPoolMap.emplace(syrlinks::TX_AGC_VALUE, new PoolEntry<uint16_t>({0}));
|
||||
localDataPoolMap.emplace(syrlinks::TEMP_BASEBAND_BOARD, new PoolEntry<uint16_t>({0}));
|
||||
localDataPoolMap.emplace(syrlinks::TEMP_POWER_AMPLIFIER, new PoolEntry<uint16_t>({0}));
|
||||
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
||||
|
Reference in New Issue
Block a user