X-Git-Url: https://git.rvb.name/rtl-433.git/blobdiff_plain/ca13278b24eb61443559bcb61e64627fba3d8823..6d15c6f967221af825cf84e3ed12b96c763b127b:/include/rtl_433_devices.h diff --git a/include/rtl_433_devices.h b/include/rtl_433_devices.h old mode 100644 new mode 100755 index 6ac485e..521eb41 --- a/include/rtl_433_devices.h +++ b/include/rtl_433_devices.h @@ -1,23 +1,103 @@ #ifndef INCLUDE_RTL_433_DEVICES_H_ #define INCLUDE_RTL_433_DEVICES_H_ -extern r_device silvercrest; -extern r_device rubicson; -extern r_device prologue; -extern r_device waveman; -extern r_device steffen; -extern r_device elv_em1000; -extern r_device elv_ws2000; -extern r_device lacrossetx; -extern r_device acurite5n1; -extern r_device acurite_rain_gauge; -extern r_device acurite_th; -extern r_device oregon_scientific; -extern r_device mebus433; -extern r_device intertechno; -extern r_device newkaku; -extern r_device alectov1; -extern r_device wh2; -extern r_device leak; +#include "bitbuffer.h" + +#define DEVICES \ + DECL(silvercrest) \ + DECL(rubicson) \ + DECL(prologue) \ + DECL(waveman) \ + DECL(steffen) \ + DECL(elv_em1000) \ + DECL(elv_ws2000) \ + DECL(lacrossetx) \ + DECL(template) \ + DECL(acurite_rain_gauge) \ + DECL(acurite_th) \ + DECL(oregon_scientific) \ + DECL(mebus433) \ + DECL(intertechno) \ + DECL(newkaku) \ + DECL(alectov1) \ + DECL(cardin) \ + DECL(fineoffset_WH2) \ + DECL(nexus) \ + DECL(ambient_weather) \ + DECL(calibeur_RF104) \ + DECL(X10_RF) \ + DECL(DSC) \ + DECL(brennenstuhl_rcs_2044) \ + DECL(gt_wt_02) \ + DECL(danfoss_CFR) \ + DECL(ec3k) \ + DECL(valeo) \ + DECL(chuango) \ + DECL(generic_remote) \ + DECL(tfa_twin_plus_303049) \ + DECL(fineoffset_wh1080) \ + DECL(wt450) \ + DECL(lacrossews) \ + DECL(esperanza_ews) \ + DECL(efergy_e2_classic) \ + DECL(kw9015b) \ + DECL(generic_temperature_sensor) \ + DECL(wg_pb12v1) \ + DECL(acurite_txr) \ + DECL(acurite_986) \ + DECL(hideki_ts04) \ + DECL(oil_watchman) \ + DECL(current_cost) \ + DECL(emontx) \ + DECL(ht680) \ + DECL(s3318p) \ + DECL(akhan_100F14) \ + DECL(quhwa) \ + DECL(oregon_scientific_v1) \ + DECL(proove) \ + DECL(bresser_3ch) \ + DECL(springfield) \ + DECL(oregon_scientific_sl109h) \ + DECL(acurite_606) \ + DECL(tfa_pool_thermometer) \ + DECL(kedsum) \ + DECL(blyss) \ + DECL(steelmate) \ + DECL(schraeder) \ + DECL(lightwave_rf) \ + DECL(elro_db286a) \ + DECL(efergy_optical) \ + DECL(hondaremote) \ + DECL(template) \ + DECL(fineoffset_XC0400) \ + DECL(radiohead_ask) \ + DECL(kerui) \ + DECL(fineoffset_wh1050) \ + DECL(honeywell) \ + DECL(lelux) \ + DECL(maverick_et73x) \ + DECL(rftech) \ + DECL(lacrosse_TX141TH_Bv2) \ + DECL(acurite_00275rm) \ + DECL(lacrosse_tx35) \ + DECL(lacrosse_tx29) \ + DECL(fineoffset_WH25) \ + DECL(fineoffset_WH0530) + +typedef struct { + char name[256]; + unsigned int modulation; + float short_limit; + float long_limit; + float reset_limit; + int (*json_callback)(bitbuffer_t *bitbuffer); + unsigned int disabled; + uintptr_t demod_arg; // Decoder specific optional argument (may be pointer to struct) + char **fields; // List of fields this decoder produces; required for CSV output. NULL-terminated. +} r_device; + +#define DECL(name) extern r_device name; +DEVICES +#undef DECL #endif /* INCLUDE_RTL_433_DEVICES_H_ */