reciver changes

This commit is contained in:
2019-10-06 17:27:58 +02:00
parent 53c42b050a
commit d91e08db15
6 changed files with 37 additions and 22 deletions

View File

@ -2,10 +2,12 @@
#include <stdint.h>
#include "ringbuffer.h"
//#define USE_RINGBUFFER
class W433DataReciver
{
public:
static constexpr uint8_t RINGBUFFER_LENGTH = 32;
//errors
@ -25,9 +27,10 @@ private:
static constexpr uint16_t LARGE_TIME = 2000;
static constexpr uint16_t SMALL_TIME = 500;
static constexpr uint8_t SYNC_TIME_TOLERANCE = SYNC_TIME*0.20;
static constexpr uint16_t SYNC_END_TIME_TOLERANCE = SYNC_TIME*0.80;
static constexpr uint16_t LARGE_TIME_TOLERANCE = LARGE_TIME*0.30;
static constexpr uint8_t SMALL_TIME_TOLERANCE = SMALL_TIME*0.30;
static constexpr uint8_t DISCARD_TIME = SMALL_TIME*0.3;
static constexpr uint16_t DISCARD_TIME = SMALL_TIME*0.6;
static constexpr uint16_t TICKS_PER_US = (F_CPU) / (1000000*CLOCK_DEVIDER) ;
static constexpr uint8_t signature = 0xA5;
@ -46,7 +49,9 @@ private:
volatile uint16_t *_timerRegister;
volatile uint8_t *_timerOverflowRegister;
#ifdef USE_RINGBUFFER
RingBuffer<RINGBUFFER_LENGTH, uint8_t> _ringBuffer;
#endif
volatile uint16_t previousTime = 0;
volatile uint8_t timesBufferIndex = 0;
@ -82,5 +87,7 @@ public:
static void initTimer();
static void staticInterrupt();
void interrupt();
#ifdef USE_RINGBUFFER
RingBuffer<RINGBUFFER_LENGTH, uint8_t>* getRingBuffer();
#endif
};