Fixed debug flags

This commit is contained in:
Pawel Spychalski (DzikuVx)
2017-10-20 23:06:14 +02:00
parent 810abc14eb
commit d790d087fe
3 changed files with 41 additions and 25 deletions

View File

@@ -13,19 +13,20 @@ FIXME
* RX canTransmit is always false. For unknown reason first received frame does not enables it * RX canTransmit is always false. For unknown reason first received frame does not enables it
*/ */
#include <LoRa.h>
#include "variables.h"
#include "qsp.h"
#define DEBUG_SERIAL
#define DEBUG_LED
#define WAIT_FOR_SERIAL
// #define LORA_HARDWARE_SERIAL // #define LORA_HARDWARE_SERIAL
#define LORA_HARDWARE_SPI #define LORA_HARDWARE_SPI
#define DEVICE_MODE_TX // #define DEVICE_MODE_TX
// #define DEVICE_MODE_RX #define DEVICE_MODE_RX
#define DEBUG_SERIAL
#define DEBUG_LED
// #define WAIT_FOR_SERIAL
#include <LoRa.h>
#include "variables.h"
#include "qsp.h"
// LoRa32u4 ports // LoRa32u4 ports
#define SS 8 #define SS 8
@@ -231,9 +232,20 @@ void setup(void)
pinMode(LED_BUILTIN, OUTPUT); pinMode(LED_BUILTIN, OUTPUT);
// #ifdef DEVICE_MODE_TX /*
* TX should start talking imediately after power up
*/
#ifdef DEVICE_MODE_TX
qsp.canTransmit = true; qsp.canTransmit = true;
// #endif #endif
#ifdef DEBUG_SERIAL
qsp.debugConfig |= DEBUG_FLAG_SERIAL;
#endif
#ifdef DEBUG_LED
qsp.debugConfig |= DEBUG_FLAG_LED;
#endif
} }
#ifdef DEVICE_MODE_RX #ifdef DEVICE_MODE_RX

24
qsp.cpp
View File

@@ -201,10 +201,8 @@ void qspDecodeIncomingFrame(QspConfiguration_t *qsp, uint8_t incomingByte, int p
if (qsp->crc == incomingByte) { if (qsp->crc == incomingByte) {
//CRC is correct //CRC is correct
#ifdef DEVICE_MODE_RX
//If devide received a valid frame, that means it can start to talk //If devide received a valid frame, that means it can start to talk
qsp->canTransmit = true; qsp->canTransmit = true;
#endif
//Store the last timestamp when frame was received //Store the last timestamp when frame was received
if (frameId < QSP_FRAME_COUNT) { if (frameId < QSP_FRAME_COUNT) {
@@ -213,18 +211,18 @@ void qspDecodeIncomingFrame(QspConfiguration_t *qsp, uint8_t incomingByte, int p
qsp->lastReceivedPacketId = packetId; qsp->lastReceivedPacketId = packetId;
#ifdef DEBUG_SERIAL if (qsp->debugConfig & DEBUG_FLAG_SERIAL) {
Serial.print("Frame "); Serial.print("Frame ");
Serial.print(frameId); Serial.print(frameId);
Serial.println(" received"); Serial.println(" received");
#endif }
#ifdef DEBUG_LED if (qsp->debugConfig & DEBUG_FLAG_LED) {
digitalWrite(LED_BUILTIN, HIGH); digitalWrite(LED_BUILTIN, HIGH);
delay(10); delay(10);
digitalWrite(LED_BUILTIN, LOW); digitalWrite(LED_BUILTIN, LOW);
delay(100); delay(100);
#endif }
switch (frameId) { switch (frameId) {
case QSP_FRAME_RC_DATA: case QSP_FRAME_RC_DATA:

View File

@@ -36,6 +36,11 @@ enum deviceStates {
DEVICE_STATE_FAILSAFE DEVICE_STATE_FAILSAFE
}; };
enum debugConfigFlags {
DEBUG_FLAG_SERIAL = 0b00000001,
DEBUG_FLAG_LED = 0b00000010
};
#define PPM_INPUT_PIN 2 #define PPM_INPUT_PIN 2
#define PPM_INPUT_INTERRUPT 1 //For Pro Micro 1, For Pro Mini 0 #define PPM_INPUT_INTERRUPT 1 //For Pro Micro 1, For Pro Mini 0
@@ -56,6 +61,7 @@ struct QspConfiguration_t {
void (* hardwareWriteFunction)(uint8_t, QspConfiguration_t*); void (* hardwareWriteFunction)(uint8_t, QspConfiguration_t*);
uint8_t lastReceivedPacketId = 0; uint8_t lastReceivedPacketId = 0;
bool canTransmit = false; bool canTransmit = false;
uint8_t debugConfig = 0;
}; };
struct RxDeviceState_t { struct RxDeviceState_t {