Редизайн на основе текущей ветки мейнстрима + новые устройства.
[rtl-433.git] / include / rtl_433_devices.h
1 #ifndef INCLUDE_RTL_433_DEVICES_H_
2 #define INCLUDE_RTL_433_DEVICES_H_
3
4 #include "bitbuffer.h"
5
6 #define DEVICES \
7                 DECL(silvercrest) \
8                 DECL(rubicson) \
9                 DECL(prologue) \
10                 DECL(waveman) \
11                 DECL(steffen) \
12                 DECL(elv_em1000) \
13                 DECL(elv_ws2000) \
14                 DECL(lacrossetx) \
15                 DECL(template) \
16                 DECL(acurite_rain_gauge) \
17                 DECL(acurite_th) \
18                 DECL(oregon_scientific) \
19                 DECL(mebus433) \
20                 DECL(intertechno) \
21                 DECL(newkaku) \
22                 DECL(alectov1) \
23                 DECL(cardin) \
24                 DECL(fineoffset_WH2) \
25                 DECL(nexus) \
26                 DECL(ambient_weather) \
27                 DECL(calibeur_RF104) \
28                 DECL(X10_RF) \
29                 DECL(DSC) \
30                 DECL(brennenstuhl_rcs_2044) \
31                 DECL(gt_wt_02) \
32                 DECL(danfoss_CFR) \
33                 DECL(ec3k) \
34                 DECL(valeo) \
35                 DECL(chuango) \
36                 DECL(generic_remote) \
37                 DECL(tfa_twin_plus_303049) \
38                 DECL(fineoffset_wh1080) \
39                 DECL(wt450) \
40                 DECL(lacrossews) \
41                 DECL(esperanza_ews) \
42                 DECL(efergy_e2_classic) \
43                 DECL(kw9015b) \
44                 DECL(generic_temperature_sensor) \
45                 DECL(wg_pb12v1) \
46                 DECL(acurite_txr) \
47                 DECL(acurite_986) \
48                 DECL(hideki_ts04) \
49                 DECL(oil_watchman) \
50                 DECL(current_cost) \
51                 DECL(emontx) \
52                 DECL(ht680) \
53                 DECL(s3318p) \
54                 DECL(akhan_100F14) \
55                 DECL(quhwa) \
56                 DECL(oregon_scientific_v1) \
57                 DECL(proove) \
58                 DECL(bresser_3ch) \
59                 DECL(springfield) \
60                 DECL(oregon_scientific_sl109h) \
61                 DECL(acurite_606) \
62                 DECL(tfa_pool_thermometer) \
63                 DECL(kedsum) \
64                 DECL(blyss) \
65                 DECL(steelmate) \
66                 DECL(schraeder) \
67                 DECL(lightwave_rf) \
68                 DECL(elro_db286a) \
69                 DECL(efergy_optical) \
70                 DECL(hondaremote) \
71                 DECL(template) \
72                 DECL(fineoffset_XC0400) \
73                 DECL(radiohead_ask) \
74                 DECL(kerui) \
75                 DECL(fineoffset_wh1050) \
76                 DECL(honeywell) \
77                 DECL(lelux) \
78                 DECL(maverick_et73x) \
79                 DECL(rftech) \
80                 DECL(lacrosse_TX141TH_Bv2) \
81                 DECL(acurite_00275rm) \
82                 DECL(lacrosse_tx35) \
83                 DECL(lacrosse_tx29) \
84                 DECL(fineoffset_WH25) \
85                 DECL(fineoffset_WH0530)
86
87 typedef struct {
88         char name[256];
89         unsigned int modulation;
90         float short_limit;
91         float long_limit;
92         float reset_limit;
93         int (*json_callback)(bitbuffer_t *bitbuffer);
94         unsigned int disabled;
95         uintptr_t demod_arg;    // Decoder specific optional argument (may be pointer to struct)
96         char **fields;                  // List of fields this decoder produces; required for CSV output. NULL-terminated.
97 } r_device;
98
99 #define DECL(name) extern r_device name;
100 DEVICES
101 #undef DECL
102
103 #endif /* INCLUDE_RTL_433_DEVICES_H_ */