another small refactoring

This commit is contained in:
Pawel Spychalski (DzikuVx)
2017-10-07 19:06:07 +02:00
parent 022f186175
commit 01836b8657
3 changed files with 22 additions and 22 deletions

View File

@@ -231,7 +231,7 @@ void loop(void)
/* /*
* RC_DATA QSP frame * RC_DATA QSP frame
*/ */
if (currentMillis - lastRcFrameTransmit > TX_RC_FRAME_RATE && !transmitPayload && qsp.protocolState == IDLE) if (currentMillis - lastRcFrameTransmit > TX_RC_FRAME_RATE && !transmitPayload && qsp.protocolState == QSP_STATE_IDLE)
{ {
lastRcFrameTransmit = currentMillis; lastRcFrameTransmit = currentMillis;

26
qsp.cpp
View File

@@ -128,18 +128,18 @@ void qspDecodeIncomingFrame(QspConfiguration_t *qsp, uint8_t incomingByte, int p
static uint8_t receivedPayload; static uint8_t receivedPayload;
static uint8_t packetId; //TODO move this to global scope maybe? static uint8_t packetId; //TODO move this to global scope maybe?
if (qsp->protocolState == IDLE && incomingByte == QSP_PREAMBLE) if (qsp->protocolState == QSP_STATE_IDLE && incomingByte == QSP_PREAMBLE)
{ {
//If in IDLE and correct preamble comes, start to decode frame //If in IDLE and correct preamble comes, start to decode frame
qsp->protocolState = PREAMBLE_RECEIVED; qsp->protocolState = QSP_STATE_PREAMBLE_RECEIVED;
qsp->crc = 0 ^ incomingByte; qsp->crc = 0 ^ incomingByte;
} }
else if (qsp->protocolState == PREAMBLE_RECEIVED) else if (qsp->protocolState == QSP_STATE_PREAMBLE_RECEIVED)
{ {
// Check if incomming channel ID is the same as receiver // Check if incomming channel ID is the same as receiver
if (incomingByte == CHANNEL_ID) if (incomingByte == CHANNEL_ID)
{ {
qsp->protocolState = CHANNEL_RECEIVED; qsp->protocolState = QSP_STATE_CHANNEL_RECEIVED;
qsp->crc ^= incomingByte; qsp->crc ^= incomingByte;
qspClearPayload(qsp); qspClearPayload(qsp);
@@ -149,10 +149,10 @@ void qspDecodeIncomingFrame(QspConfiguration_t *qsp, uint8_t incomingByte, int p
} }
else else
{ {
qsp->protocolState = IDLE; qsp->protocolState = QSP_STATE_IDLE;
} }
} }
else if (qsp->protocolState == CHANNEL_RECEIVED) else if (qsp->protocolState == QSP_STATE_CHANNEL_RECEIVED)
{ {
//Frame ID and payload length //Frame ID and payload length
qsp->crc ^= incomingByte; qsp->crc ^= incomingByte;
@@ -160,15 +160,15 @@ void qspDecodeIncomingFrame(QspConfiguration_t *qsp, uint8_t incomingByte, int p
frameId = (incomingByte >> 4) & 0x0f; frameId = (incomingByte >> 4) & 0x0f;
payloadLength = incomingByte & 0x0f; payloadLength = incomingByte & 0x0f;
qsp->protocolState = FRAME_TYPE_RECEIVED; qsp->protocolState = QSP_STATE_FRAME_TYPE_RECEIVED;
} }
else if (qsp->protocolState == FRAME_TYPE_RECEIVED) else if (qsp->protocolState == QSP_STATE_FRAME_TYPE_RECEIVED)
{ {
qsp->crc ^= incomingByte; qsp->crc ^= incomingByte;
packetId = incomingByte; packetId = incomingByte;
qsp->protocolState = PACKET_ID_RECEIVED; qsp->protocolState = QSP_STATE_PACKET_ID_RECEIVED;
} }
else if (qsp->protocolState == PACKET_ID_RECEIVED) else if (qsp->protocolState == QSP_STATE_PACKET_ID_RECEIVED)
{ {
//Now it's time for payload //Now it's time for payload
@@ -179,11 +179,11 @@ void qspDecodeIncomingFrame(QspConfiguration_t *qsp, uint8_t incomingByte, int p
if (receivedPayload == payloadLength) if (receivedPayload == payloadLength)
{ {
qsp->protocolState = PAYLOAD_RECEIVED; qsp->protocolState = QSP_STATE_PAYLOAD_RECEIVED;
qsp->payloadLength = payloadLength; qsp->payloadLength = payloadLength;
} }
} }
else if (qsp->protocolState == PAYLOAD_RECEIVED) else if (qsp->protocolState == QSP_STATE_PAYLOAD_RECEIVED)
{ {
if (qsp->crc == incomingByte) { if (qsp->crc == incomingByte) {
@@ -213,7 +213,7 @@ void qspDecodeIncomingFrame(QspConfiguration_t *qsp, uint8_t incomingByte, int p
} }
// In both cases switch to listening for next preamble // In both cases switch to listening for next preamble
qsp->protocolState = IDLE; qsp->protocolState = QSP_STATE_IDLE;
} }
} }

View File

@@ -18,13 +18,13 @@
#define PIN_LED 13 #define PIN_LED 13
enum dataStates { enum dataStates {
IDLE, QSP_STATE_IDLE,
PREAMBLE_RECEIVED, QSP_STATE_PREAMBLE_RECEIVED,
CHANNEL_RECEIVED, QSP_STATE_CHANNEL_RECEIVED,
FRAME_TYPE_RECEIVED, QSP_STATE_FRAME_TYPE_RECEIVED,
PACKET_ID_RECEIVED, QSP_STATE_PACKET_ID_RECEIVED,
PAYLOAD_RECEIVED, QSP_STATE_PAYLOAD_RECEIVED,
CRC_RECEIVED QSP_STATE_CRC_RECEIVED
}; };
#define PPM_INPUT_PIN 2 #define PPM_INPUT_PIN 2
@@ -37,7 +37,7 @@ enum dataStates {
#define PPM_OUTPUT_PIN 10 //set PPM signal output pin on the arduino #define PPM_OUTPUT_PIN 10 //set PPM signal output pin on the arduino
struct QspConfiguration_t { struct QspConfiguration_t {
uint8_t protocolState = IDLE; uint8_t protocolState = QSP_STATE_IDLE;
uint8_t crc = 0; uint8_t crc = 0;
uint8_t payload[QSP_PAYLOAD_LENGTH] = {0}; uint8_t payload[QSP_PAYLOAD_LENGTH] = {0};
uint8_t payloadLength = 0; uint8_t payloadLength = 0;