mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-13 14:08:36 -07:00
Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
entry,status,name,type,params
|
||||
Version,+,35.0,,
|
||||
Version,+,35.1,,
|
||||
Header,+,applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h,,
|
||||
Header,+,applications/main/archive/helpers/archive_helpers_ext.h,,
|
||||
Header,+,applications/services/applications.h,,
|
||||
@@ -646,6 +646,7 @@ Function,+,button_menu_get_view,View*,ButtonMenu*
|
||||
Function,+,button_menu_reset,void,ButtonMenu*
|
||||
Function,+,button_menu_set_header,void,"ButtonMenu*, const char*"
|
||||
Function,+,button_menu_set_selected_item,void,"ButtonMenu*, uint32_t"
|
||||
Function,+,button_panel_add_icon,void,"ButtonPanel*, uint16_t, uint16_t, const Icon*"
|
||||
Function,+,button_panel_add_item,void,"ButtonPanel*, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t, const Icon*, const Icon*, ButtonItemCallback, void*"
|
||||
Function,+,button_panel_add_label,void,"ButtonPanel*, uint16_t, uint16_t, Font, const char*"
|
||||
Function,+,button_panel_alloc,ButtonPanel*,
|
||||
@@ -2197,6 +2198,7 @@ Function,+,nfc_device_set_loading_callback,void,"NfcDevice*, NfcLoadingCallback,
|
||||
Function,+,nfc_device_set_name,void,"NfcDevice*, const char*"
|
||||
Function,+,nfc_file_select,_Bool,NfcDevice*
|
||||
Function,-,nfc_generate_mf_classic,void,"NfcDeviceData*, uint8_t, MfClassicType"
|
||||
Function,+,nfc_generate_mf_classic_ext,void,"NfcDeviceData*, uint8_t, MfClassicType, _Bool, uint8_t*"
|
||||
Function,+,nfc_get_dev_type,const char*,FuriHalNfcType
|
||||
Function,-,nfc_guess_protocol,const char*,NfcProtocol
|
||||
Function,+,nfc_mf_classic_type,const char*,MfClassicType
|
||||
@@ -3332,6 +3334,8 @@ Variable,+,FLIPPER_APPS,const FlipperInternalApplication[],
|
||||
Variable,+,FLIPPER_APPS_COUNT,const size_t,
|
||||
Variable,-,FLIPPER_ARCHIVE,const FlipperInternalApplication,
|
||||
Variable,-,FLIPPER_AUTORUN_APP_NAME,const char*,
|
||||
Variable,-,FLIPPER_DEBUG_APPS,const FlipperInternalApplication[],
|
||||
Variable,-,FLIPPER_DEBUG_APPS_COUNT,const size_t,
|
||||
Variable,+,FLIPPER_EXTERNAL_APPS,const FlipperExternalApplication[],
|
||||
Variable,+,FLIPPER_EXTERNAL_APPS_COUNT,const size_t,
|
||||
Variable,-,FLIPPER_ON_SYSTEM_START,const FlipperInternalOnStartHook[],
|
||||
@@ -3383,21 +3387,13 @@ Variable,+,I_Circles_47x47,Icon,
|
||||
Variable,+,I_Clock_18x18,Icon,
|
||||
Variable,+,I_Connect_me_62x31,Icon,
|
||||
Variable,+,I_Connected_62x31,Icon,
|
||||
Variable,+,I_CoolHi_25x27,Icon,
|
||||
Variable,+,I_CoolHi_hvr_25x27,Icon,
|
||||
Variable,+,I_CoolLo_25x27,Icon,
|
||||
Variable,+,I_CoolLo_hvr_25x27,Icon,
|
||||
Variable,+,I_Cry_dolph_55x52,Icon,
|
||||
Variable,+,I_DFU_128x50,Icon,
|
||||
Variable,+,I_Dehumidify_25x27,Icon,
|
||||
Variable,+,I_Dehumidify_hvr_25x27,Icon,
|
||||
Variable,+,I_DolphinCommon_56x48,Icon,
|
||||
Variable,+,I_DolphinMafia_115x62,Icon,
|
||||
Variable,+,I_DolphinNice_96x59,Icon,
|
||||
Variable,+,I_DolphinReadingSuccess_59x63,Icon,
|
||||
Variable,+,I_DolphinWait_61x59,Icon,
|
||||
Variable,+,I_Down_25x27,Icon,
|
||||
Variable,+,I_Down_hvr_25x27,Icon,
|
||||
Variable,+,I_Drive_112x35,Icon,
|
||||
Variable,+,I_Dynamic_9x7,Icon,
|
||||
Variable,+,I_Erase_pin_128x64,Icon,
|
||||
@@ -3417,10 +3413,6 @@ Variable,+,I_Fishing_123x52,Icon,
|
||||
Variable,+,I_Flash_25x27,Icon,
|
||||
Variable,+,I_Flash_hvr_25x27,Icon,
|
||||
Variable,+,I_Health_16x16,Icon,
|
||||
Variable,+,I_HeatHi_25x27,Icon,
|
||||
Variable,+,I_HeatHi_hvr_25x27,Icon,
|
||||
Variable,+,I_HeatLo_25x27,Icon,
|
||||
Variable,+,I_HeatLo_hvr_25x27,Icon,
|
||||
Variable,+,I_Hidden_window_9x8,Icon,
|
||||
Variable,+,I_InfraredArrowDown_4x8,Icon,
|
||||
Variable,+,I_InfraredArrowUp_4x8,Icon,
|
||||
@@ -3438,22 +3430,14 @@ Variable,+,I_Left_mouse_icon_9x9,Icon,
|
||||
Variable,+,I_Lock_7x8,Icon,
|
||||
Variable,+,I_Lockscreen,Icon,
|
||||
Variable,+,I_MHz_25x11,Icon,
|
||||
Variable,+,I_Mode_25x27,Icon,
|
||||
Variable,+,I_Mode_hvr_25x27,Icon,
|
||||
Variable,+,I_Modern_reader_18x34,Icon,
|
||||
Variable,+,I_Move_flipper_26x39,Icon,
|
||||
Variable,+,I_Mute_25x27,Icon,
|
||||
Variable,+,I_Mute_hvr_25x27,Icon,
|
||||
Variable,+,I_Muted_8x8,Icon,
|
||||
Variable,+,I_NFC_dolphin_emulation_47x61,Icon,
|
||||
Variable,+,I_NFC_manual_60x50,Icon,
|
||||
Variable,+,I_Nfc_10px,Icon,
|
||||
Variable,+,I_Off_25x27,Icon,
|
||||
Variable,+,I_Off_hvr_25x27,Icon,
|
||||
Variable,+,I_Ok_btn_9x9,Icon,
|
||||
Variable,+,I_Ok_btn_pressed_13x13,Icon,
|
||||
Variable,+,I_Pause_25x27,Icon,
|
||||
Variable,+,I_Pause_hvr_25x27,Icon,
|
||||
Variable,+,I_Percent_10x14,Icon,
|
||||
Variable,+,I_Pin_arrow_up_7x9,Icon,
|
||||
Variable,+,I_Pin_attention_dpad_29x29,Icon,
|
||||
@@ -3463,8 +3447,6 @@ Variable,+,I_Pin_pointer_5x3,Icon,
|
||||
Variable,+,I_Pin_star_7x7,Icon,
|
||||
Variable,+,I_Play_25x27,Icon,
|
||||
Variable,+,I_Play_hvr_25x27,Icon,
|
||||
Variable,+,I_Power_25x27,Icon,
|
||||
Variable,+,I_Power_hvr_25x27,Icon,
|
||||
Variable,+,I_Pressed_Button_13x13,Icon,
|
||||
Variable,+,I_Quest_7x8,Icon,
|
||||
Variable,+,I_RFIDDolphinReceive_97x61,Icon,
|
||||
@@ -3474,8 +3456,6 @@ Variable,+,I_RFIDSmallChip_14x14,Icon,
|
||||
Variable,+,I_Raw_9x7,Icon,
|
||||
Variable,+,I_Release_arrow_18x15,Icon,
|
||||
Variable,+,I_Right_mouse_icon_9x9,Icon,
|
||||
Variable,+,I_Rotate_25x27,Icon,
|
||||
Variable,+,I_Rotate_hvr_25x27,Icon,
|
||||
Variable,+,I_Rpc_active_7x8,Icon,
|
||||
Variable,+,I_SDQuestion_35x43,Icon,
|
||||
Variable,+,I_SDcardFail_11x8,Icon,
|
||||
@@ -3489,23 +3469,11 @@ Variable,+,I_Static_9x7,Icon,
|
||||
Variable,+,I_Stop_25x27,Icon,
|
||||
Variable,+,I_Stop_hvr_25x27,Icon,
|
||||
Variable,+,I_Temperature_16x16,Icon,
|
||||
Variable,+,I_Timer_25x27,Icon,
|
||||
Variable,+,I_Timer_hvr_25x27,Icon,
|
||||
Variable,+,I_TrackNext_25x27,Icon,
|
||||
Variable,+,I_TrackNext_hvr_25x27,Icon,
|
||||
Variable,+,I_TrackPrev_25x27,Icon,
|
||||
Variable,+,I_TrackPrev_hvr_25x27,Icon,
|
||||
Variable,+,I_Unlock_7x8,Icon,
|
||||
Variable,+,I_Unplug_bg_bottom_128x10,Icon,
|
||||
Variable,+,I_Unplug_bg_top_128x14,Icon,
|
||||
Variable,+,I_Up_25x27,Icon,
|
||||
Variable,+,I_Up_hvr_25x27,Icon,
|
||||
Variable,+,I_Updating_32x40,Icon,
|
||||
Variable,+,I_UsbTree_48x22,Icon,
|
||||
Variable,+,I_Vol_down_25x27,Icon,
|
||||
Variable,+,I_Vol_down_hvr_25x27,Icon,
|
||||
Variable,+,I_Vol_up_25x27,Icon,
|
||||
Variable,+,I_Vol_up_hvr_25x27,Icon,
|
||||
Variable,+,I_Voldwn_6x6,Icon,
|
||||
Variable,+,I_Voltage_16x16,Icon,
|
||||
Variable,+,I_Volup_8x6,Icon,
|
||||
@@ -3513,7 +3481,28 @@ Variable,+,I_WarningDolphin_45x42,Icon,
|
||||
Variable,+,I_Warning_30x23,Icon,
|
||||
Variable,+,I_back_10px,Icon,
|
||||
Variable,+,I_badkb_10px,Icon,
|
||||
Variable,+,I_celsius_24x23,Icon,
|
||||
Variable,+,I_celsius_hover_24x23,Icon,
|
||||
Variable,+,I_ch_down_24x21,Icon,
|
||||
Variable,+,I_ch_down_hover_24x21,Icon,
|
||||
Variable,+,I_ch_text_31x34,Icon,
|
||||
Variable,+,I_ch_up_24x21,Icon,
|
||||
Variable,+,I_ch_up_hover_24x21,Icon,
|
||||
Variable,+,I_cool_30x51,Icon,
|
||||
Variable,+,I_dir_10px,Icon,
|
||||
Variable,+,I_dry_19x20,Icon,
|
||||
Variable,+,I_dry_hover_19x20,Icon,
|
||||
Variable,+,I_dry_text_15x5,Icon,
|
||||
Variable,+,I_fahren_24x23,Icon,
|
||||
Variable,+,I_fahren_hover_24x23,Icon,
|
||||
Variable,+,I_heat_30x51,Icon,
|
||||
Variable,+,I_hourglass0_24x24,Icon,
|
||||
Variable,+,I_hourglass1_24x24,Icon,
|
||||
Variable,+,I_hourglass2_24x24,Icon,
|
||||
Variable,+,I_hourglass3_24x24,Icon,
|
||||
Variable,+,I_hourglass4_24x24,Icon,
|
||||
Variable,+,I_hourglass5_24x24,Icon,
|
||||
Variable,+,I_hourglass6_24x24,Icon,
|
||||
Variable,+,I_iButtonDolphinVerySuccess_108x52,Icon,
|
||||
Variable,+,I_iButtonKey_49x44,Icon,
|
||||
Variable,+,I_ibutt_10px,Icon,
|
||||
@@ -3521,18 +3510,54 @@ Variable,+,I_ir_10px,Icon,
|
||||
Variable,+,I_ir_scope_10px,Icon,
|
||||
Variable,+,I_keyboard_10px,Icon,
|
||||
Variable,+,I_loading_10px,Icon,
|
||||
Variable,+,I_max_24x23,Icon,
|
||||
Variable,+,I_max_hover_24x23,Icon,
|
||||
Variable,+,I_mode_19x20,Icon,
|
||||
Variable,+,I_mode_hover_19x20,Icon,
|
||||
Variable,+,I_mode_text_20x5,Icon,
|
||||
Variable,+,I_music_10px,Icon,
|
||||
Variable,+,I_mute_19x20,Icon,
|
||||
Variable,+,I_mute_hover_19x20,Icon,
|
||||
Variable,+,I_mute_text_19x5,Icon,
|
||||
Variable,+,I_next_19x20,Icon,
|
||||
Variable,+,I_next_hover_19x20,Icon,
|
||||
Variable,+,I_next_text_19x6,Icon,
|
||||
Variable,+,I_passport_DB,Icon,
|
||||
Variable,+,I_passport_bad_46x49,Icon,
|
||||
Variable,+,I_passport_happy_46x49,Icon,
|
||||
Variable,+,I_passport_okay_46x49,Icon,
|
||||
Variable,+,I_pause_19x20,Icon,
|
||||
Variable,+,I_pause_hover_19x20,Icon,
|
||||
Variable,+,I_pause_text_23x5,Icon,
|
||||
Variable,+,I_play_19x20,Icon,
|
||||
Variable,+,I_play_hover_19x20,Icon,
|
||||
Variable,+,I_play_text_19x5,Icon,
|
||||
Variable,+,I_power_19x20,Icon,
|
||||
Variable,+,I_power_hover_19x20,Icon,
|
||||
Variable,+,I_power_text_24x5,Icon,
|
||||
Variable,+,I_prev_19x20,Icon,
|
||||
Variable,+,I_prev_hover_19x20,Icon,
|
||||
Variable,+,I_prev_text_19x5,Icon,
|
||||
Variable,+,I_rotate_19x20,Icon,
|
||||
Variable,+,I_rotate_hover_19x20,Icon,
|
||||
Variable,+,I_rotate_text_24x5,Icon,
|
||||
Variable,+,I_search_10px,Icon,
|
||||
Variable,+,I_speed_text_30x30,Icon,
|
||||
Variable,+,I_sub1_10px,Icon,
|
||||
Variable,+,I_subplaylist_10px,Icon,
|
||||
Variable,+,I_subrem_10px,Icon,
|
||||
Variable,+,I_timer_19x20,Icon,
|
||||
Variable,+,I_timer_hover_19x20,Icon,
|
||||
Variable,+,I_timer_text_23x5,Icon,
|
||||
Variable,+,I_u2f_10px,Icon,
|
||||
Variable,+,I_unknown_10px,Icon,
|
||||
Variable,+,I_update_10px,Icon,
|
||||
Variable,+,I_vol_ac_text_30x30,Icon,
|
||||
Variable,+,I_vol_tv_text_29x34,Icon,
|
||||
Variable,+,I_voldown_24x21,Icon,
|
||||
Variable,+,I_voldown_hover_24x21,Icon,
|
||||
Variable,+,I_volup_24x21,Icon,
|
||||
Variable,+,I_volup_hover_24x21,Icon,
|
||||
Variable,-,MSIRangeTable,const uint32_t[16],
|
||||
Variable,-,SmpsPrescalerTable,const uint32_t[4][6],
|
||||
Variable,+,SystemCoreClock,uint32_t,
|
||||
|
||||
|
@@ -222,7 +222,7 @@ bool ble_glue_wait_for_c2_start(int32_t timeout) {
|
||||
bool started = false;
|
||||
|
||||
do {
|
||||
// TODO: use mutex?
|
||||
// TODO FL-3505: use mutex?
|
||||
started = ble_glue->status == BleGlueStatusC2Started;
|
||||
if(!started) {
|
||||
timeout--;
|
||||
|
||||
@@ -283,7 +283,7 @@ static SdSpiCmdAnswer
|
||||
cmd_answer.r1 = sd_spi_wait_for_data_and_read();
|
||||
break;
|
||||
case SdSpiCmdAnswerTypeR1B:
|
||||
// TODO: can be wrong, at least for SD_CMD12_STOP_TRANSMISSION you need to purge one byte before reading R1
|
||||
// TODO FL-3507: can be wrong, at least for SD_CMD12_STOP_TRANSMISSION you need to purge one byte before reading R1
|
||||
cmd_answer.r1 = sd_spi_wait_for_data_and_read();
|
||||
|
||||
// In general this shenenigans seems suspicious, please double check SD specs if you are using SdSpiCmdAnswerTypeR1B
|
||||
@@ -322,7 +322,7 @@ static SdSpiDataResponce sd_spi_get_data_response(uint32_t timeout_ms) {
|
||||
|
||||
switch(responce & 0x1F) {
|
||||
case SdSpiDataResponceOK:
|
||||
// TODO: check timings
|
||||
// TODO FL-3508: check timings
|
||||
sd_spi_deselect_card();
|
||||
sd_spi_select_card();
|
||||
|
||||
@@ -684,7 +684,7 @@ static SdSpiStatus sd_spi_cmd_write_blocks(
|
||||
}
|
||||
|
||||
// Send dummy byte for NWR timing : one byte between CMD_WRITE and TOKEN
|
||||
// TODO: check bytes count
|
||||
// TODO FL-3509: check bytes count
|
||||
sd_spi_write_byte(SD_DUMMY_BYTE);
|
||||
sd_spi_write_byte(SD_DUMMY_BYTE);
|
||||
|
||||
|
||||
@@ -402,7 +402,6 @@ void furi_hal_nfc_ll_txrx_on();
|
||||
|
||||
void furi_hal_nfc_ll_txrx_off();
|
||||
|
||||
// TODO rework all pollers with furi_hal_nfc_ll_txrx_bits
|
||||
FuriHalNfcReturn furi_hal_nfc_ll_txrx(
|
||||
uint8_t* txBuf,
|
||||
uint16_t txBufLen,
|
||||
|
||||
@@ -117,19 +117,23 @@ void furi_hal_resources_init_early() {
|
||||
|
||||
furi_hal_resources_init_input_pins(GpioModeInput);
|
||||
|
||||
// Explicit, surviving reset, pulls
|
||||
LL_PWR_EnablePUPDCfg();
|
||||
LL_PWR_EnableGPIOPullDown(LL_PWR_GPIO_A, LL_PWR_GPIO_BIT_8); // gpio_vibro
|
||||
LL_PWR_EnableGPIOPullDown(LL_PWR_GPIO_B, LL_PWR_GPIO_BIT_8); // gpio_speaker
|
||||
LL_PWR_EnableGPIOPullDown(LL_PWR_GPIO_B, LL_PWR_GPIO_BIT_9); // gpio_infrared_tx
|
||||
|
||||
// SD Card stepdown control
|
||||
furi_hal_gpio_write(&gpio_periph_power, 1);
|
||||
furi_hal_gpio_init(&gpio_periph_power, GpioModeOutputOpenDrain, GpioPullNo, GpioSpeedLow);
|
||||
|
||||
// Display pins
|
||||
furi_hal_gpio_write(&gpio_display_rst_n, 1);
|
||||
furi_hal_gpio_write(&gpio_display_rst_n, 0);
|
||||
furi_hal_gpio_init_simple(&gpio_display_rst_n, GpioModeOutputPushPull);
|
||||
LL_PWR_EnableGPIOPullUp(LL_PWR_GPIO_B, LL_PWR_GPIO_BIT_0); // gpio_display_rst_n
|
||||
furi_hal_gpio_write(&gpio_display_di, 0);
|
||||
furi_hal_gpio_init_simple(&gpio_display_di, GpioModeOutputPushPull);
|
||||
|
||||
// Alternative pull configuration for shutdown
|
||||
SET_BIT(PWR->PUCRB, DISPLAY_RST_Pin);
|
||||
CLEAR_BIT(PWR->PDCRB, DISPLAY_RST_Pin);
|
||||
SET_BIT(PWR->CR3, PWR_CR3_APC);
|
||||
LL_PWR_EnableGPIOPullDown(LL_PWR_GPIO_B, LL_PWR_GPIO_BIT_1); // gpio_display_di
|
||||
|
||||
// Hard reset USB
|
||||
furi_hal_gpio_write(&gpio_usb_dm, 1);
|
||||
@@ -171,19 +175,6 @@ void furi_hal_resources_init() {
|
||||
// Button pins
|
||||
furi_hal_resources_init_input_pins(GpioModeInterruptRiseFall);
|
||||
|
||||
// Explicit, surviving reset, pulls
|
||||
LL_PWR_EnablePUPDCfg();
|
||||
LL_PWR_EnableGPIOPullDown(LL_PWR_GPIO_B, LL_PWR_GPIO_BIT_9); // gpio_infrared_tx
|
||||
LL_PWR_EnableGPIOPullDown(LL_PWR_GPIO_B, LL_PWR_GPIO_BIT_8); // gpio_speaker
|
||||
LL_PWR_EnableGPIOPullDown(LL_PWR_GPIO_A, LL_PWR_GPIO_BIT_8); // gpio_vibro
|
||||
|
||||
// Display pins
|
||||
furi_hal_gpio_init(&gpio_display_rst_n, GpioModeOutputPushPull, GpioPullNo, GpioSpeedLow);
|
||||
furi_hal_gpio_write(&gpio_display_rst_n, 0);
|
||||
|
||||
furi_hal_gpio_init(&gpio_display_di, GpioModeOutputPushPull, GpioPullNo, GpioSpeedLow);
|
||||
furi_hal_gpio_write(&gpio_display_di, 0);
|
||||
|
||||
// SD pins
|
||||
furi_hal_gpio_init(&gpio_sdcard_cd, GpioModeInput, GpioPullNo, GpioSpeedLow);
|
||||
furi_hal_gpio_write(&gpio_sdcard_cd, 0);
|
||||
|
||||
@@ -234,7 +234,7 @@ bool furi_hal_subghz_rx_pipe_not_empty() {
|
||||
cc1101_read_reg(
|
||||
&furi_hal_spi_bus_handle_subghz, (CC1101_STATUS_RXBYTES) | CC1101_BURST, (uint8_t*)status);
|
||||
furi_hal_spi_release(&furi_hal_spi_bus_handle_subghz);
|
||||
// TODO: you can add a buffer overflow flag if needed
|
||||
// TODO: Find reason why RXFIFO_OVERFLOW doesnt work correctly
|
||||
if(status->NUM_RXBYTES > 0) {
|
||||
return true;
|
||||
} else {
|
||||
|
||||
@@ -38,7 +38,7 @@ static bool flipper_update_mount_sd() {
|
||||
}
|
||||
|
||||
static bool flipper_update_init() {
|
||||
// TODO: Configure missing peripherals properly
|
||||
// TODO FL-3504: Configure missing peripherals properly
|
||||
furi_hal_bus_enable(FuriHalBusHSEM);
|
||||
furi_hal_bus_enable(FuriHalBusIPCC);
|
||||
furi_hal_bus_enable(FuriHalBusRNG);
|
||||
|
||||
Reference in New Issue
Block a user