This commit is contained in:
Portisch 2019-02-20 07:36:51 +01:00
parent 92e6af6ce0
commit 7ae08fb409
5 changed files with 39 additions and 37 deletions

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
line.separator=\n

View File

@ -51,7 +51,7 @@
#define ABP_DEC(x) ((x).actual_bit_of_byte -= 1)
#define ABP_RESET(x) ((x).actual_bit_of_byte = 8)
#define PROTOCOL_PULSES(X) X ## _pulses
#define PROTOCOL_BUCKETS(X) X ## _buckets
#define PROTOCOL_START(X) X ## _start
#define PROTOCOL_BIT0(X) X ## _bit0
#define PROTOCOL_BIT1(X) X ## _bit1

View File

@ -18,7 +18,7 @@
* bucket sniffing constants
*/
#define MIN_FOOTER_LENGTH 300
#define MIN_PULSE_LENGTH 100
#define MIN_BUCKET_LENGTH 100
#define PT226x_SYNC_MIN 4500
@ -59,7 +59,7 @@ typedef struct PROTOCOL_DATA_UINT16_T
typedef struct BUCKET_PROTOCOL_DATA
{
// array and array size of buckets
PROTOCOL_DATA_UINT16_T pulses;
PROTOCOL_DATA_UINT16_T buckets;
// array and array size of start buckets
PROTOCOL_DATA_UINT8_T start;
// array and array size of bit 0 buckets
@ -68,7 +68,7 @@ typedef struct BUCKET_PROTOCOL_DATA
PROTOCOL_DATA_UINT8_T bit1;
// bit count for this protocol
uint8_t bit_count;
// protocol with inverse pulses
// protocol with inverse buckets
uint8_t inverse;
} BUCKET_PROTOCOL_DATA;
@ -78,7 +78,7 @@ typedef struct BUCKET_PROTOCOL_DATA
*/
#if EFM8BB1_SUPPORT_PT226X_PROTOCOL == 1
#define PT226X
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(PT226X)[], static uint16_t, SI_SEG_CODE) = { 350, 1050, 10850 };
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(PT226X)[], static uint16_t, SI_SEG_CODE) = { 350, 1050, 10850 };
SI_SEGMENT_VARIABLE(PROTOCOL_START(PT226X)[], static uint8_t, SI_SEG_CODE) = { 0, 2 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(PT226X)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(PT226X)[], static uint8_t, SI_SEG_CODE) = { 1, 0 };
@ -90,7 +90,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(PT226X)[], static uint8_t, SI_SEG_CODE) = { 1,
*/
#if EFM8BB1_SUPPORT_Rohrmotor24_PROTOCOL == 1
#define Rohrmotor24
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(Rohrmotor24)[], static uint16_t, SI_SEG_CODE) = { 370, 740, 4800, 1500};
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(Rohrmotor24)[], static uint16_t, SI_SEG_CODE) = { 370, 740, 4800, 1500};
SI_SEGMENT_VARIABLE(PROTOCOL_START(Rohrmotor24)[], static uint8_t, SI_SEG_CODE) = { 2, 3 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(Rohrmotor24)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(Rohrmotor24)[], static uint8_t, SI_SEG_CODE) = { 1, 0 };
@ -102,7 +102,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(Rohrmotor24)[], static uint8_t, SI_SEG_CODE) =
*/
#if EFM8BB1_SUPPORT_PAR56_PROTOCOL == 1
#define PAR56
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(PAR56)[], static uint16_t, SI_SEG_CODE) = { 380, 1100, 3000, 9000};
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(PAR56)[], static uint16_t, SI_SEG_CODE) = { 380, 1100, 3000, 9000};
SI_SEGMENT_VARIABLE(PROTOCOL_START(PAR56)[], static uint8_t, SI_SEG_CODE) = { 2, 3 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(PAR56)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(PAR56)[], static uint8_t, SI_SEG_CODE) = { 1, 0 };
@ -113,7 +113,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(PAR56)[], static uint8_t, SI_SEG_CODE) = { 1,
*/
#if EFM8BB1_SUPPORT_WS_1200_PROTOCOL == 1
#define WS_1200
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(WS_1200)[], static uint16_t, SI_SEG_CODE) = { 500, 1000, 1500, 29500 };
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(WS_1200)[], static uint16_t, SI_SEG_CODE) = { 500, 1000, 1500, 29500 };
SI_SEGMENT_VARIABLE(PROTOCOL_START(WS_1200)[], static uint8_t, SI_SEG_CODE) = { 3 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(WS_1200)[], static uint8_t, SI_SEG_CODE) = { 2, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(WS_1200)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
@ -124,7 +124,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(WS_1200)[], static uint8_t, SI_SEG_CODE) = { 0
*/
#if EFM8BB1_SUPPORT_ALDI_4x_PROTOCOL == 1
#define ALDI_4x
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(ALDI_4x)[], static uint16_t, SI_SEG_CODE) = { 400, 1200, 3000, 7250};
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(ALDI_4x)[], static uint16_t, SI_SEG_CODE) = { 400, 1200, 3000, 7250};
SI_SEGMENT_VARIABLE(PROTOCOL_START(ALDI_4x)[], static uint8_t, SI_SEG_CODE) = { 2, 3 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(ALDI_4x)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(ALDI_4x)[], static uint8_t, SI_SEG_CODE) = { 1, 0 };
@ -136,7 +136,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(ALDI_4x)[], static uint8_t, SI_SEG_CODE) = { 1
*/
#if EFM8BB1_SUPPORT_HT6P20X_PROTOCOL == 1
#define HT6P20X
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(HT6P20X)[], static uint16_t, SI_SEG_CODE) = { 450, 900, 10350};
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(HT6P20X)[], static uint16_t, SI_SEG_CODE) = { 450, 900, 10350};
SI_SEGMENT_VARIABLE(PROTOCOL_START(HT6P20X)[], static uint8_t, SI_SEG_CODE) = { 2, 0 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(HT6P20X)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT6P20X)[], static uint8_t, SI_SEG_CODE) = { 1, 0 };
@ -148,7 +148,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT6P20X)[], static uint8_t, SI_SEG_CODE) = { 1
*/
#if EFM8BB1_SUPPORT_HT12_PROTOCOL == 1
#define HT12
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(HT12)[], static uint16_t, SI_SEG_CODE) = { 210, 420, 7560};
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(HT12)[], static uint16_t, SI_SEG_CODE) = { 210, 420, 7560};
SI_SEGMENT_VARIABLE(PROTOCOL_START(HT12)[], static uint8_t, SI_SEG_CODE) = { 2, 0 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(HT12)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT12)[], static uint8_t, SI_SEG_CODE) = { 1, 0 };
@ -160,7 +160,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT12)[], static uint8_t, SI_SEG_CODE) = { 1, 0
*/
#if EFM8BB1_SUPPORT_HT12a_PROTOCOL == 1
#define HT12a
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(HT12a)[], static uint16_t, SI_SEG_CODE) = { 200, 380, 6950};
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(HT12a)[], static uint16_t, SI_SEG_CODE) = { 200, 380, 6950};
SI_SEGMENT_VARIABLE(PROTOCOL_START(HT12a)[], static uint8_t, SI_SEG_CODE) = { 2, 0 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(HT12a)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT12a)[], static uint8_t, SI_SEG_CODE) = { 1, 0 };
@ -172,7 +172,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT12a)[], static uint8_t, SI_SEG_CODE) = { 1,
*/
#if EFM8BB1_SUPPORT_HT12_Atag_PROTOCOL == 1
#define HT12b
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(HT12b)[], static uint16_t, SI_SEG_CODE) = { 350, 650, 13000};
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(HT12b)[], static uint16_t, SI_SEG_CODE) = { 350, 650, 13000};
SI_SEGMENT_VARIABLE(PROTOCOL_START(HT12b)[], static uint8_t, SI_SEG_CODE) = { 2, 0 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(HT12b)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT12b)[], static uint8_t, SI_SEG_CODE) = { 1, 0 };
@ -184,7 +184,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT12b)[], static uint8_t, SI_SEG_CODE) = { 1,
*/
#if EFM8BB1_SUPPORT_HT12_Atag_PROTOCOL == 1
#define HT12c
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(HT12c)[], static uint16_t, SI_SEG_CODE) = { 350, 700, 15650};
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(HT12c)[], static uint16_t, SI_SEG_CODE) = { 350, 700, 15650};
SI_SEGMENT_VARIABLE(PROTOCOL_START(HT12c)[], static uint8_t, SI_SEG_CODE) = { 2, 0 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(HT12c)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT12c)[], static uint8_t, SI_SEG_CODE) = { 1, 0 };
@ -196,7 +196,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(HT12c)[], static uint8_t, SI_SEG_CODE) = { 1,
*/
#if EFM8BB1_SUPPORT_SP45_PROTOCOL == 1
#define SP45
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(SP45)[], static uint16_t, SI_SEG_CODE) = { 650, 7810, 1820, 3980 };
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(SP45)[], static uint16_t, SI_SEG_CODE) = { 650, 7810, 1820, 3980 };
SI_SEGMENT_VARIABLE(PROTOCOL_START(SP45)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(SP45)[], static uint8_t, SI_SEG_CODE) = { 0, 2 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(SP45)[], static uint8_t, SI_SEG_CODE) = { 0, 3 };
@ -207,7 +207,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(SP45)[], static uint8_t, SI_SEG_CODE) = { 0, 3
*/
#if EFM8BB1_SUPPORT_DC90_PROTOCOL == 1
#define DC90
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(DC90)[], static uint16_t, SI_SEG_CODE) = { 360, 720, 4800, 1500 };
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(DC90)[], static uint16_t, SI_SEG_CODE) = { 360, 720, 4800, 1500 };
SI_SEGMENT_VARIABLE(PROTOCOL_START(DC90)[], static uint8_t, SI_SEG_CODE) = { 2, 3 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(DC90)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(DC90)[], static uint8_t, SI_SEG_CODE) = { 1, 0 };
@ -218,7 +218,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(DC90)[], static uint8_t, SI_SEG_CODE) = { 1, 0
*/
#if EFM8BB1_SUPPORT_DG_HOSA_PROTOCOL == 1
#define DG_HOSA
SI_SEGMENT_VARIABLE(PROTOCOL_PULSES(DG_HOSA)[], static uint16_t, SI_SEG_CODE) = { 590, 1500, 430, 13450 };
SI_SEGMENT_VARIABLE(PROTOCOL_BUCKETS(DG_HOSA)[], static uint16_t, SI_SEG_CODE) = { 590, 1500, 430, 13450 };
SI_SEGMENT_VARIABLE(PROTOCOL_START(DG_HOSA)[], static uint8_t, SI_SEG_CODE) = { 2, 3 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT0(DG_HOSA)[], static uint8_t, SI_SEG_CODE) = { 0, 1 };
SI_SEGMENT_VARIABLE(PROTOCOL_BIT1(DG_HOSA)[], static uint8_t, SI_SEG_CODE) = { 1, 0 };
@ -231,7 +231,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* PT2260, EV1527,... original RF bridge protocol
*/
{
{ &PROTOCOL_PULSES(PT226X), ARRAY_LENGTH(PROTOCOL_PULSES(PT226X)) },
{ &PROTOCOL_BUCKETS(PT226X), ARRAY_LENGTH(PROTOCOL_BUCKETS(PT226X)) },
{ &PROTOCOL_START(PT226X), ARRAY_LENGTH(PROTOCOL_START(PT226X)) },
{ &PROTOCOL_BIT0(PT226X), ARRAY_LENGTH(PROTOCOL_BIT0(PT226X)) },
{ &PROTOCOL_BIT1(PT226X), ARRAY_LENGTH(PROTOCOL_BIT1(PT226X)) },
@ -244,7 +244,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* Rohrmotor24
*/
{
{ &PROTOCOL_PULSES(Rohrmotor24), ARRAY_LENGTH(PROTOCOL_PULSES(Rohrmotor24)) },
{ &PROTOCOL_BUCKETS(Rohrmotor24), ARRAY_LENGTH(PROTOCOL_BUCKETS(Rohrmotor24)) },
{ &PROTOCOL_START(Rohrmotor24), ARRAY_LENGTH(PROTOCOL_START(Rohrmotor24)) },
{ &PROTOCOL_BIT0(Rohrmotor24), ARRAY_LENGTH(PROTOCOL_BIT0(Rohrmotor24)) },
{ &PROTOCOL_BIT1(Rohrmotor24), ARRAY_LENGTH(PROTOCOL_BIT1(Rohrmotor24)) },
@ -257,7 +257,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* UNDERWATER PAR56 LED LAMP, 502266
*/
{
{ &PROTOCOL_PULSES(PAR56), ARRAY_LENGTH(PROTOCOL_PULSES(PAR56)) },
{ &PROTOCOL_BUCKETS(PAR56), ARRAY_LENGTH(PROTOCOL_BUCKETS(PAR56)) },
{ &PROTOCOL_START(PAR56), ARRAY_LENGTH(PROTOCOL_START(PAR56)) },
{ &PROTOCOL_BIT0(PAR56), ARRAY_LENGTH(PROTOCOL_BIT0(PAR56)) },
{ &PROTOCOL_BIT1(PAR56), ARRAY_LENGTH(PROTOCOL_BIT1(PAR56)) },
@ -270,7 +270,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* Alecto WS-1200 Series Wireless Weather Station
*/
{
{ &PROTOCOL_PULSES(WS_1200), ARRAY_LENGTH(PROTOCOL_PULSES(WS_1200)) },
{ &PROTOCOL_BUCKETS(WS_1200), ARRAY_LENGTH(PROTOCOL_BUCKETS(WS_1200)) },
{ &PROTOCOL_START(WS_1200), ARRAY_LENGTH(PROTOCOL_START(WS_1200)) },
{ &PROTOCOL_BIT0(WS_1200), ARRAY_LENGTH(PROTOCOL_BIT0(WS_1200)) },
{ &PROTOCOL_BIT1(WS_1200), ARRAY_LENGTH(PROTOCOL_BIT1(WS_1200)) },
@ -283,7 +283,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* ALDI Remote controlled wall sockets, 4x
*/
{
{ &PROTOCOL_PULSES(ALDI_4x), ARRAY_LENGTH(PROTOCOL_PULSES(ALDI_4x)) },
{ &PROTOCOL_BUCKETS(ALDI_4x), ARRAY_LENGTH(PROTOCOL_BUCKETS(ALDI_4x)) },
{ &PROTOCOL_START(ALDI_4x), ARRAY_LENGTH(PROTOCOL_START(ALDI_4x)) },
{ &PROTOCOL_BIT0(ALDI_4x), ARRAY_LENGTH(PROTOCOL_BIT0(ALDI_4x)) },
{ &PROTOCOL_BIT1(ALDI_4x), ARRAY_LENGTH(PROTOCOL_BIT1(ALDI_4x)) },
@ -296,7 +296,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* HT6P20X chips
*/
{
{ &PROTOCOL_PULSES(HT6P20X), ARRAY_LENGTH(PROTOCOL_PULSES(HT6P20X)) },
{ &PROTOCOL_BUCKETS(HT6P20X), ARRAY_LENGTH(PROTOCOL_BUCKETS(HT6P20X)) },
{ &PROTOCOL_START(HT6P20X), ARRAY_LENGTH(PROTOCOL_START(HT6P20X)) },
{ &PROTOCOL_BIT0(HT6P20X), ARRAY_LENGTH(PROTOCOL_BIT0(HT6P20X)) },
{ &PROTOCOL_BIT1(HT6P20X), ARRAY_LENGTH(PROTOCOL_BIT1(HT6P20X)) },
@ -309,7 +309,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* HT12A/HT12E chips
*/
{
{ &PROTOCOL_PULSES(HT12), ARRAY_LENGTH(PROTOCOL_PULSES(HT12)) },
{ &PROTOCOL_BUCKETS(HT12), ARRAY_LENGTH(PROTOCOL_BUCKETS(HT12)) },
{ &PROTOCOL_START(HT12), ARRAY_LENGTH(PROTOCOL_START(HT12)) },
{ &PROTOCOL_BIT0(HT12), ARRAY_LENGTH(PROTOCOL_BIT0(HT12)) },
{ &PROTOCOL_BIT1(HT12), ARRAY_LENGTH(PROTOCOL_BIT1(HT12)) },
@ -322,7 +322,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* HT12A/HT12E chips - A
*/
{
{ &PROTOCOL_PULSES(HT12a), ARRAY_LENGTH(PROTOCOL_PULSES(HT12a)) },
{ &PROTOCOL_BUCKETS(HT12a), ARRAY_LENGTH(PROTOCOL_BUCKETS(HT12a)) },
{ &PROTOCOL_START(HT12a), ARRAY_LENGTH(PROTOCOL_START(HT12a)) },
{ &PROTOCOL_BIT0(HT12a), ARRAY_LENGTH(PROTOCOL_BIT0(HT12a)) },
{ &PROTOCOL_BIT1(HT12a), ARRAY_LENGTH(PROTOCOL_BIT1(HT12a)) },
@ -335,7 +335,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* HT12A/HT12E chips - B
*/
{
{ &PROTOCOL_PULSES(HT12b), ARRAY_LENGTH(PROTOCOL_PULSES(HT12b)) },
{ &PROTOCOL_BUCKETS(HT12b), ARRAY_LENGTH(PROTOCOL_BUCKETS(HT12b)) },
{ &PROTOCOL_START(HT12b), ARRAY_LENGTH(PROTOCOL_START(HT12b)) },
{ &PROTOCOL_BIT0(HT12b), ARRAY_LENGTH(PROTOCOL_BIT0(HT12b)) },
{ &PROTOCOL_BIT1(HT12b), ARRAY_LENGTH(PROTOCOL_BIT1(HT12b)) },
@ -348,7 +348,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* HT12A/HT12E chips - C
*/
{
{ &PROTOCOL_PULSES(HT12c), ARRAY_LENGTH(PROTOCOL_PULSES(HT12c)) },
{ &PROTOCOL_BUCKETS(HT12c), ARRAY_LENGTH(PROTOCOL_BUCKETS(HT12c)) },
{ &PROTOCOL_START(HT12c), ARRAY_LENGTH(PROTOCOL_START(HT12c)) },
{ &PROTOCOL_BIT0(HT12c), ARRAY_LENGTH(PROTOCOL_BIT0(HT12c)) },
{ &PROTOCOL_BIT1(HT12c), ARRAY_LENGTH(PROTOCOL_BIT1(HT12c)) },
@ -361,7 +361,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* Meteo SPxx - Weather station (PHU Metrex)
*/
{
{ &PROTOCOL_PULSES(SP45), ARRAY_LENGTH(PROTOCOL_PULSES(SP45)) },
{ &PROTOCOL_BUCKETS(SP45), ARRAY_LENGTH(PROTOCOL_BUCKETS(SP45)) },
{ &PROTOCOL_START(SP45), ARRAY_LENGTH(PROTOCOL_START(SP45)) },
{ &PROTOCOL_BIT0(SP45), ARRAY_LENGTH(PROTOCOL_BIT0(SP45)) },
{ &PROTOCOL_BIT1(SP45), ARRAY_LENGTH(PROTOCOL_BIT1(SP45)) },
@ -374,7 +374,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* Dooya DC90 remote
*/
{
{ &PROTOCOL_PULSES(DC90), ARRAY_LENGTH(PROTOCOL_PULSES(DC90)) },
{ &PROTOCOL_BUCKETS(DC90), ARRAY_LENGTH(PROTOCOL_BUCKETS(DC90)) },
{ &PROTOCOL_START(DC90), ARRAY_LENGTH(PROTOCOL_START(DC90)) },
{ &PROTOCOL_BIT0(DC90), ARRAY_LENGTH(PROTOCOL_BIT0(DC90)) },
{ &PROTOCOL_BIT1(DC90), ARRAY_LENGTH(PROTOCOL_BIT1(DC90)) },
@ -387,7 +387,7 @@ SI_SEGMENT_VARIABLE(PROTOCOL_DATA[], static struct BUCKET_PROTOCOL_DATA, SI_SEG_
* Digoo DG-HOSA Smart 433MHz Wireless Household Carbon Monoxide Sensor
*/
{
{ &PROTOCOL_PULSES(DG_HOSA), ARRAY_LENGTH(PROTOCOL_PULSES(DG_HOSA)) },
{ &PROTOCOL_BUCKETS(DG_HOSA), ARRAY_LENGTH(PROTOCOL_BUCKETS(DG_HOSA)) },
{ &PROTOCOL_START(DG_HOSA), ARRAY_LENGTH(PROTOCOL_START(DG_HOSA)) },
{ &PROTOCOL_BIT0(DG_HOSA), ARRAY_LENGTH(PROTOCOL_BIT0(DG_HOSA)) },
{ &PROTOCOL_BIT1(DG_HOSA), ARRAY_LENGTH(PROTOCOL_BIT1(DG_HOSA)) },

View File

@ -411,7 +411,7 @@ int main (void)
buckets[2] = *(uint16_t *)&RF_DATA[0];
SendBuckets(
buckets, PROTOCOL_DATA[0].pulses.size,
buckets, PROTOCOL_DATA[0].buckets.size,
PROTOCOL_DATA[0].start.dat, PROTOCOL_DATA[0].start.size,
PROTOCOL_DATA[0].bit0.dat, PROTOCOL_DATA[0].bit0.size,
PROTOCOL_DATA[0].bit1.dat, PROTOCOL_DATA[0].bit1.size,

View File

@ -234,7 +234,7 @@ void HandleRFBucket(uint16_t duration, bool high_low)
uint8_t i = 0;
// if noise got received stop all running decodings
if (duration < MIN_PULSE_LENGTH)
if (duration < MIN_BUCKET_LENGTH)
{
for (i = 0; i < PROTOCOLCOUNT; i++)
START_CLEAR(status[i]);
@ -287,7 +287,7 @@ void HandleRFBucket(uint16_t duration, bool high_low)
if (PROTOCOL_DATA[i].start.size > 1 && PROTOCOL_DATA[i].inverse == high_low)
continue;
if (CheckRFSyncBucket(duration, PROTOCOL_DATA[i].pulses.dat[PROTOCOL_DATA[i].start.dat[0]]))
if (CheckRFSyncBucket(duration, PROTOCOL_DATA[i].buckets.dat[PROTOCOL_DATA[i].start.dat[0]]))
{
START_INC(status[i]);
continue;
@ -296,7 +296,7 @@ void HandleRFBucket(uint16_t duration, bool high_low)
// protocol started, check if sync is finished
else if (START_GET(status[i]) < PROTOCOL_DATA[i].start.size)
{
if (CheckRFSyncBucket(duration, PROTOCOL_DATA[i].pulses.dat[PROTOCOL_DATA[i].start.dat[START_GET(status[i])]]))
if (CheckRFSyncBucket(duration, PROTOCOL_DATA[i].buckets.dat[PROTOCOL_DATA[i].start.dat[START_GET(status[i])]]))
{
SYNC_LOW = duration;
START_INC(status[i]);
@ -314,7 +314,7 @@ void HandleRFBucket(uint16_t duration, bool high_low)
//if (!DecodeBucket(i, high_low, duration, &PROTOCOL_DATA[i]))
// continue;
if (DecodeBucket(i, PROTOCOL_DATA[i].inverse != high_low, duration,
PROTOCOL_DATA[i].pulses.dat,
PROTOCOL_DATA[i].buckets.dat,
PROTOCOL_DATA[i].bit0.dat, PROTOCOL_DATA[i].bit0.size,
PROTOCOL_DATA[i].bit1.dat, PROTOCOL_DATA[i].bit1.size,
PROTOCOL_DATA[i].bit_count
@ -547,7 +547,7 @@ void SendBuckets(
void SendBucketsByIndex(uint8_t index, SI_VARIABLE_SEGMENT_POINTER(rfdata, uint8_t, SI_SEG_XDATA))
{
SendBuckets(
PROTOCOL_DATA[index].pulses.dat, PROTOCOL_DATA[index].pulses.size,
PROTOCOL_DATA[index].buckets.dat, PROTOCOL_DATA[index].buckets.size,
PROTOCOL_DATA[index].start.dat, PROTOCOL_DATA[index].start.size,
PROTOCOL_DATA[index].bit0.dat, PROTOCOL_DATA[index].bit0.size,
PROTOCOL_DATA[index].bit1.dat, PROTOCOL_DATA[index].bit1.size,
@ -596,7 +596,7 @@ void Bucket_Received(uint16_t duration, bool high_low)
uint8_t bucket_index;
// if pulse is too short reset status
if (duration < MIN_PULSE_LENGTH)
if (duration < MIN_BUCKET_LENGTH)
{
rf_state = RF_IDLE;
return;