mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-29 06:24:45 -07:00
Apply subghz FA changes from OFW, update API symbols
This commit is contained in:
@@ -5,8 +5,6 @@
|
||||
|
||||
#define TAG "SubghzFrequencyAnalyzerWorker"
|
||||
|
||||
#define SUBGHZ_FREQUENCY_ANALYZER_THRESHOLD -97.0f
|
||||
|
||||
static const uint8_t subghz_preset_ook_58khz[][2] = {
|
||||
{CC1101_MDMCFG4, 0b11110111}, // Rx BW filter is 58.035714kHz
|
||||
/* End */
|
||||
@@ -72,7 +70,7 @@ static int32_t subghz_frequency_analyzer_worker_thread(void* context) {
|
||||
.frequency_coarse = 0, .rssi_coarse = 0, .frequency_fine = 0, .rssi_fine = 0};
|
||||
float rssi = 0;
|
||||
uint32_t frequency = 0;
|
||||
float rssi_temp = 0;
|
||||
float rssi_temp = -127.0f;
|
||||
uint32_t frequency_temp = 0;
|
||||
CC1101Status status;
|
||||
|
||||
@@ -197,7 +195,7 @@ static int32_t subghz_frequency_analyzer_worker_thread(void* context) {
|
||||
TAG, "=:%lu:%f", frequency_rssi.frequency_fine, (double)frequency_rssi.rssi_fine);
|
||||
|
||||
instance->sample_hold_counter = 20;
|
||||
rssi_temp = frequency_rssi.rssi_fine;
|
||||
rssi_temp = (rssi_temp + frequency_rssi.rssi_fine) / 2;
|
||||
frequency_temp = frequency_rssi.frequency_fine;
|
||||
|
||||
if(instance->filVal) {
|
||||
@@ -208,10 +206,7 @@ static int32_t subghz_frequency_analyzer_worker_thread(void* context) {
|
||||
// Deliver callback
|
||||
if(instance->pair_callback) {
|
||||
instance->pair_callback(
|
||||
instance->context,
|
||||
frequency_rssi.frequency_fine,
|
||||
frequency_rssi.rssi_fine,
|
||||
true);
|
||||
instance->context, frequency_rssi.frequency_fine, rssi_temp, true);
|
||||
}
|
||||
} else if( // Deliver results coarse
|
||||
(frequency_rssi.rssi_coarse > instance->trigger_level) &&
|
||||
@@ -223,7 +218,7 @@ static int32_t subghz_frequency_analyzer_worker_thread(void* context) {
|
||||
(double)frequency_rssi.rssi_coarse);
|
||||
|
||||
instance->sample_hold_counter = 20;
|
||||
rssi_temp = frequency_rssi.rssi_coarse;
|
||||
rssi_temp = (rssi_temp + frequency_rssi.rssi_coarse) / 2;
|
||||
frequency_temp = frequency_rssi.frequency_coarse;
|
||||
if(instance->filVal) {
|
||||
frequency_rssi.frequency_coarse =
|
||||
@@ -233,15 +228,12 @@ static int32_t subghz_frequency_analyzer_worker_thread(void* context) {
|
||||
// Deliver callback
|
||||
if(instance->pair_callback) {
|
||||
instance->pair_callback(
|
||||
instance->context,
|
||||
frequency_rssi.frequency_coarse,
|
||||
frequency_rssi.rssi_coarse,
|
||||
true);
|
||||
instance->context, frequency_rssi.frequency_coarse, rssi_temp, true);
|
||||
}
|
||||
} else {
|
||||
if(instance->sample_hold_counter > 0) {
|
||||
instance->sample_hold_counter--;
|
||||
if(instance->sample_hold_counter == 18) {
|
||||
if(instance->sample_hold_counter == 15) {
|
||||
if(instance->pair_callback) {
|
||||
instance->pair_callback(
|
||||
instance->context, frequency_temp, rssi_temp, false);
|
||||
@@ -249,8 +241,8 @@ static int32_t subghz_frequency_analyzer_worker_thread(void* context) {
|
||||
}
|
||||
} else {
|
||||
instance->filVal = 0;
|
||||
if(instance->pair_callback)
|
||||
instance->pair_callback(instance->context, 0, 0, false);
|
||||
rssi_temp = -127.0f;
|
||||
instance->pair_callback(instance->context, 0, 0, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -266,12 +258,8 @@ SubGhzFrequencyAnalyzerWorker* subghz_frequency_analyzer_worker_alloc(void* cont
|
||||
furi_assert(context);
|
||||
SubGhzFrequencyAnalyzerWorker* instance = malloc(sizeof(SubGhzFrequencyAnalyzerWorker));
|
||||
|
||||
instance->thread = furi_thread_alloc();
|
||||
furi_thread_set_name(instance->thread, "SubGhzFAWorker");
|
||||
furi_thread_set_stack_size(instance->thread, 2048);
|
||||
furi_thread_set_context(instance->thread, instance);
|
||||
furi_thread_set_callback(instance->thread, subghz_frequency_analyzer_worker_thread);
|
||||
|
||||
instance->thread = furi_thread_alloc_ex(
|
||||
"SubGhzFAWorker", 2048, subghz_frequency_analyzer_worker_thread, instance);
|
||||
SubGhz* subghz = context;
|
||||
instance->setting = subghz->setting;
|
||||
instance->trigger_level = subghz->last_settings->frequency_analyzer_trigger;
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#include <furi_hal.h>
|
||||
#include "../subghz_i.h"
|
||||
|
||||
#define SUBGHZ_FREQUENCY_ANALYZER_THRESHOLD -97.0f
|
||||
|
||||
typedef struct SubGhzFrequencyAnalyzerWorker SubGhzFrequencyAnalyzerWorker;
|
||||
|
||||
typedef void (*SubGhzFrequencyAnalyzerWorkerPairCallback)(
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#define SUBGHZ_LAST_SETTING_DEFAULT_PRESET 1
|
||||
#define SUBGHZ_LAST_SETTING_DEFAULT_FREQUENCY 433920000
|
||||
#define SUBGHZ_LAST_SETTING_FREQUENCY_ANALYZER_FEEDBACK_LEVEL 2
|
||||
#define SUBGHZ_LAST_SETTING_FREQUENCY_ANALYZER_TRIGGER -97.0f
|
||||
#define SUBGHZ_LAST_SETTING_FREQUENCY_ANALYZER_TRIGGER -93.0f
|
||||
|
||||
#ifdef SUBGHZ_SAVE_DETECT_RAW_SETTING
|
||||
#define SUBGHZ_LAST_SETTING_DEFAULT_READ_RAW 0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
entry,status,name,type,params
|
||||
Version,+,7.51,,
|
||||
Version,+,7.52,,
|
||||
Header,+,applications/services/bt/bt_service/bt.h,,
|
||||
Header,+,applications/services/cli/cli.h,,
|
||||
Header,+,applications/services/cli/cli_vcp.h,,
|
||||
@@ -2555,6 +2555,14 @@ Function,+,subghz_protocol_blocks_parity_bytes,uint8_t,"const uint8_t[], size_t"
|
||||
Function,+,subghz_protocol_blocks_reverse_key,uint64_t,"uint64_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_set_bit_array,void,"_Bool, uint8_t[], size_t, size_t"
|
||||
Function,+,subghz_protocol_blocks_xor_bytes,uint8_t,"const uint8_t[], size_t"
|
||||
Function,-,subghz_protocol_decoder_ansonic_alloc,void*,SubGhzEnvironment*
|
||||
Function,-,subghz_protocol_decoder_ansonic_deserialize,_Bool,"void*, FlipperFormat*"
|
||||
Function,-,subghz_protocol_decoder_ansonic_feed,void,"void*, _Bool, uint32_t"
|
||||
Function,-,subghz_protocol_decoder_ansonic_free,void,void*
|
||||
Function,-,subghz_protocol_decoder_ansonic_get_hash_data,uint8_t,void*
|
||||
Function,-,subghz_protocol_decoder_ansonic_get_string,void,"void*, FuriString*"
|
||||
Function,-,subghz_protocol_decoder_ansonic_reset,void,void*
|
||||
Function,-,subghz_protocol_decoder_ansonic_serialize,_Bool,"void*, FlipperFormat*, SubGhzRadioPreset*"
|
||||
Function,-,subghz_protocol_decoder_base_deserialize,_Bool,"SubGhzProtocolDecoderBase*, FlipperFormat*"
|
||||
Function,+,subghz_protocol_decoder_base_get_hash_data,uint8_t,SubGhzProtocolDecoderBase*
|
||||
Function,+,subghz_protocol_decoder_base_get_string,_Bool,"SubGhzProtocolDecoderBase*, FuriString*"
|
||||
@@ -2835,6 +2843,11 @@ Function,-,subghz_protocol_decoder_star_line_get_hash_data,uint8_t,void*
|
||||
Function,-,subghz_protocol_decoder_star_line_get_string,void,"void*, FuriString*"
|
||||
Function,-,subghz_protocol_decoder_star_line_reset,void,void*
|
||||
Function,-,subghz_protocol_decoder_star_line_serialize,_Bool,"void*, FlipperFormat*, SubGhzRadioPreset*"
|
||||
Function,-,subghz_protocol_encoder_ansonic_alloc,void*,SubGhzEnvironment*
|
||||
Function,-,subghz_protocol_encoder_ansonic_deserialize,_Bool,"void*, FlipperFormat*"
|
||||
Function,-,subghz_protocol_encoder_ansonic_free,void,void*
|
||||
Function,-,subghz_protocol_encoder_ansonic_stop,void,void*
|
||||
Function,-,subghz_protocol_encoder_ansonic_yield,LevelDuration,void*
|
||||
Function,-,subghz_protocol_encoder_bett_alloc,void*,SubGhzEnvironment*
|
||||
Function,-,subghz_protocol_encoder_bett_deserialize,_Bool,"void*, FlipperFormat*"
|
||||
Function,-,subghz_protocol_encoder_bett_free,void,void*
|
||||
@@ -4699,6 +4712,9 @@ Variable,+,sequence_set_vibro_on,const NotificationSequence,
|
||||
Variable,+,sequence_single_vibro,const NotificationSequence,
|
||||
Variable,+,sequence_solid_yellow,const NotificationSequence,
|
||||
Variable,+,sequence_success,const NotificationSequence,
|
||||
Variable,-,subghz_protocol_ansonic,const SubGhzProtocol,
|
||||
Variable,-,subghz_protocol_ansonic_decoder,const SubGhzProtocolDecoder,
|
||||
Variable,-,subghz_protocol_ansonic_encoder,const SubGhzProtocolEncoder,
|
||||
Variable,-,subghz_protocol_bett,const SubGhzProtocol,
|
||||
Variable,-,subghz_protocol_bett_decoder,const SubGhzProtocolDecoder,
|
||||
Variable,-,subghz_protocol_bett_encoder,const SubGhzProtocolEncoder,
|
||||
|
||||
|
Reference in New Issue
Block a user