forked from mohr/ArduinoIO
packet layout beautified
This commit is contained in:
parent
55caac63da
commit
8e97270bb7
@ -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_ */
|
||||
|
33
main.cpp
33
main.cpp
@ -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 |
|
||||
// --------------------
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user