some reaction wheel fixes
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good
This commit is contained in:
parent
d287aa80c1
commit
77f6ac57e9
@ -133,8 +133,15 @@ ReturnValue_t spiCallback(SpiComIF* comIf, SpiCookie *cookie, const uint8_t *sen
|
|||||||
closeSpi(gpioId, gpioIF, mutex);
|
closeSpi(gpioId, gpioIF, mutex);
|
||||||
return RwHandler::SPI_READ_FAILURE;
|
return RwHandler::SPI_READ_FAILURE;
|
||||||
}
|
}
|
||||||
|
if(idx == 0) {
|
||||||
|
if(byteRead != FLAG_BYTE) {
|
||||||
|
sif::error << "Invalid data, expected start marker" << std::endl;
|
||||||
|
closeSpi(gpioId, gpioIF, mutex);
|
||||||
|
return RwHandler::NO_START_MARKER;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (byteRead != 0x7E) {
|
if (byteRead != FLAG_BYTE) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,6 +152,10 @@ ReturnValue_t spiCallback(SpiComIF* comIf, SpiCookie *cookie, const uint8_t *sen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if FSFW_HAL_SPI_WIRETAPPING == 1
|
||||||
|
sif::info << "RW start marker detected" << std::endl;
|
||||||
|
#endif
|
||||||
|
|
||||||
size_t decodedFrameLen = 0;
|
size_t decodedFrameLen = 0;
|
||||||
while(decodedFrameLen < replyBufferSize) {
|
while(decodedFrameLen < replyBufferSize) {
|
||||||
|
|
||||||
@ -158,7 +169,7 @@ ReturnValue_t spiCallback(SpiComIF* comIf, SpiCookie *cookie, const uint8_t *sen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (byteRead == 0x7E) {
|
if (byteRead == FLAG_BYTE) {
|
||||||
/** Reached end of frame */
|
/** Reached end of frame */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,9 @@
|
|||||||
|
|
||||||
namespace rwSpiCallback {
|
namespace rwSpiCallback {
|
||||||
|
|
||||||
|
//! This is the end and start marker of the frame datalinklayer
|
||||||
|
static constexpr uint8_t FLAG_BYTE = 0x7E;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This is the callback function to send commands to the nano avionics reaction wheels and
|
* @brief This is the callback function to send commands to the nano avionics reaction wheels and
|
||||||
* receive the replies.
|
* receive the replies.
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
ServiceInterfaceStream sif::debug("DEBUG");
|
ServiceInterfaceStream sif::debug("DEBUG");
|
||||||
ServiceInterfaceStream sif::info("INFO");
|
ServiceInterfaceStream sif::info("INFO");
|
||||||
ServiceInterfaceStream sif::warning("WARNING");
|
ServiceInterfaceStream sif::warning("WARNING");
|
||||||
ServiceInterfaceStream sif::error("ERROR", false, false, true);
|
ServiceInterfaceStream sif::error("ERROR");
|
||||||
#else
|
#else
|
||||||
ServiceInterfaceStream sif::debug("DEBUG", true);
|
ServiceInterfaceStream sif::debug("DEBUG", true);
|
||||||
ServiceInterfaceStream sif::info("INFO", true);
|
ServiceInterfaceStream sif::info("INFO", true);
|
||||||
|
@ -46,6 +46,8 @@ public:
|
|||||||
static const ReturnValue_t MISSING_END_SIGN = MAKE_RETURN_CODE(0xB4);
|
static const ReturnValue_t MISSING_END_SIGN = MAKE_RETURN_CODE(0xB4);
|
||||||
//! [EXPORT] : [COMMENT] Reaction wheel only responds with empty frames.
|
//! [EXPORT] : [COMMENT] Reaction wheel only responds with empty frames.
|
||||||
static const ReturnValue_t NO_REPLY = MAKE_RETURN_CODE(0xB5);
|
static const ReturnValue_t NO_REPLY = MAKE_RETURN_CODE(0xB5);
|
||||||
|
//! [EXPORT] : [COMMENT] Expected a start marker as first byte
|
||||||
|
static const ReturnValue_t NO_START_MARKER = MAKE_RETURN_CODE(0xB6);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void doStartUp() override;
|
void doStartUp() override;
|
||||||
|
Loading…
Reference in New Issue
Block a user