packet layout beautified

This commit is contained in:
Robin Müller 2020-10-13 00:43:33 +02:00
parent 55caac63da
commit 8e97270bb7
2 changed files with 32 additions and 22 deletions

View File

@ -1,9 +1,30 @@
#ifndef ARDUINOCONFIG_H_
#define ARDUINOCONFIG_H_
static const uint8_t COMMAND_TRANSFER_SPI = 1;
#define BAUD_RATE 115200
#define SERIAL_RX_BUFFER_SIZE 256
#define RING_BUFFER_SIZE 100
#define MAX_PACKET_LENGTH 100
// Define which port to use for the SPI Chip Select by using the register
// definitions. The data direction register is assigned as well.
// The ports can be looked up on the official Arduino pinout schematics.
#ifdef ARDUINO_AVR_MEGA2560
// Defines for the Arduino Mega
#define CS_PORT PORTK
#define CS_DDR DDRK
#elif defined(ARDUINO_AVR_UNO)
#define CS_PORT PORTD
#define CS_DDR DDRD
#elif defined(__SAM3X8E__)
// Define for the Arduino Due
#define CS_PORT PORTC
#define CS_DDR DDRC
#else
#define CS_PORT PORTC
#define CS_DDR DDRC
#endif
#endif /* ARDUINOCONFIG_H_ */

View File

@ -11,27 +11,6 @@
//from the core and we need to include it explicitly
#include <SPI.h>
// Define which port to use for the SPI Chip Select by using the register
// definitions. The data direction register is assigned as well.
// The ports can be looked up on the official Arduino pinout schematics.
#ifdef ARDUINO_AVR_MEGA2560
// Defines for the Arduino Mega
#define CS_PORT PORTK
#define CS_DDR DDRK
#elif defined(ARDUINO_AVR_UNO)
#define CS_PORT PORTD
#define CS_DDR DDRD
#elif defined(__SAM3X8E__)
// Define for the Arduino Due
#define CS_PORT PORTC
#define CS_DDR DDRC
#else
#define CS_PORT PORTC
#define CS_DDR DDRC
#endif
static const uint8_t COMMAND_TRANSFER_SPI = 1;
SimpleRingBuffer ringBuffer(RING_BUFFER_SIZE, true);
uint8_t rawData[2 * RING_BUFFER_SIZE];
@ -74,7 +53,17 @@ void transferSPI(uint8_t address, uint8_t *data, size_t datalen) {
void handlePacket(uint8_t *packet, size_t packetLen) {
//Paket layout is:
// 8 bit command | 8 bit address | 16bit length | <length> byte data | 16 bit crc
// byte --------------------
// 1 | 8 bit command |
// --------------------
// 1 | 8 bit address |
// --------------------
// 2 | 16bit length |
// --------------------
// length | <length> byte data |
// --------------------
// 2 | 16 bit crc |
// --------------------