It works. More less
This commit is contained in:
42
crossbow.ino
42
crossbow.ino
@@ -1,10 +1,10 @@
|
|||||||
// #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_SERIAL
|
||||||
// #define DEBUG_PING_PONG
|
// #define DEBUG_PING_PONG
|
||||||
// #define DEBUG_LED
|
// #define DEBUG_LED
|
||||||
// #define WAIT_FOR_SERIAL
|
// #define WAIT_FOR_SERIAL
|
||||||
@@ -30,7 +30,7 @@ int ppm[PPM_OUTPUT_CHANNEL_COUNT] = {0};
|
|||||||
#include <PPMReader.h>
|
#include <PPMReader.h>
|
||||||
// #include <Adafruit_SSD1306.h>
|
// #include <Adafruit_SSD1306.h>
|
||||||
|
|
||||||
PPMReader ppmReader(PPM_INPUT_PIN, PPM_INPUT_INTERRUPT);
|
PPMReader ppmReader(PPM_INPUT_PIN, PPM_INPUT_INTERRUPT, true);
|
||||||
// PPMReader ppmReader(11, 2, MODE_PIN_CHANGE_INTERRUPT);
|
// PPMReader ppmReader(11, 2, MODE_PIN_CHANGE_INTERRUPT);
|
||||||
// Adafruit_SSD1306 display(OLED_RESET);
|
// Adafruit_SSD1306 display(OLED_RESET);
|
||||||
|
|
||||||
@@ -157,10 +157,6 @@ void setup(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG_SERIAL
|
|
||||||
Serial.println("Start");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Setup hardware
|
* Setup hardware
|
||||||
*/
|
*/
|
||||||
@@ -169,10 +165,6 @@ void setup(void)
|
|||||||
LORA32U4_RST_PIN,
|
LORA32U4_RST_PIN,
|
||||||
LORA32U4_DI0_PIN
|
LORA32U4_DI0_PIN
|
||||||
);
|
);
|
||||||
|
|
||||||
#ifdef DEBUG_SERIAL
|
|
||||||
Serial.println("Pins Set");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!LoRa.begin(868E6))
|
if (!LoRa.begin(868E6))
|
||||||
{
|
{
|
||||||
@@ -186,14 +178,8 @@ void setup(void)
|
|||||||
LoRa.setSpreadingFactor(7);
|
LoRa.setSpreadingFactor(7);
|
||||||
LoRa.setCodingRate4(5);
|
LoRa.setCodingRate4(5);
|
||||||
|
|
||||||
#ifdef DEBUG_SERIAL
|
|
||||||
Serial.println("Init done");
|
|
||||||
#endif
|
|
||||||
LoRa.onReceive(onReceive);
|
LoRa.onReceive(onReceive);
|
||||||
LoRa.receive();
|
LoRa.receive();
|
||||||
#ifdef DEBUG_SERIAL
|
|
||||||
Serial.println("Receive mode enabled");
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DEVICE_MODE_RX
|
#ifdef DEVICE_MODE_RX
|
||||||
@@ -231,6 +217,12 @@ void setup(void)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef DEVICE_MODE_TX
|
||||||
|
TCCR1A = 0; //reset timer1
|
||||||
|
TCCR1B = 0;
|
||||||
|
TCCR1B |= (1 << CS11); //set timer1 to increment every 0,5 us or 1us on 8MHz
|
||||||
|
#endif
|
||||||
|
|
||||||
pinMode(LED_BUILTIN, OUTPUT);
|
pinMode(LED_BUILTIN, OUTPUT);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -361,14 +353,6 @@ void loop(void)
|
|||||||
qsp.protocolState == QSP_STATE_IDLE
|
qsp.protocolState == QSP_STATE_IDLE
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// int count;
|
|
||||||
// while(ppmReader.get(count) != 0){ //print out the servo values
|
|
||||||
// Serial.print(ppmReader.get(count));
|
|
||||||
// Serial.print(" ");
|
|
||||||
// count++;
|
|
||||||
// }
|
|
||||||
// Serial.println("");
|
|
||||||
|
|
||||||
qsp.lastFrameTransmitedAt[QSP_FRAME_RC_DATA] = currentMillis;
|
qsp.lastFrameTransmitedAt[QSP_FRAME_RC_DATA] = currentMillis;
|
||||||
|
|
||||||
qspClearPayload(&qsp);
|
qspClearPayload(&qsp);
|
||||||
@@ -416,12 +400,6 @@ void loop(void)
|
|||||||
qspEncodeFrame(&qsp);
|
qspEncodeFrame(&qsp);
|
||||||
radioPacketEnd();
|
radioPacketEnd();
|
||||||
|
|
||||||
#ifdef DEBUG_SERIAL
|
|
||||||
Serial.print("Frame ");
|
|
||||||
Serial.print(qsp.frameToSend);
|
|
||||||
Serial.println(" sent");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef DEBUG_LED
|
#ifdef DEBUG_LED
|
||||||
digitalWrite(LED_BUILTIN, HIGH);
|
digitalWrite(LED_BUILTIN, HIGH);
|
||||||
delay(10);
|
delay(10);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#define UART_SPEED 57600
|
#define UART_SPEED 57600
|
||||||
#define E45_TTL_100_UART_DOWNTIME 30
|
#define E45_TTL_100_UART_DOWNTIME 30
|
||||||
|
|
||||||
#define RX_RX_HEALTH_FRAME_RATE 2000
|
#define RX_RX_HEALTH_FRAME_RATE 1000
|
||||||
#define TX_RC_FRAME_RATE 50 //ms
|
#define TX_RC_FRAME_RATE 50 //ms
|
||||||
#define RX_FAILSAFE_DELAY (TX_RC_FRAME_RATE * 8)
|
#define RX_FAILSAFE_DELAY (TX_RC_FRAME_RATE * 8)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user