mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-24 03:29:57 -07:00
Proper SubGhz ignore system (fix BusFault in apps)
Old ignore system used SubGhzProtocolFlag_* This enum was saturated, and started taking more bytes than on OFW This caused BusFault when using apps compiled for OFW, like from catalog Crash is because of incompatible memory structure New ignore system uses own enum at end of struct This is binary compatible with OFW and correct solution for future
This commit is contained in:
@@ -86,11 +86,13 @@ const SubGhzProtocol ws_protocol_acurite_592txr = {
|
||||
.name = WS_PROTOCOL_ACURITE_592TXR_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save | SubGhzProtocolFlag_Send,
|
||||
|
||||
.decoder = &ws_protocol_acurite_592txr_decoder,
|
||||
.encoder = &ws_protocol_acurite_592txr_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_acurite_592txr_alloc(SubGhzEnvironment* environment) {
|
||||
@@ -415,4 +417,4 @@ LevelDuration ws_protocol_encoder_acurite_592txr_yield(void* context) {
|
||||
void ws_protocol_encoder_acurite_592txr_stop(void* context) {
|
||||
WSProtocolEncoderAcurite_592TXR* instance = context;
|
||||
instance->encoder.is_running = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,11 +69,13 @@ const SubGhzProtocol ws_protocol_acurite_606tx = {
|
||||
.name = WS_PROTOCOL_ACURITE_606TX_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_acurite_606tx_decoder,
|
||||
.encoder = &ws_protocol_acurite_606tx_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_acurite_606tx_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -70,11 +70,13 @@ const SubGhzProtocol ws_protocol_acurite_609txc = {
|
||||
.name = WS_PROTOCOL_ACURITE_609TXC_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_acurite_609txc_decoder,
|
||||
.encoder = &ws_protocol_acurite_609txc_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_acurite_609txc_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -84,11 +84,13 @@ const SubGhzProtocol ws_protocol_ambient_weather = {
|
||||
.name = WS_PROTOCOL_AMBIENT_WEATHER_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_ambient_weather_decoder,
|
||||
.encoder = &ws_protocol_ambient_weather_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_ambient_weather_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -81,11 +81,13 @@ const SubGhzProtocol ws_protocol_auriol_ahfl = {
|
||||
.name = WS_PROTOCOL_AURIOL_AHFL_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_auriol_ahfl_decoder,
|
||||
.encoder = &ws_protocol_auriol_ahfl_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_auriol_ahfl_alloc(SubGhzEnvironment* environment) {
|
||||
@@ -252,4 +254,4 @@ void ws_protocol_decoder_auriol_ahfl_get_string(void* context, FuriString* outpu
|
||||
instance->generic.battery_low,
|
||||
(double)instance->generic.temp,
|
||||
instance->generic.humidity);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,11 +80,13 @@ const SubGhzProtocol ws_protocol_auriol_th = {
|
||||
.name = WS_PROTOCOL_AURIOL_TH_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_auriol_th_decoder,
|
||||
.encoder = &ws_protocol_auriol_th_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_auriol_th_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -83,11 +83,13 @@ const SubGhzProtocol ws_protocol_gt_wt_02 = {
|
||||
.name = WS_PROTOCOL_GT_WT_02_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_gt_wt_02_decoder,
|
||||
.encoder = &ws_protocol_gt_wt_02_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_gt_wt_02_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -109,11 +109,13 @@ const SubGhzProtocol ws_protocol_gt_wt_03 = {
|
||||
.name = WS_PROTOCOL_GT_WT_03_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_gt_wt_03_decoder,
|
||||
.encoder = &ws_protocol_gt_wt_03_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_gt_wt_03_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -94,11 +94,13 @@ const SubGhzProtocol ws_protocol_infactory = {
|
||||
.name = WS_PROTOCOL_INFACTORY_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_infactory_decoder,
|
||||
.encoder = &ws_protocol_infactory_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_infactory_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -63,11 +63,12 @@ const SubGhzProtocolEncoder subghz_protocol_kia_encoder = {
|
||||
const SubGhzProtocol subghz_protocol_kia = {
|
||||
.name = SUBGHZ_PROTOCOL_KIA_NAME,
|
||||
.type = SubGhzProtocolTypeDynamic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_FM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_AutoAlarms,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_FM | SubGhzProtocolFlag_Decodable,
|
||||
|
||||
.decoder = &subghz_protocol_kia_decoder,
|
||||
.encoder = &subghz_protocol_kia_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_AutoAlarms,
|
||||
};
|
||||
|
||||
void* subghz_protocol_decoder_kia_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -98,10 +98,12 @@ const SubGhzProtocol ws_protocol_lacrosse_tx = {
|
||||
.name = WS_PROTOCOL_LACROSSE_TX_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather,
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable,
|
||||
|
||||
.decoder = &ws_protocol_lacrosse_tx_decoder,
|
||||
.encoder = &ws_protocol_lacrosse_tx_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_lacrosse_tx_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -76,11 +76,13 @@ const SubGhzProtocol ws_protocol_lacrosse_tx141thbv2 = {
|
||||
.name = WS_PROTOCOL_LACROSSE_TX141THBV2_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_lacrosse_tx141thbv2_decoder,
|
||||
.encoder = &ws_protocol_lacrosse_tx141thbv2_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_lacrosse_tx141thbv2_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -64,11 +64,12 @@ const SubGhzProtocol subghz_protocol_magellan = {
|
||||
.name = SUBGHZ_PROTOCOL_MAGELLAN_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save | SubGhzProtocolFlag_Send |
|
||||
SubGhzProtocolFlag_Magellan,
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save | SubGhzProtocolFlag_Send,
|
||||
|
||||
.decoder = &subghz_protocol_magellan_decoder,
|
||||
.encoder = &subghz_protocol_magellan_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Magellan,
|
||||
};
|
||||
|
||||
void* subghz_protocol_encoder_magellan_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -356,9 +356,11 @@ const SubGhzProtocol ws_protocol_nexus_th = {
|
||||
.name = WS_PROTOCOL_NEXUS_TH_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save | SubGhzProtocolFlag_Send,
|
||||
|
||||
.decoder = &ws_protocol_nexus_th_decoder,
|
||||
.encoder = &ws_protocol_nexus_th_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
@@ -80,10 +80,12 @@ const SubGhzProtocol subghz_protocol_nice_flor_s = {
|
||||
.type = SubGhzProtocolTypeDynamic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_868 | SubGhzProtocolFlag_AM |
|
||||
SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save |
|
||||
SubGhzProtocolFlag_Send | SubGhzProtocolFlag_NiceFlorS,
|
||||
SubGhzProtocolFlag_Send,
|
||||
|
||||
.decoder = &subghz_protocol_nice_flor_s_decoder,
|
||||
.encoder = &subghz_protocol_nice_flor_s_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_NiceFlorS,
|
||||
};
|
||||
|
||||
static void subghz_protocol_nice_flor_s_remote_controller(
|
||||
|
||||
@@ -424,7 +424,9 @@ const SubGhzProtocol ws_protocol_oregon2 = {
|
||||
.name = WS_PROTOCOL_OREGON2_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Weather | SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_oregon2_decoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
@@ -360,7 +360,9 @@ const SubGhzProtocol ws_protocol_oregon3 = {
|
||||
.name = WS_PROTOCOL_OREGON3_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Weather | SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_oregon3_decoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
@@ -95,11 +95,13 @@ const SubGhzProtocol ws_protocol_oregon_v1 = {
|
||||
.name = WS_PROTOCOL_OREGON_V1_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_oregon_v1_decoder,
|
||||
.encoder = &ws_protocol_oregon_v1_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_oregon_v1_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -73,10 +73,12 @@ const SubGhzProtocol subghz_protocol_princeton = {
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_868 | SubGhzProtocolFlag_315 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Load |
|
||||
SubGhzProtocolFlag_Save | SubGhzProtocolFlag_Send | SubGhzProtocolFlag_Princeton,
|
||||
SubGhzProtocolFlag_Save | SubGhzProtocolFlag_Send,
|
||||
|
||||
.decoder = &subghz_protocol_princeton_decoder,
|
||||
.encoder = &subghz_protocol_princeton_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Princeton,
|
||||
};
|
||||
|
||||
void* subghz_protocol_encoder_princeton_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -70,10 +70,12 @@ const SubGhzProtocol subghz_protocol_scher_khan = {
|
||||
.name = SUBGHZ_PROTOCOL_SCHER_KHAN_NAME,
|
||||
.type = SubGhzProtocolTypeDynamic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_FM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Save | SubGhzProtocolFlag_AutoAlarms,
|
||||
SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &subghz_protocol_scher_khan_decoder,
|
||||
.encoder = &subghz_protocol_scher_khan_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_AutoAlarms,
|
||||
};
|
||||
|
||||
void* subghz_protocol_decoder_scher_khan_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -101,11 +101,12 @@ const SubGhzProtocol tpms_protocol_schrader_gg4 = {
|
||||
.name = TPMS_PROTOCOL_SCHRADER_GG4_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_AM |
|
||||
SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_TPMS | SubGhzProtocolFlag_Load |
|
||||
SubGhzProtocolFlag_Save,
|
||||
SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &tpms_protocol_schrader_gg4_decoder,
|
||||
.encoder = &tpms_protocol_schrader_gg4_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_TPMS,
|
||||
};
|
||||
|
||||
void* tpms_protocol_decoder_schrader_gg4_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -79,11 +79,12 @@ const SubGhzProtocol subghz_protocol_star_line = {
|
||||
.name = SUBGHZ_PROTOCOL_STAR_LINE_NAME,
|
||||
.type = SubGhzProtocolTypeDynamic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save | SubGhzProtocolFlag_Send |
|
||||
SubGhzProtocolFlag_StarLine,
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save | SubGhzProtocolFlag_Send,
|
||||
|
||||
.decoder = &subghz_protocol_star_line_decoder,
|
||||
.encoder = &subghz_protocol_star_line_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_StarLine,
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -79,11 +79,13 @@ const SubGhzProtocol ws_protocol_thermopro_tx4 = {
|
||||
.name = WS_PROTOCOL_THERMOPRO_TX4_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_thermopro_tx4_decoder,
|
||||
.encoder = &ws_protocol_thermopro_tx4_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_thermopro_tx4_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -90,11 +90,13 @@ const SubGhzProtocol ws_protocol_tx_8300 = {
|
||||
.name = WS_PROTOCOL_TX_8300_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_tx_8300_decoder,
|
||||
.encoder = &ws_protocol_tx_8300_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_tx_8300_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -84,11 +84,13 @@ const SubGhzProtocol ws_protocol_wendox_w6726 = {
|
||||
.name = WS_PROTOCOL_WENDOX_W6726_NAME,
|
||||
.type = SubGhzProtocolTypeStatic,
|
||||
.flag = SubGhzProtocolFlag_433 | SubGhzProtocolFlag_315 | SubGhzProtocolFlag_868 |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable | SubGhzProtocolFlag_Weather |
|
||||
SubGhzProtocolFlag_AM | SubGhzProtocolFlag_Decodable |
|
||||
SubGhzProtocolFlag_Load | SubGhzProtocolFlag_Save,
|
||||
|
||||
.decoder = &ws_protocol_wendox_w6726_decoder,
|
||||
.encoder = &ws_protocol_wendox_w6726_encoder,
|
||||
|
||||
.filter = SubGhzProtocolFilter_Weather,
|
||||
};
|
||||
|
||||
void* ws_protocol_decoder_wendox_w6726_alloc(SubGhzEnvironment* environment) {
|
||||
|
||||
@@ -112,6 +112,7 @@ typedef enum {
|
||||
SubGhzProtocolTypeStatic,
|
||||
SubGhzProtocolTypeDynamic,
|
||||
SubGhzProtocolTypeRAW,
|
||||
SubGhzProtocolWeatherStation, // Unused, kept for compatibility
|
||||
SubGhzProtocolCustom,
|
||||
SubGhzProtocolTypeBinRAW,
|
||||
} SubGhzProtocolType;
|
||||
@@ -128,15 +129,18 @@ typedef enum {
|
||||
SubGhzProtocolFlag_Load = (1 << 8),
|
||||
SubGhzProtocolFlag_Send = (1 << 9),
|
||||
SubGhzProtocolFlag_BinRAW = (1 << 10),
|
||||
SubGhzProtocolFlag_StarLine = (1 << 11),
|
||||
SubGhzProtocolFlag_AutoAlarms = (1 << 12),
|
||||
SubGhzProtocolFlag_Magellan = (1 << 13),
|
||||
SubGhzProtocolFlag_Princeton = (1 << 14),
|
||||
SubGhzProtocolFlag_NiceFlorS = (1 << 15),
|
||||
SubGhzProtocolFlag_Weather = (1 << 16),
|
||||
SubGhzProtocolFlag_TPMS = (1 << 17),
|
||||
} SubGhzProtocolFlag;
|
||||
|
||||
typedef enum {
|
||||
SubGhzProtocolFilter_StarLine = (1 << 0),
|
||||
SubGhzProtocolFilter_AutoAlarms = (1 << 1),
|
||||
SubGhzProtocolFilter_Magellan = (1 << 2),
|
||||
SubGhzProtocolFilter_Princeton = (1 << 3),
|
||||
SubGhzProtocolFilter_NiceFlorS = (1 << 4),
|
||||
SubGhzProtocolFilter_Weather = (1 << 5),
|
||||
SubGhzProtocolFilter_TPMS = (1 << 6),
|
||||
} SubGhzProtocolFilter;
|
||||
|
||||
struct SubGhzProtocol {
|
||||
const char* name;
|
||||
SubGhzProtocolType type;
|
||||
@@ -144,4 +148,6 @@ struct SubGhzProtocol {
|
||||
|
||||
const SubGhzProtocolEncoder* encoder;
|
||||
const SubGhzProtocolDecoder* decoder;
|
||||
|
||||
SubGhzProtocolFilter filter;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user