COM error event
This commit is contained in:
@ -880,13 +880,20 @@ ReturnValue_t StarTrackerHandler::scanForReply(const uint8_t* start, size_t rema
|
||||
*foundLen = remainingSize;
|
||||
return returnvalue::OK;
|
||||
}
|
||||
if (remainingSize < 3) {
|
||||
sif::error << "StarTrackerHandler: Reply packet with length less than 3 is invalid"
|
||||
if (remainingSize < 2) {
|
||||
sif::error << "StarTrackerHandler: Reply packet with length " << remainingSize
|
||||
<< " less than "
|
||||
"2 is invalid"
|
||||
<< std::endl;
|
||||
return returnvalue::FAILED;
|
||||
}
|
||||
|
||||
switch (startracker::getReplyFrameType(start)) {
|
||||
case TMTC_COMM_ERROR: {
|
||||
*foundLen = remainingSize;
|
||||
triggerEvent(COM_ERROR_REPLY_RECEIVED, start[1]);
|
||||
break;
|
||||
}
|
||||
case TMTC_ACTIONREPLY: {
|
||||
*foundLen = remainingSize;
|
||||
return scanForActionReply(startracker::getId(start), foundId);
|
||||
|
@ -144,6 +144,8 @@ class StarTrackerHandler : public DeviceHandlerBase {
|
||||
static const Event BOOTING_FIRMWARE_FAILED_EVENT = MAKE_EVENT(1, severity::LOW);
|
||||
//! [EXPORT] : [COMMENT] Failed to boot star tracker into bootloader mode
|
||||
static const Event BOOTING_BOOTLOADER_FAILED_EVENT = MAKE_EVENT(2, severity::LOW);
|
||||
//! [EXPORT] : [COMMENT] Received COM error. P1: Communication Error ID (datasheet p32)
|
||||
static constexpr Event COM_ERROR_REPLY_RECEIVED = MAKE_EVENT(3, severity::LOW);
|
||||
|
||||
static const uint8_t STATUS_OFFSET = 2;
|
||||
static const uint8_t PARAMS_OFFSET = 2;
|
||||
|
@ -443,6 +443,21 @@ static const uint32_t secret[16]{
|
||||
REGION_12_SECRET, REGION_13_SECRET, REGION_14_SECRET, REGION_15_SECRET};
|
||||
} // namespace region_secrets
|
||||
|
||||
namespace comError {
|
||||
enum Id {
|
||||
BAD_CRC = 1,
|
||||
UNKNOWN_TM_ID = 2,
|
||||
UNKNOWN_PARAM_ID = 3,
|
||||
UNKNOWN_ACTION_REQ = 4,
|
||||
INVALID_TM_SIZE = 5,
|
||||
INVALID_PARAM_SIZE = 6,
|
||||
INVALID_ACTION_REQ_SIZE = 7,
|
||||
FRAME_TOO_SHORT = 8,
|
||||
INVALID_FRAME_TYPE = 9,
|
||||
UNKNOWN_ERROR = 10
|
||||
};
|
||||
}
|
||||
|
||||
enum class FlashSections : uint8_t {
|
||||
BOOTLOADER_SECTION = 0,
|
||||
MAIN_FIRMWARE_SECTION = 1,
|
||||
|
@ -957,6 +957,5 @@ ReturnValue_t AutoThreshold::createCommand(uint8_t* buffer) {
|
||||
return result;
|
||||
}
|
||||
addfloat(param, buffer + offset);
|
||||
offset += 4;
|
||||
return returnvalue::OK;
|
||||
}
|
||||
|
Reference in New Issue
Block a user