mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-10 05:59:08 -07:00
Merge branch 'dev' into shutdown_idle
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
entry,status,name,type,params
|
||||
Version,+,3.6,,
|
||||
Version,+,7.0,,
|
||||
Header,+,applications/services/bt/bt_service/bt.h,,
|
||||
Header,+,applications/services/cli/cli.h,,
|
||||
Header,+,applications/services/cli/cli_vcp.h,,
|
||||
@@ -260,6 +260,8 @@ Function,-,__eprintf,void,"const char*, const char*, unsigned int, const char*"
|
||||
Function,+,__errno,int*,
|
||||
Function,-,__fpclassifyd,int,double
|
||||
Function,-,__fpclassifyf,int,float
|
||||
Function,+,__furi_crash,void,
|
||||
Function,+,__furi_halt,void,
|
||||
Function,-,__getdelim,ssize_t,"char**, size_t*, int, FILE*"
|
||||
Function,-,__getline,ssize_t,"char**, size_t*, FILE*"
|
||||
Function,-,__isinfd,int,double
|
||||
@@ -891,7 +893,6 @@ Function,-,ftello,off_t,FILE*
|
||||
Function,-,ftrylockfile,int,FILE*
|
||||
Function,-,funlockfile,void,FILE*
|
||||
Function,-,funopen,FILE*,"const void*, int (*)(void*, char*, int), int (*)(void*, const char*, int), fpos_t (*)(void*, fpos_t, int), int (*)(void*)"
|
||||
Function,+,furi_crash,void,const char*
|
||||
Function,+,furi_delay_ms,void,uint32_t
|
||||
Function,+,furi_delay_tick,void,uint32_t
|
||||
Function,+,furi_delay_until_tick,FuriStatus,uint32_t
|
||||
@@ -1308,7 +1309,6 @@ Function,+,furi_hal_version_uid,const uint8_t*,
|
||||
Function,+,furi_hal_version_uid_size,size_t,
|
||||
Function,-,furi_hal_vibro_init,void,
|
||||
Function,+,furi_hal_vibro_on,void,_Bool
|
||||
Function,+,furi_halt,void,const char*
|
||||
Function,-,furi_init,void,
|
||||
Function,+,furi_kernel_get_tick_frequency,uint32_t,
|
||||
Function,+,furi_kernel_lock,int32_t,
|
||||
@@ -2272,21 +2272,26 @@ Function,-,subghz_keystore_raw_encrypted_save,_Bool,"const char*, const char*, u
|
||||
Function,-,subghz_keystore_raw_get_data,_Bool,"const char*, size_t, uint8_t*, size_t"
|
||||
Function,-,subghz_keystore_save,_Bool,"SubGhzKeystore*, const char*, uint8_t*"
|
||||
Function,+,subghz_protocol_blocks_add_bit,void,"SubGhzBlockDecoder*, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_crc16,uint16_t,"const uint8_t[], unsigned, uint16_t, uint16_t"
|
||||
Function,+,subghz_protocol_blocks_crc16lsb,uint16_t,"const uint8_t[], unsigned, uint16_t, uint16_t"
|
||||
Function,+,subghz_protocol_blocks_crc4,uint8_t,"const uint8_t[], unsigned, uint8_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_crc7,uint8_t,"const uint8_t[], unsigned, uint8_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_crc8,uint8_t,"const uint8_t[], unsigned, uint8_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_crc8le,uint8_t,"const uint8_t[], unsigned, uint8_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_add_bytes,uint8_t,"const uint8_t[], size_t"
|
||||
Function,+,subghz_protocol_blocks_add_to_128_bit,void,"SubGhzBlockDecoder*, uint8_t, uint64_t*"
|
||||
Function,+,subghz_protocol_blocks_crc16,uint16_t,"const uint8_t[], size_t, uint16_t, uint16_t"
|
||||
Function,+,subghz_protocol_blocks_crc16lsb,uint16_t,"const uint8_t[], size_t, uint16_t, uint16_t"
|
||||
Function,+,subghz_protocol_blocks_crc4,uint8_t,"const uint8_t[], size_t, uint8_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_crc7,uint8_t,"const uint8_t[], size_t, uint8_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_crc8,uint8_t,"const uint8_t[], size_t, uint8_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_crc8le,uint8_t,"const uint8_t[], size_t, uint8_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_get_bit_array,_Bool,"uint8_t[], size_t"
|
||||
Function,+,subghz_protocol_blocks_get_hash_data,uint8_t,"SubGhzBlockDecoder*, size_t"
|
||||
Function,+,subghz_protocol_blocks_get_parity,uint8_t,"uint64_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_get_upload,size_t,"uint8_t[], size_t, LevelDuration*, size_t, uint32_t"
|
||||
Function,+,subghz_protocol_blocks_lfsr_digest16,uint16_t,"const uint8_t[], unsigned, uint16_t, uint16_t"
|
||||
Function,+,subghz_protocol_blocks_lfsr_digest8,uint8_t,"const uint8_t[], unsigned, uint8_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_lfsr_digest8_reflect,uint8_t,"const uint8_t[], int, uint8_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_lfsr_digest16,uint16_t,"const uint8_t[], size_t, uint16_t, uint16_t"
|
||||
Function,+,subghz_protocol_blocks_lfsr_digest8,uint8_t,"const uint8_t[], size_t, uint8_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_lfsr_digest8_reflect,uint8_t,"const uint8_t[], size_t, uint8_t, uint8_t"
|
||||
Function,+,subghz_protocol_blocks_parity8,uint8_t,uint8_t
|
||||
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_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*"
|
||||
@@ -2307,6 +2312,7 @@ Function,+,subghz_protocol_raw_file_encoder_worker_set_callback_end,void,"SubGhz
|
||||
Function,+,subghz_protocol_raw_gen_fff_data,void,"FlipperFormat*, const char*"
|
||||
Function,+,subghz_protocol_raw_get_sample_write,size_t,SubGhzProtocolDecoderRAW*
|
||||
Function,+,subghz_protocol_raw_save_to_file_init,_Bool,"SubGhzProtocolDecoderRAW*, const char*, SubGhzRadioPreset*"
|
||||
Function,+,subghz_protocol_raw_save_to_file_pause,void,"SubGhzProtocolDecoderRAW*, _Bool"
|
||||
Function,+,subghz_protocol_raw_save_to_file_stop,void,SubGhzProtocolDecoderRAW*
|
||||
Function,+,subghz_receiver_alloc_init,SubGhzReceiver*,SubGhzEnvironment*
|
||||
Function,+,subghz_receiver_decode,void,"SubGhzReceiver*, _Bool, uint32_t"
|
||||
@@ -2656,189 +2662,7 @@ Function,-,yn,double,"int, double"
|
||||
Function,-,ynf,float,"int, float"
|
||||
Variable,-,AHBPrescTable,const uint32_t[16],
|
||||
Variable,-,APBPrescTable,const uint32_t[8],
|
||||
Variable,+,A_125khz_14,const Icon,
|
||||
Variable,+,A_BadUsb_14,const Icon,
|
||||
Variable,+,A_Debug_14,const Icon,
|
||||
Variable,+,A_FileManager_14,const Icon,
|
||||
Variable,+,A_GPIO_14,const Icon,
|
||||
Variable,+,A_Infrared_14,const Icon,
|
||||
Variable,+,A_Levelup1_128x64,const Icon,
|
||||
Variable,+,A_Levelup2_128x64,const Icon,
|
||||
Variable,+,A_Loading_24,const Icon,
|
||||
Variable,+,A_NFC_14,const Icon,
|
||||
Variable,+,A_Plugins_14,const Icon,
|
||||
Variable,+,A_Round_loader_8x8,const Icon,
|
||||
Variable,+,A_Settings_14,const Icon,
|
||||
Variable,+,A_Sub1ghz_14,const Icon,
|
||||
Variable,+,A_U2F_14,const Icon,
|
||||
Variable,+,A_iButton_14,const Icon,
|
||||
Variable,-,ITM_RxBuffer,volatile int32_t,
|
||||
Variable,+,I_125_10px,const Icon,
|
||||
Variable,+,I_ActiveConnection_50x64,const Icon,
|
||||
Variable,+,I_ArrowC_1_36x36,const Icon,
|
||||
Variable,+,I_ArrowDownEmpty_14x15,const Icon,
|
||||
Variable,+,I_ArrowDownFilled_14x15,const Icon,
|
||||
Variable,+,I_ArrowUpEmpty_14x15,const Icon,
|
||||
Variable,+,I_ArrowUpFilled_14x15,const Icon,
|
||||
Variable,+,I_Attention_5x8,const Icon,
|
||||
Variable,+,I_Auth_62x31,const Icon,
|
||||
Variable,+,I_BLE_Pairing_128x64,const Icon,
|
||||
Variable,+,I_Background_128x11,const Icon,
|
||||
Variable,+,I_BatteryBody_52x28,const Icon,
|
||||
Variable,+,I_Battery_16x16,const Icon,
|
||||
Variable,+,I_Battery_26x8,const Icon,
|
||||
Variable,+,I_Ble_connected_15x15,const Icon,
|
||||
Variable,+,I_Ble_disconnected_15x15,const Icon,
|
||||
Variable,+,I_Bluetooth_Connected_16x8,const Icon,
|
||||
Variable,+,I_Bluetooth_Idle_5x8,const Icon,
|
||||
Variable,+,I_ButtonCenter_7x7,const Icon,
|
||||
Variable,+,I_ButtonDown_7x4,const Icon,
|
||||
Variable,+,I_ButtonLeftSmall_3x5,const Icon,
|
||||
Variable,+,I_ButtonLeft_4x7,const Icon,
|
||||
Variable,+,I_ButtonRightSmall_3x5,const Icon,
|
||||
Variable,+,I_ButtonRight_4x7,const Icon,
|
||||
Variable,+,I_ButtonUp_7x4,const Icon,
|
||||
Variable,+,I_Button_18x18,const Icon,
|
||||
Variable,+,I_Certification1_103x56,const Icon,
|
||||
Variable,+,I_Certification2_98x33,const Icon,
|
||||
Variable,+,I_Charging_lightning_9x10,const Icon,
|
||||
Variable,+,I_Charging_lightning_mask_9x10,const Icon,
|
||||
Variable,+,I_Circles_47x47,const Icon,
|
||||
Variable,+,I_Clock_18x18,const Icon,
|
||||
Variable,+,I_Connect_me_62x31,const Icon,
|
||||
Variable,+,I_Connected_62x31,const Icon,
|
||||
Variable,+,I_CoolHi_25x27,const Icon,
|
||||
Variable,+,I_CoolHi_hvr_25x27,const Icon,
|
||||
Variable,+,I_CoolLo_25x27,const Icon,
|
||||
Variable,+,I_CoolLo_hvr_25x27,const Icon,
|
||||
Variable,+,I_Cry_dolph_55x52,const Icon,
|
||||
Variable,+,I_DFU_128x50,const Icon,
|
||||
Variable,+,I_Dehumidify_25x27,const Icon,
|
||||
Variable,+,I_Dehumidify_hvr_25x27,const Icon,
|
||||
Variable,+,I_Detailed_chip_17x13,const Icon,
|
||||
Variable,+,I_DolphinCommon_56x48,const Icon,
|
||||
Variable,+,I_DolphinMafia_115x62,const Icon,
|
||||
Variable,+,I_DolphinNice_96x59,const Icon,
|
||||
Variable,+,I_DolphinReadingSuccess_59x63,const Icon,
|
||||
Variable,+,I_DolphinWait_61x59,const Icon,
|
||||
Variable,+,I_DoorLeft_70x55,const Icon,
|
||||
Variable,+,I_DoorRight_70x55,const Icon,
|
||||
Variable,+,I_Down_25x27,const Icon,
|
||||
Variable,+,I_Down_hvr_25x27,const Icon,
|
||||
Variable,+,I_Drive_112x35,const Icon,
|
||||
Variable,+,I_Error_18x18,const Icon,
|
||||
Variable,+,I_Error_62x31,const Icon,
|
||||
Variable,+,I_EviSmile1_18x21,const Icon,
|
||||
Variable,+,I_EviSmile2_18x21,const Icon,
|
||||
Variable,+,I_EviWaiting1_18x21,const Icon,
|
||||
Variable,+,I_EviWaiting2_18x21,const Icon,
|
||||
Variable,+,I_FaceCharging_29x14,const Icon,
|
||||
Variable,+,I_FaceConfused_29x14,const Icon,
|
||||
Variable,+,I_FaceNopower_29x14,const Icon,
|
||||
Variable,+,I_FaceNormal_29x14,const Icon,
|
||||
Variable,+,I_GameMode_11x8,const Icon,
|
||||
Variable,+,I_Health_16x16,const Icon,
|
||||
Variable,+,I_HeatHi_25x27,const Icon,
|
||||
Variable,+,I_HeatHi_hvr_25x27,const Icon,
|
||||
Variable,+,I_HeatLo_25x27,const Icon,
|
||||
Variable,+,I_HeatLo_hvr_25x27,const Icon,
|
||||
Variable,+,I_InfraredArrowDown_4x8,const Icon,
|
||||
Variable,+,I_InfraredArrowUp_4x8,const Icon,
|
||||
Variable,+,I_InfraredLearnShort_128x31,const Icon,
|
||||
Variable,+,I_KeyBackspaceSelected_16x9,const Icon,
|
||||
Variable,+,I_KeyBackspace_16x9,const Icon,
|
||||
Variable,+,I_KeySaveSelected_24x11,const Icon,
|
||||
Variable,+,I_KeySave_24x11,const Icon,
|
||||
Variable,+,I_Keychain_39x36,const Icon,
|
||||
Variable,+,I_Left_mouse_icon_9x9,const Icon,
|
||||
Variable,+,I_Lock_7x8,const Icon,
|
||||
Variable,+,I_Lock_8x8,const Icon,
|
||||
Variable,+,I_MHz_25x11,const Icon,
|
||||
Variable,+,I_Medium_chip_22x21,const Icon,
|
||||
Variable,+,I_Modern_reader_18x34,const Icon,
|
||||
Variable,+,I_Move_flipper_26x39,const Icon,
|
||||
Variable,+,I_Mute_25x27,const Icon,
|
||||
Variable,+,I_Mute_hvr_25x27,const Icon,
|
||||
Variable,+,I_NFC_manual_60x50,const Icon,
|
||||
Variable,+,I_Nfc_10px,const Icon,
|
||||
Variable,+,I_Off_25x27,const Icon,
|
||||
Variable,+,I_Off_hvr_25x27,const Icon,
|
||||
Variable,+,I_Ok_btn_9x9,const Icon,
|
||||
Variable,+,I_Ok_btn_pressed_13x13,const Icon,
|
||||
Variable,+,I_Percent_10x14,const Icon,
|
||||
Variable,+,I_Pin_arrow_down_7x9,const Icon,
|
||||
Variable,+,I_Pin_arrow_left_9x7,const Icon,
|
||||
Variable,+,I_Pin_arrow_right_9x7,const Icon,
|
||||
Variable,+,I_Pin_arrow_up_7x9,const Icon,
|
||||
Variable,+,I_Pin_attention_dpad_29x29,const Icon,
|
||||
Variable,+,I_Pin_back_arrow_10x8,const Icon,
|
||||
Variable,+,I_Pin_back_full_40x8,const Icon,
|
||||
Variable,+,I_Pin_pointer_5x3,const Icon,
|
||||
Variable,+,I_Pin_star_7x7,const Icon,
|
||||
Variable,+,I_Power_25x27,const Icon,
|
||||
Variable,+,I_Power_hvr_25x27,const Icon,
|
||||
Variable,+,I_Pressed_Button_13x13,const Icon,
|
||||
Variable,+,I_Quest_7x8,const Icon,
|
||||
Variable,+,I_RFIDBigChip_37x36,const Icon,
|
||||
Variable,+,I_RFIDDolphinReceive_97x61,const Icon,
|
||||
Variable,+,I_RFIDDolphinSend_97x61,const Icon,
|
||||
Variable,+,I_RFIDDolphinSuccess_108x57,const Icon,
|
||||
Variable,+,I_Reader_detect_43x40,const Icon,
|
||||
Variable,+,I_Release_arrow_18x15,const Icon,
|
||||
Variable,+,I_Restoring_38x32,const Icon,
|
||||
Variable,+,I_Right_mouse_icon_9x9,const Icon,
|
||||
Variable,+,I_SDQuestion_35x43,const Icon,
|
||||
Variable,+,I_SDcardFail_11x8,const Icon,
|
||||
Variable,+,I_SDcardMounted_11x8,const Icon,
|
||||
Variable,+,I_Scanning_123x52,const Icon,
|
||||
Variable,+,I_SmallArrowDown_3x5,const Icon,
|
||||
Variable,+,I_SmallArrowDown_4x7,const Icon,
|
||||
Variable,+,I_SmallArrowUp_3x5,const Icon,
|
||||
Variable,+,I_SmallArrowUp_4x7,const Icon,
|
||||
Variable,+,I_Smile_18x18,const Icon,
|
||||
Variable,+,I_Space_65x18,const Icon,
|
||||
Variable,+,I_Tap_reader_36x38,const Icon,
|
||||
Variable,+,I_Temperature_16x16,const Icon,
|
||||
Variable,+,I_Unlock_7x8,const Icon,
|
||||
Variable,+,I_Unplug_bg_bottom_128x10,const Icon,
|
||||
Variable,+,I_Unplug_bg_top_128x14,const Icon,
|
||||
Variable,+,I_Up_25x27,const Icon,
|
||||
Variable,+,I_Up_hvr_25x27,const Icon,
|
||||
Variable,+,I_Updating_32x40,const Icon,
|
||||
Variable,+,I_UsbTree_48x22,const Icon,
|
||||
Variable,+,I_Vol_down_25x27,const Icon,
|
||||
Variable,+,I_Vol_down_hvr_25x27,const Icon,
|
||||
Variable,+,I_Vol_up_25x27,const Icon,
|
||||
Variable,+,I_Vol_up_hvr_25x27,const Icon,
|
||||
Variable,+,I_Voldwn_6x6,const Icon,
|
||||
Variable,+,I_Voltage_16x16,const Icon,
|
||||
Variable,+,I_Volup_8x6,const Icon,
|
||||
Variable,+,I_WarningDolphin_45x42,const Icon,
|
||||
Variable,+,I_Warning_30x23,const Icon,
|
||||
Variable,+,I_back_10px,const Icon,
|
||||
Variable,+,I_badusb_10px,const Icon,
|
||||
Variable,+,I_dir_10px,const Icon,
|
||||
Variable,+,I_iButtonDolphinVerySuccess_108x52,const Icon,
|
||||
Variable,+,I_iButtonKey_49x44,const Icon,
|
||||
Variable,+,I_ibutt_10px,const Icon,
|
||||
Variable,+,I_ir_10px,const Icon,
|
||||
Variable,+,I_loading_10px,const Icon,
|
||||
Variable,+,I_music_10px,const Icon,
|
||||
Variable,+,I_passport_bad1_46x49,const Icon,
|
||||
Variable,+,I_passport_bad2_46x49,const Icon,
|
||||
Variable,+,I_passport_bad3_46x49,const Icon,
|
||||
Variable,+,I_passport_bottom_128x18,const Icon,
|
||||
Variable,+,I_passport_happy1_46x49,const Icon,
|
||||
Variable,+,I_passport_happy2_46x49,const Icon,
|
||||
Variable,+,I_passport_happy3_46x49,const Icon,
|
||||
Variable,+,I_passport_left_6x46,const Icon,
|
||||
Variable,+,I_passport_okay1_46x49,const Icon,
|
||||
Variable,+,I_passport_okay2_46x49,const Icon,
|
||||
Variable,+,I_passport_okay3_46x49,const Icon,
|
||||
Variable,+,I_sub1_10px,const Icon,
|
||||
Variable,+,I_u2f_10px,const Icon,
|
||||
Variable,+,I_unknown_10px,const Icon,
|
||||
Variable,+,I_update_10px,const Icon,
|
||||
Variable,-,MSIRangeTable,const uint32_t[16],
|
||||
Variable,-,SmpsPrescalerTable,const uint32_t[4][6],
|
||||
Variable,+,SystemCoreClock,uint32_t,
|
||||
|
||||
|
0
firmware/targets/f7/ble_glue/dev_info_service.c
Executable file → Normal file
0
firmware/targets/f7/ble_glue/dev_info_service.c
Executable file → Normal file
@@ -36,5 +36,6 @@ bool furi_hal_cortex_timer_is_expired(FuriHalCortexTimer cortex_timer) {
|
||||
}
|
||||
|
||||
void furi_hal_cortex_timer_wait(FuriHalCortexTimer cortex_timer) {
|
||||
while(!furi_hal_cortex_timer_is_expired(cortex_timer));
|
||||
while(!furi_hal_cortex_timer_is_expired(cortex_timer))
|
||||
;
|
||||
}
|
||||
@@ -620,6 +620,10 @@ uint16_t furi_hal_nfc_bitstream_to_data_and_parity(
|
||||
uint16_t in_buff_bits,
|
||||
uint8_t* out_data,
|
||||
uint8_t* out_parity) {
|
||||
if(in_buff_bits < 8) {
|
||||
out_data[0] = in_buff[0];
|
||||
return in_buff_bits;
|
||||
}
|
||||
if(in_buff_bits % 9 != 0) {
|
||||
return 0;
|
||||
}
|
||||
@@ -635,7 +639,7 @@ uint16_t furi_hal_nfc_bitstream_to_data_and_parity(
|
||||
bit_processed += 9;
|
||||
curr_byte++;
|
||||
}
|
||||
return curr_byte;
|
||||
return curr_byte * 8;
|
||||
}
|
||||
|
||||
bool furi_hal_nfc_tx_rx(FuriHalNfcTxRxContext* tx_rx, uint16_t timeout_ms) {
|
||||
@@ -692,8 +696,8 @@ bool furi_hal_nfc_tx_rx(FuriHalNfcTxRxContext* tx_rx, uint16_t timeout_ms) {
|
||||
|
||||
if(tx_rx->tx_rx_type == FuriHalNfcTxRxTypeRaw ||
|
||||
tx_rx->tx_rx_type == FuriHalNfcTxRxTypeRxRaw) {
|
||||
tx_rx->rx_bits = 8 * furi_hal_nfc_bitstream_to_data_and_parity(
|
||||
temp_rx_buff, *temp_rx_bits, tx_rx->rx_data, tx_rx->rx_parity);
|
||||
tx_rx->rx_bits = furi_hal_nfc_bitstream_to_data_and_parity(
|
||||
temp_rx_buff, *temp_rx_bits, tx_rx->rx_data, tx_rx->rx_parity);
|
||||
} else {
|
||||
memcpy(tx_rx->rx_data, temp_rx_buff, MIN(*temp_rx_bits / 8, FURI_HAL_NFC_DATA_BUFF_SIZE));
|
||||
tx_rx->rx_bits = *temp_rx_bits;
|
||||
|
||||
Reference in New Issue
Block a user