Change all r_device declarations to const ()

Change all r_device declarations to const, which places them in the "read only" memory portion which is distinct from the limited quantity SRAM available on embedded platforms.
This commit is contained in:
obones 2023-01-31 12:32:17 +01:00 committed by GitHub
parent 76485a0909
commit cc6f4521d2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
207 changed files with 234 additions and 234 deletions

View file

@ -29,7 +29,7 @@
#endif
/// Create a new r_device, copy from dev_template if not NULL.
r_device *create_device(r_device *dev_template);
r_device *create_device(r_device const *dev_template);
/// Output data.
void decoder_output_data(r_device *decoder, data_t *data);

View file

@ -16,7 +16,7 @@
// create decoder functions
r_device *create_device(r_device *dev_template)
r_device *create_device(r_device const *dev_template)
{
r_device *r_dev = malloc(sizeof (*r_dev));
if (!r_dev) {

View file

@ -88,7 +88,7 @@ static char *output_fields[] = {
NULL,
};
r_device abmt = {
r_device const abmt = {
.name = "Amazon Basics Meat Thermometer",
.modulation = OOK_PULSE_PCM,
.short_width = 550,

View file

@ -1869,7 +1869,7 @@ static char *acurite_rain_gauge_output_fields[] = {
NULL,
};
r_device acurite_rain_896 = {
r_device const acurite_rain_896 = {
.name = "Acurite 896 Rain Gauge",
.modulation = OOK_PULSE_PPM,
.short_width = 1000,
@ -1892,7 +1892,7 @@ static char *acurite_th_output_fields[] = {
NULL,
};
r_device acurite_th = {
r_device const acurite_th = {
.name = "Acurite 609TXC Temperature and Humidity Sensor",
.modulation = OOK_PULSE_PPM,
.short_width = 1000,
@ -1936,7 +1936,7 @@ static char *acurite_txr_output_fields[] = {
NULL,
};
r_device acurite_txr = {
r_device const acurite_txr = {
.name = "Acurite 592TXR Temp/Humidity, 5n1 Weather Station, 6045 Lightning, 899 Rain, 3N1, Atlas",
.modulation = OOK_PULSE_PWM,
.short_width = 220, // short pulse is 220 us + 392 us gap
@ -1969,7 +1969,7 @@ static char *acurite_986_output_fields[] = {
NULL,
};
r_device acurite_986 = {
r_device const acurite_986 = {
.name = "Acurite 986 Refrigerator / Freezer Thermometer",
.modulation = OOK_PULSE_PPM,
.short_width = 520,
@ -2013,7 +2013,7 @@ static char *acurite_590_output_fields[] = {
//.long_width = 1076,
//.gap_limit = 1200,
//.reset_limit = 12000,
r_device acurite_606 = {
r_device const acurite_606 = {
.name = "Acurite 606TX Temperature Sensor",
.modulation = OOK_PULSE_PPM,
.short_width = 2000,
@ -2038,7 +2038,7 @@ static char *acurite_00275rm_output_fields[] = {
NULL,
};
r_device acurite_00275rm = {
r_device const acurite_00275rm = {
.name = "Acurite 00275rm,00276rm Temp/Humidity with optional probe",
.modulation = OOK_PULSE_PWM,
.short_width = 232, // short pulse is 232 us
@ -2050,7 +2050,7 @@ r_device acurite_00275rm = {
.fields = acurite_00275rm_output_fields,
};
r_device acurite_590tx = {
r_device const acurite_590tx = {
.name = "Acurite 590TX Temperature with optional Humidity",
.modulation = OOK_PULSE_PPM, // OOK_PULSE_PWM,
.short_width = 500, // short pulse is 232 us

View file

@ -125,7 +125,7 @@ static char *acurite_01185m_output_fields[] = {
NULL,
};
r_device acurite_01185m = {
r_device const acurite_01185m = {
.name = "Acurite Grill/Meat Thermometer 01185M",
.modulation = OOK_PULSE_PWM,
.short_width = 840, // short pulse is 840 us

View file

@ -69,7 +69,7 @@ static char *output_fields[] = {
NULL,
};
r_device akhan_100F14 = {
r_device const akhan_100F14 = {
.name = "Akhan 100F14 remote keyless entry",
.modulation = OOK_PULSE_PWM,
.short_width = 316,

View file

@ -223,7 +223,7 @@ static char *output_fields[] = {
NULL,
};
r_device alectov1 = {
r_device const alectov1 = {
.name = "AlectoV1 Weather Sensor (Alecto WS3500 WS4500 Ventus W155/W044 Oregon)",
.modulation = OOK_PULSE_PPM,
.short_width = 2000,

View file

@ -168,7 +168,7 @@ static char *output_fields[] = {
NULL,
};
r_device ambient_weather = {
r_device const ambient_weather = {
.name = "Ambient Weather F007TH, TFA 30.3208.02, SwitchDocLabs F016TH temperature sensor",
.modulation = OOK_PULSE_MANCHESTER_ZEROBIT,
.short_width = 500,

View file

@ -129,7 +129,7 @@ static char *output_fields[] = {
NULL,
};
r_device ambientweather_tx8300 = {
r_device const ambientweather_tx8300 = {
.name = "Ambient Weather TX-8300 Temperature/Humidity Sensor",
.modulation = OOK_PULSE_PPM,
.short_width = 2000,

View file

@ -374,7 +374,7 @@ static char *output_fields[] = {
NULL,
};
r_device ambientweather_wh31e = {
r_device const ambientweather_wh31e = {
.name = "Ambient Weather WH31E Thermo-Hygrometer Sensor, EcoWitt WH40 rain gauge",
.modulation = FSK_PULSE_PCM,
.short_width = 56,

View file

@ -151,7 +151,7 @@ static char *output_fields[] = {
NULL,
};
r_device ant_antplus = {
r_device const ant_antplus = {
.name = "ANT and ANT+ devices",
.modulation = FSK_PULSE_PCM,
.short_width = 1,

View file

@ -225,7 +225,7 @@ static char *output_fields[] = {
NULL,
};
r_device archos_tbh = {
r_device const archos_tbh = {
.name = "TBH weather sensor",
.modulation = FSK_PULSE_PCM,
.short_width = 212,

View file

@ -127,7 +127,7 @@ static char *output_fields[] = {
NULL,
};
r_device atech_ws308 = {
r_device const atech_ws308 = {
.name = "Atech-WS308 temperature sensor",
.modulation = OOK_PULSE_RZ,
.short_width = 1600,

View file

@ -86,7 +86,7 @@ static char *output_fields[] = {
NULL,
};
r_device auriol_4ld5661 = {
r_device const auriol_4ld5661 = {
.name = "Auriol 4-LD5661 temperature/rain sensor",
.modulation = OOK_PULSE_PPM,
.short_width = 1000,

View file

@ -145,7 +145,7 @@ static char *output_fields[] = {
NULL,
};
r_device auriol_aft77b2 = {
r_device const auriol_aft77b2 = {
.name = "Auriol AFT 77 B2 temperature sensor",
.modulation = OOK_PULSE_PPM,
.short_width = 500,

View file

@ -117,7 +117,7 @@ static char *output_fields[] = {
};
// ToDo: The timings have come about through trial and error. Audit this against weak signals!
r_device auriol_afw2a1 = {
r_device const auriol_afw2a1 = {
.name = "Auriol AFW2A1 temperature/humidity sensor",
.modulation = OOK_PULSE_PPM,
.short_width = 576,

View file

@ -108,7 +108,7 @@ static char *output_fields[] = {
NULL,
};
r_device auriol_ahfl = {
r_device const auriol_ahfl = {
.name = "Auriol AHFL temperature/humidity sensor",
.modulation = OOK_PULSE_PPM,
.short_width = 2100,

View file

@ -101,7 +101,7 @@ static char *output_fields[] = {
NULL,
};
r_device auriol_hg02832 = {
r_device const auriol_hg02832 = {
.name = "Auriol HG02832, HG05124A-DCF, Rubicson 48957 temperature/humidity sensor",
.modulation = OOK_PULSE_PWM,
.short_width = 252,

View file

@ -150,7 +150,7 @@ static char *badger_output_fields[] = {
// Badger ORION water meter,
// Frequency 916.45 MHz, Bitrate 100 kbps, Modulation NRZ FSK
r_device badger_orion = {
r_device const badger_orion = {
.name = "Badger ORION water meter, 100kbps (-f 916.45M -s 1200k)", // Minimum samplerate = 1.2 MHz (12 samples of 100kb/s)
.modulation = FSK_PULSE_PCM,
.short_width = 10, // Bit rate: 100 kb/s

View file

@ -396,7 +396,7 @@ static char *output_fields[] = {
NULL,
};
r_device blueline;
r_device const blueline;
static r_device *blueline_create(char *arg)
{
@ -430,7 +430,7 @@ static r_device *blueline_create(char *arg)
return r_dev;
}
r_device blueline = {
r_device const blueline = {
.name = "BlueLine Innovations Power Cost Monitor",
.modulation = OOK_PULSE_PPM,
.short_width = 500,

View file

@ -62,7 +62,7 @@ static char *output_fields[] = {
NULL,
};
r_device blyss = {
r_device const blyss = {
.name = "Blyss DC5-UK-WH",
.modulation = OOK_PULSE_PWM,
.short_width = 500,

View file

@ -120,7 +120,7 @@ static char *output_fields[] = {
NULL,
};
r_device brennenstuhl_rcs_2044 = {
r_device const brennenstuhl_rcs_2044 = {
.name = "Brennenstuhl RCS 2044",
.modulation = OOK_PULSE_PWM,
.short_width = 320,

View file

@ -106,7 +106,7 @@ static char *output_fields[] = {
NULL,
};
r_device bresser_3ch = {
r_device const bresser_3ch = {
.name = "Bresser Thermo-/Hygro-Sensor 3CH",
.modulation = OOK_PULSE_PWM,
.short_width = 250, // short pulse is ~250 us

View file

@ -174,7 +174,7 @@ static char *output_fields[] = {
NULL,
};
r_device bresser_5in1 = {
r_device const bresser_5in1 = {
.name = "Bresser Weather Center 5-in-1",
.modulation = FSK_PULSE_PCM,
.short_width = 124,

View file

@ -238,7 +238,7 @@ static char *output_fields[] = {
NULL,
};
r_device bresser_6in1 = {
r_device const bresser_6in1 = {
.name = "Bresser Weather Center 6-in-1, 7-in-1 indoor, soil, new 5-in-1, 3-in-1 wind gauge, Froggit WH6000, Ventus C8488A",
.modulation = FSK_PULSE_PCM,
.short_width = 124,

View file

@ -151,7 +151,7 @@ static char *output_fields[] = {
NULL,
};
r_device bresser_7in1 = {
r_device const bresser_7in1 = {
.name = "Bresser Weather Center 7-in-1",
.modulation = FSK_PULSE_PCM,
.short_width = 124,

View file

@ -96,7 +96,7 @@ static char *output_fields[] = {
NULL,
};
r_device bt_rain = {
r_device const bt_rain = {
.name = "Biltema rain gauge",
.modulation = OOK_PULSE_PPM,
.short_width = 1940,

View file

@ -134,7 +134,7 @@ static char *output_fields[] = {
NULL,
};
r_device burnhardbbq = {
r_device const burnhardbbq = {
.name = "Burnhard BBQ thermometer",
.modulation = OOK_PULSE_PWM,
.short_width = 240,

View file

@ -125,7 +125,7 @@ static char *output_fields[] = {
NULL,
};
r_device calibeur_RF104 = {
r_device const calibeur_RF104 = {
.name = "Calibeur RF-104 Sensor",
.modulation = OOK_PULSE_PWM,
.short_width = 760, // Short pulse 760µs

View file

@ -114,7 +114,7 @@ static char *output_fields[] = {
NULL,
};
r_device cardin = {
r_device const cardin = {
.name = "Cardin S466-TX2",
.modulation = OOK_PULSE_PWM,
.short_width = 730,

View file

@ -129,7 +129,7 @@ static char *output_fields[] = {
NULL,
};
r_device cavius = {
r_device const cavius = {
.name = "Cavius smoke, heat and water detector",
.modulation = FSK_PULSE_PCM,
.short_width = 206,

View file

@ -102,7 +102,7 @@ static char *output_fields[] = {
NULL,
};
r_device ced7000 = {
r_device const ced7000 = {
.name = "CED7000 Shot Timer",
.modulation = FSK_PULSE_PCM,
.short_width = 1300,

View file

@ -95,7 +95,7 @@ static char *output_fields[] = {
NULL,
};
r_device chuango = {
r_device const chuango = {
.name = "Chuango Security Technology",
.modulation = OOK_PULSE_PWM,
.short_width = 568, // Pulse: Short 568µs, Long 1704µs

View file

@ -118,7 +118,7 @@ static char *output_fields[] = {
};
// Short high and low pulses are quite different in length so we have a high tolerance of 200
r_device cmr113 = {
r_device const cmr113 = {
.name = "Clipsal CMR113 Cent-a-meter power meter",
.modulation = OOK_PULSE_PIWM_DC,
.short_width = 480,

View file

@ -134,7 +134,7 @@ static char *output_fields[] = {
NULL,
};
r_device companion_wtr001 = {
r_device const companion_wtr001 = {
.name = "Companion WTR001 Temperature Sensor",
.modulation = OOK_PULSE_PWM,
.short_width = 732, // 732 us pulse + 2196 us gap is 1 (will be inverted in code)

View file

@ -150,7 +150,7 @@ static char *cotech_36_7959_output_fields[] = {
NULL,
};
r_device cotech_36_7959 = {
r_device const cotech_36_7959 = {
.name = "Cotech 36-7959, SwitchDocLabs FT020T wireless weather station with USB",
.modulation = OOK_PULSE_MANCHESTER_ZEROBIT,
.short_width = 500,

View file

@ -125,7 +125,7 @@ static char *output_fields[] = {
NULL,
};
r_device current_cost = {
r_device const current_cost = {
.name = "CurrentCost Current Sensor",
.modulation = FSK_PULSE_PCM,
.short_width = 250,

View file

@ -157,7 +157,7 @@ static char *output_fields[] = {
NULL,
};
r_device danfoss_CFR = {
r_device const danfoss_CFR = {
.name = "Danfoss CFR Thermostat",
.modulation = FSK_PULSE_PCM,
.short_width = 100, // NRZ decoding

View file

@ -218,7 +218,7 @@ static char *output_fields[] = {
NULL,
};
r_device digitech_xc0324 = {
r_device const digitech_xc0324 = {
.name = "Digitech XC-0324 / AmbientWeather FT005TH temp/hum sensor",
.modulation = OOK_PULSE_PPM,
.short_width = 520, // = 130 * 4

View file

@ -370,7 +370,7 @@ static char *output_fields[] = {
NULL,
};
r_device directv = {
r_device const directv = {
.name = "DirecTV RC66RX Remote Control",
.modulation = FSK_PULSE_PCM,
.short_width = 600, // 150 samples @250k

View file

@ -139,7 +139,7 @@ static char *output_fields[] = {
NULL,
};
r_device dish_remote_6_3 = {
r_device const dish_remote_6_3 = {
.name = "Dish remote 6.3",
.modulation = OOK_PULSE_PPM,
.short_width = 1692,

View file

@ -262,7 +262,7 @@ static char *output_fields[] = {
NULL,
};
r_device dsc_security = {
r_device const dsc_security = {
.name = "DSC Security Contact",
.modulation = OOK_PULSE_RZ,
.short_width = 250, // Pulse length, 250 µs
@ -272,7 +272,7 @@ r_device dsc_security = {
.fields = output_fields,
};
r_device dsc_security_ws4945 = {
r_device const dsc_security_ws4945 = {
// Used for EV-DW4927, WS4975 and WS4945.
.name = "DSC Security Contact (WS4945)",
.modulation = OOK_PULSE_RZ,

View file

@ -182,7 +182,7 @@ static char *output_fields[] = {
NULL,
};
r_device ecodhome = {
r_device const ecodhome = {
.name = "EcoDHOME Smart Socket and MCEE Solar monitor",
.modulation = FSK_PULSE_PCM,
.short_width = 250,

View file

@ -115,7 +115,7 @@ static char *output_fields[] = {
NULL,
};
r_device ecowitt = {
r_device const ecowitt = {
.name = "Ecowitt Wireless Outdoor Thermometer WH53/WH0280/WH0281A",
.modulation = OOK_PULSE_PWM,
.short_width = 500, // 500 us nominal short pulse

View file

@ -121,7 +121,7 @@ static char *output_fields[] = {
NULL,
};
r_device efergy_e2_classic = {
r_device const efergy_e2_classic = {
.name = "Efergy e2 classic",
.modulation = FSK_PULSE_PWM,
.short_width = 64,

View file

@ -134,7 +134,7 @@ static char *output_fields[] = {
NULL,
};
r_device efergy_optical = {
r_device const efergy_optical = {
.name = "Efergy Optical",
.modulation = FSK_PULSE_PWM,
.short_width = 64,

View file

@ -140,7 +140,7 @@ static char *output_fields[] = {
NULL,
};
r_device eurochron_efth800 = {
r_device const eurochron_efth800 = {
.name = "Eurochron EFTH-800 temperature and humidity sensor",
.modulation = OOK_PULSE_PWM,
.short_width = 250,

View file

@ -55,7 +55,7 @@ static char *output_fields[] = {
NULL,
};
r_device elro_db286a = {
r_device const elro_db286a = {
.name = "Elro DB286A Doorbell",
.modulation = OOK_PULSE_PWM,
.short_width = 456,

View file

@ -105,7 +105,7 @@ static char *elv_em1000_output_fields[] = {
NULL,
};
r_device elv_em1000 = {
r_device const elv_em1000 = {
.name = "ELV EM 1000",
.modulation = OOK_PULSE_PPM,
.short_width = 500, // guessed, no samples available
@ -279,7 +279,7 @@ static char *elv_ws2000_output_fields[] = {
NULL,
};
r_device elv_ws2000 = {
r_device const elv_ws2000 = {
.name = "ELV WS 2000",
.modulation = OOK_PULSE_PWM,
.short_width = 366, // 0 => 854us, 1 => 366us according to link in top

View file

@ -227,7 +227,7 @@ static char *output_fields[] = {
NULL,
};
r_device emax = {
r_device const emax = {
.name = "Emax W6, rebrand Altronics x7063/4, Optex 990040/50/51, Orium 13093/13123, Infactory FWS-1200, Newentor Q9, Otio 810025, Protmex PT3390A, Jula Marquant 014331/32, Weather Station or temperature/humidity sensor",
.modulation = FSK_PULSE_PCM,
.short_width = 90,

View file

@ -157,7 +157,7 @@ static char *output_fields[] = {
NULL,
};
r_device emontx = {
r_device const emontx = {
.name = "emonTx OpenEnergyMonitor",
.modulation = FSK_PULSE_PCM,
.short_width = 2000000.0f / (49230 + 49261), // 49261kHz for RFM69, 49230kHz for RFM12B

View file

@ -138,7 +138,7 @@ static char *output_fields[] = {
NULL,
};
// n=EMOS-E6016,m=OOK_PWM,s=280,l=796,r=804,g=0,t=0,y=1836,rows>=3,bits=120
r_device emos_e6016 = {
r_device const emos_e6016 = {
.name = "EMOS E6016 weatherstation with DCF77",
.modulation = OOK_PULSE_PWM,
.short_width = 280,

View file

@ -109,7 +109,7 @@ static char *output_fields[] = {
NULL,
};
r_device emos_e6016_rain = {
r_device const emos_e6016_rain = {
.name = "EMOS E6016 rain gauge",
.modulation = OOK_PULSE_PWM,
.short_width = 300,

View file

@ -97,7 +97,7 @@ static char *output_fields[] = {
NULL,
};
r_device enocean_erp1 = {
r_device const enocean_erp1 = {
.name = "EnOcean ERP1",
.modulation = OOK_PULSE_PCM,
.short_width = 8,

View file

@ -618,7 +618,7 @@ static char *output_fields[] = {
// Freq 912600155
// -X n=L58,m=OOK_MC_ZEROBIT,s=30,l=30,g=20000,r=20000,match={24}0x16a31e,preamble={1}0x00
r_device ert_idm = {
r_device const ert_idm = {
.name = "ERT Interval Data Message (IDM)",
.modulation = OOK_PULSE_MANCHESTER_ZEROBIT,
.short_width = 30,
@ -631,7 +631,7 @@ r_device ert_idm = {
.fields = output_fields,
};
r_device ert_netidm = {
r_device const ert_netidm = {
.name = "ERT Interval Data Message (IDM) for Net Meters",
.modulation = OOK_PULSE_MANCHESTER_ZEROBIT,
.short_width = 30,

View file

@ -106,7 +106,7 @@ static char *output_fields[] = {
NULL,
};
r_device ert_scm = {
r_device const ert_scm = {
.name = "ERT Standard Consumption Message (SCM)",
.modulation = OOK_PULSE_MANCHESTER_ZEROBIT,
.short_width = 30,

View file

@ -101,7 +101,7 @@ static char *output_fields[] = {
NULL,
};
r_device esa_energy = {
r_device const esa_energy = {
.name = "ESA1000 / ESA2000 Energy Monitor",
.modulation = OOK_PULSE_MANCHESTER_ZEROBIT,
.short_width = 260,

View file

@ -104,7 +104,7 @@ static char *output_fields[] = {
NULL,
};
r_device esic_emt7110 = {
r_device const esic_emt7110 = {
.name = "ESIC EMT7110 power meter",
.modulation = FSK_PULSE_PCM,
.short_width = 104,

View file

@ -123,7 +123,7 @@ static char *output_fields[] = {
NULL,
};
r_device esperanza_ews = {
r_device const esperanza_ews = {
.name = "Esperanza EWS",
.modulation = OOK_PULSE_PPM,
.short_width = 2000,

View file

@ -93,7 +93,7 @@ static char *output_fields[] = {
NULL,
};
r_device eurochron = {
r_device const eurochron = {
.name = "Eurochron temperature and humidity sensor",
.modulation = OOK_PULSE_PPM,
.short_width = 1016,

View file

@ -15,7 +15,7 @@
#include "fatal.h"
#include <stdlib.h>
r_device fineoffset_WH2;
r_device const fineoffset_WH2;
static r_device *fineoffset_WH2_create(char *arg)
{
@ -1007,7 +1007,7 @@ static char *output_fields_WH0530[] = {
NULL,
};
r_device fineoffset_WH2 = {
r_device const fineoffset_WH2 = {
.name = "Fine Offset Electronics, WH2, WH5, Telldus Temperature/Humidity/Rain Sensor",
.modulation = OOK_PULSE_PWM,
.short_width = 500, // Short pulse 544µs, long pulse 1524µs, fixed gap 1036µs
@ -1019,7 +1019,7 @@ r_device fineoffset_WH2 = {
.fields = output_fields,
};
r_device fineoffset_WH25 = {
r_device const fineoffset_WH25 = {
.name = "Fine Offset Electronics, WH25, WH32B, WH24, WH65B, HP1000, Misol WS2320 Temperature/Humidity/Pressure Sensor",
.modulation = FSK_PULSE_PCM,
.short_width = 58, // Bit width = 58µs (measured across 580 samples / 40 bits / 250 kHz )
@ -1029,7 +1029,7 @@ r_device fineoffset_WH25 = {
.fields = output_fields_WH25,
};
r_device fineoffset_WH51 = {
r_device const fineoffset_WH51 = {
.name = "Fine Offset Electronics/ECOWITT WH51, SwitchDoc Labs SM23 Soil Moisture Sensor",
.modulation = FSK_PULSE_PCM,
.short_width = 58, // Bit width = 58µs (measured across 580 samples / 40 bits / 250 kHz )
@ -1039,7 +1039,7 @@ r_device fineoffset_WH51 = {
.fields = output_fields_WH51,
};
r_device fineoffset_WH0530 = {
r_device const fineoffset_WH0530 = {
.name = "Fine Offset Electronics, WH0530 Temperature/Rain Sensor",
.modulation = OOK_PULSE_PWM,
.short_width = 504, // Short pulse 504µs

View file

@ -133,7 +133,7 @@ static char *output_fields[] = {
NULL,
};
r_device fineoffset_wh1050 = {
r_device const fineoffset_wh1050 = {
.name = "Fine Offset WH1050 Weather Station",
.modulation = OOK_PULSE_PWM,
.short_width = 544,

View file

@ -349,7 +349,7 @@ static char *output_fields[] = {
NULL,
};
r_device fineoffset_wh1080 = {
r_device const fineoffset_wh1080 = {
.name = "Fine Offset Electronics WH1080/WH3080 Weather Station",
.modulation = OOK_PULSE_PWM,
.short_width = 544, // Short pulse 544µs, long pulse 1524µs, fixed gap 1036µs
@ -359,7 +359,7 @@ r_device fineoffset_wh1080 = {
.fields = output_fields,
};
r_device fineoffset_wh1080_fsk = {
r_device const fineoffset_wh1080_fsk = {
.name = "Fine Offset Electronics WH1080/WH3080 Weather Station (FSK)",
.modulation = FSK_PULSE_PCM,
.short_width = 58,

View file

@ -166,7 +166,7 @@ static char *output_fields[] = {
NULL,
};
r_device fineoffset_wh31l = {
r_device const fineoffset_wh31l = {
.name = "Ambient Weather WH31L (FineOffset WH57) Lightning-Strike sensor",
.modulation = FSK_PULSE_PCM,
.short_width = 56,

View file

@ -142,7 +142,7 @@ static char *output_fields[] = {
NULL,
};
r_device fineoffset_wh45 = {
r_device const fineoffset_wh45 = {
.name = "Fine Offset Electronics WH45 air quality sensor",
.modulation = FSK_PULSE_PCM,
.short_width = 58,

View file

@ -120,7 +120,7 @@ static char *output_fields[] = {
NULL,
};
r_device fineoffset_wn34 = {
r_device const fineoffset_wn34 = {
.name = "Fine Offset Electronics WN34 temperature sensor",
.modulation = FSK_PULSE_PCM,
.short_width = 58,

View file

@ -131,7 +131,7 @@ static char *output_fields[] = {
NULL,
};
r_device fineoffset_ws80 = {
r_device const fineoffset_ws80 = {
.name = "Fine Offset Electronics WS80 weather station",
.modulation = FSK_PULSE_PCM,
.short_width = 58,

View file

@ -69,7 +69,7 @@ static char *output_fields[] = {
NULL,
};
r_device fordremote = {
r_device const fordremote = {
.name = "Ford Car Key",
.modulation = OOK_PULSE_DMC,
.short_width = 250, // half-bit width is 250 us

View file

@ -128,7 +128,7 @@ static char *output_fields[] = {
NULL,
};
r_device fs20 = {
r_device const fs20 = {
.name = "FS20",
.modulation = OOK_PULSE_PPM,
.short_width = 400,

View file

@ -71,7 +71,7 @@ static char *output_fields[] = {
NULL,
};
r_device ft004b = {
r_device const ft004b = {
.name = "FT-004-B Temperature Sensor",
.modulation = OOK_PULSE_PPM,
.short_width = 1956,

View file

@ -173,7 +173,7 @@ static char *output_fields[] = {
NULL,
};
r_device funkbus_remote = {
r_device const funkbus_remote = {
.name = "Funkbus / Instafunk (Berker, Gira, Jung)",
.modulation = OOK_PULSE_DMC,
.short_width = 500,

View file

@ -164,7 +164,7 @@ static char *output_fields[] = {
NULL,
};
r_device ge_coloreffects = {
r_device const ge_coloreffects = {
.name = "GE Color Effects",
.modulation = FSK_PULSE_PCM,
.short_width = 52,

View file

@ -68,7 +68,7 @@ static char *output_fields[] = {
NULL,
};
r_device generic_motion = {
r_device const generic_motion = {
.name = "Generic wireless motion sensor",
.modulation = OOK_PULSE_PWM,
.short_width = 888,

View file

@ -79,7 +79,7 @@ static char *output_fields[] = {
NULL,
};
r_device generic_remote = {
r_device const generic_remote = {
.name = "Generic Remote SC226x EV1527",
.modulation = OOK_PULSE_PWM,
.short_width = 464,

View file

@ -68,7 +68,7 @@ static char *output_fields[] = {
NULL,
};
r_device generic_temperature_sensor = {
r_device const generic_temperature_sensor = {
.name = "Generic temperature sensor 1",
.modulation = OOK_PULSE_PPM,
.short_width = 2000,

View file

@ -337,7 +337,7 @@ static char *output_fields[] = {
NULL,
};
r_device geo_minim = {
r_device const geo_minim = {
.name = "GEO minim+ energy monitor",
.modulation = FSK_PULSE_PCM,
.short_width = 24,

View file

@ -249,7 +249,7 @@ static char *output_fields[] = {
NULL,
};
r_device govee = {
r_device const govee = {
.name = "Govee Water Leak Detector H5054, Door Contact Sensor B5023",
.modulation = OOK_PULSE_PWM,
.short_width = 440, // Threshold between short and long pulse [us]
@ -389,7 +389,7 @@ static int govee_h5054_decode(r_device *decoder, bitbuffer_t *bitbuffer)
return 1;
}
r_device govee_h5054 = {
r_device const govee_h5054 = {
.name = "Govee Water Leak Detector H5054",
.modulation = OOK_PULSE_PWM,
.short_width = 440, // Threshold between short and long pulse [us]

View file

@ -135,7 +135,7 @@ static char *output_fields[] = {
NULL,
};
r_device gt_tmbbq05 = {
r_device const gt_tmbbq05 = {
.name = "Globaltronics QUIGG GT-TMBBQ-05",
.modulation = OOK_PULSE_PPM,
.short_width = 2000,

View file

@ -126,7 +126,7 @@ static char *output_fields[] = {
NULL,
};
r_device gt_wt_02 = {
r_device const gt_wt_02 = {
.name = "Globaltronics GT-WT-02 Sensor",
.modulation = OOK_PULSE_PPM,
.short_width = 2500, // 3ms (old) / 2ms (new)

View file

@ -158,7 +158,7 @@ static char *output_fields[] = {
NULL,
};
r_device gt_wt_03 = {
r_device const gt_wt_03 = {
.name = "Globaltronics GT-WT-03 Sensor",
.modulation = OOK_PULSE_PWM,
.short_width = 256,

View file

@ -97,7 +97,7 @@ static char *output_fields[] = {
NULL,
};
r_device hcs200 = {
r_device const hcs200 = {
.name = "Microchip HCS200/HCS300 KeeLoq Hopping Encoder based remotes",
.modulation = OOK_PULSE_PWM,
.short_width = 370,
@ -109,7 +109,7 @@ r_device hcs200 = {
.fields = output_fields,
};
r_device hcs200_fsk = {
r_device const hcs200_fsk = {
.name = "Microchip HCS200/HCS300 KeeLoq Hopping Encoder based remotes (FSK)",
.modulation = FSK_PULSE_PWM,
.short_width = 370,

View file

@ -242,7 +242,7 @@ static char *output_fields[] = {
NULL,
};
r_device hideki_ts04 = {
r_device const hideki_ts04 = {
.name = "HIDEKI TS04 Temperature, Humidity, Wind and Rain Sensor",
.modulation = OOK_PULSE_DMC,
.short_width = 520, // half-bit width 520 us

View file

@ -131,7 +131,7 @@ static char *output_fields[] = {
NULL,
};
r_device holman_ws5029pcm = {
r_device const holman_ws5029pcm = {
.name = "Holman Industries iWeather WS5029 weather station (newer PCM)",
.modulation = FSK_PULSE_PCM,
.short_width = 100,
@ -212,7 +212,7 @@ static int holman_ws5029pwm_decode(r_device *decoder, bitbuffer_t *bitbuffer)
return 1;
}
r_device holman_ws5029pwm = {
r_device const holman_ws5029pwm = {
.name = "Holman Industries iWeather WS5029 weather station (older PWM)",
.modulation = FSK_PULSE_PWM,
.short_width = 488,

View file

@ -68,7 +68,7 @@ static char *output_fields[] = {
NULL,
};
r_device hondaremote = {
r_device const hondaremote = {
.name = "Honda Car Key",
.modulation = FSK_PULSE_PWM,
.short_width = 250,

View file

@ -139,7 +139,7 @@ static char *output_fields[] = {
NULL,
};
r_device honeywell = {
r_device const honeywell = {
.name = "Honeywell Door/Window Sensor, 2Gig DW10/DW11, RE208 repeater",
.modulation = OOK_PULSE_MANCHESTER_ZEROBIT,
.short_width = 156,

View file

@ -458,7 +458,7 @@ static char *output_fields[] = {
NULL,
};
r_device honeywell_cm921 = {
r_device const honeywell_cm921 = {
.name = "Honeywell CM921 Wireless Programmable Room Thermostat",
.modulation = FSK_PULSE_PCM,
.short_width = 26,

View file

@ -125,7 +125,7 @@ static char *output_fields[] = {
NULL,
};
r_device honeywell_wdb = {
r_device const honeywell_wdb = {
.name = "Honeywell ActivLink, Wireless Doorbell",
.modulation = OOK_PULSE_PWM,
.short_width = 175,
@ -137,7 +137,7 @@ r_device honeywell_wdb = {
.fields = output_fields,
};
r_device honeywell_wdb_fsk = {
r_device const honeywell_wdb_fsk = {
.name = "Honeywell ActivLink, Wireless Doorbell (FSK)",
.modulation = FSK_PULSE_PWM,
.short_width = 160,

View file

@ -90,7 +90,7 @@ static char *output_fields[] = {
NULL,
};
r_device ht680 = {
r_device const ht680 = {
.name = "HT680 Remote control",
.modulation = OOK_PULSE_PWM,
.short_width = 200,

View file

@ -89,7 +89,7 @@ static char *output_fields[] = {
NULL,
};
r_device ibis_beacon = {
r_device const ibis_beacon = {
.name = "IBIS beacon",
.modulation = OOK_PULSE_MANCHESTER_ZEROBIT,
.short_width = 30, // Nominal width of clock half period [us]

View file

@ -288,7 +288,7 @@ static char *output_fields[] = {
NULL,
};
r_device ikea_sparsnas = {
r_device const ikea_sparsnas = {
.name = "IKEA Sparsnas Energy Meter Monitor",
.modulation = FSK_PULSE_PCM,
.short_width = 27,

View file

@ -130,7 +130,7 @@ This analysis is the reason for the new r_device definitions below.
NB: pulse_slicer_ppm does not use .gap_limit if .tolerance is set.
*/
r_device infactory = {
r_device const infactory = {
.name = "inFactory, nor-tec, FreeTec NC-3982-913 temperature humidity sensor",
.modulation = OOK_PULSE_PPM,
.sync_width = 500, // Sync pulse width (recognized, but not used)

View file

@ -140,7 +140,7 @@ static char *output_fields[] = {
NULL,
};
r_device inkbird_ith20r = {
r_device const inkbird_ith20r = {
.name = "Inkbird ITH-20R temperature humidity sensor",
.modulation = FSK_PULSE_PCM,
.short_width = 100, // Width of a '0' gap

View file

@ -84,7 +84,7 @@ static char *kw9015b_csv_output_fields[] = {
NULL,
};
r_device kw9015b = {
r_device const kw9015b = {
.name = "Inovalley kw9015b, TFA Dostmann 30.3161 (Rain and temperature sensor)",
.modulation = OOK_PULSE_PPM,
.short_width = 2000,

View file

@ -484,7 +484,7 @@ static char *output_fields[] = {
// -X 'n=Insteon_F16,m=FSK_PCM,s=110,l=110,t=15,g=20000,r=20000,invert,match={16}0x6666'
r_device insteon = {
r_device const insteon = {
.name = "Insteon",
.modulation = FSK_PULSE_PCM,
.short_width = 110, // short gap is 132 us

View file

@ -237,7 +237,7 @@ static char *output_fields[] = {
NULL,
};
r_device interlogix = {
r_device const interlogix = {
.name = "Interlogix GE UTC Security Devices",
.modulation = OOK_PULSE_PPM,
.short_width = 122,

View file

@ -61,7 +61,7 @@ static char *output_fields[] = {
NULL,
};
r_device intertechno = {
r_device const intertechno = {
.name = "Intertechno 433",
.modulation = OOK_PULSE_PPM,
.short_width = 330,

View file

@ -77,7 +77,7 @@ static char *output_fields[] = {
NULL,
};
r_device jasco = {
r_device const jasco = {
.name = "Jasco/GE Choice Alert Security Devices",
.modulation = OOK_PULSE_PCM,
.short_width = 250,

View file

@ -105,7 +105,7 @@ static char *output_fields[] = {
NULL,
};
r_device kedsum = {
r_device const kedsum = {
.name = "Kedsum Temperature & Humidity Sensor, Pearl NC-7415",
.modulation = OOK_PULSE_PPM,
.short_width = 2000,

View file

@ -103,7 +103,7 @@ static char *output_fields[] = {
NULL,
};
r_device kerui = {
r_device const kerui = {
.name = "Kerui PIR / Contact Sensor",
.modulation = OOK_PULSE_PWM,
.short_width = 420,

View file

@ -101,7 +101,7 @@ static char *output_fields[] = {
NULL,
};
r_device klimalogg = {
r_device const klimalogg = {
.name = "Klimalogg",
.modulation = OOK_PULSE_NRZS,
.short_width = 26,

Some files were not shown because too many files have changed in this diff Show more