diff --git a/patches/stubs.S b/patches/stubs.S index b7d8422..8d64621 100644 --- a/patches/stubs.S +++ b/patches/stubs.S @@ -10,19 +10,12 @@ NSTUB(0x080000c5, bringup_clock_and_prepare_to_party) NSTUB(0x08000114, magic1) NSTUB(0x08000118, magic2) NSTUB(0x0800011d, FLASH_OB_GetUser_0011d) -NSTUB(0x08087599, FLASH_OB_GetUser_87599) NSTUB(0x0800012d, IWDG_WriteAccessCmd_0012d) -NSTUB(0x080875a9, IWDG_WriteAccessCmd_875a9) NSTUB(0x08000133, IWDG_SetPrescaler_00133) -NSTUB(0x080875af, IWDG_SetPrescaler_875af) NSTUB(0x08000139, IWDG_SetReload_00139) -NSTUB(0x080875b5, IWDG_SetReload_875b5) NSTUB(0x0800013f, IWDG_ReloadCounter_0013f) -NSTUB(0x080875bb, IWDG_ReloadCounter_875bb) NSTUB(0x08000149, IWDG_GetFlagStatus_00149) -NSTUB(0x080875c5, IWDG_GetFlagStatus_875c5) NSTUB(0x0800016d, RCC_APB1PeriphClockCmd_0016d) -NSTUB(0x0800237b, RCC_APB1PeriphClockCmd_0237b) NSTUB(0x08000185, bitband_e0020) NSTUB(0x08000191, RTC_WriteBackupRegister) NSTUB(0x080001ab, RTC_ReadBackupRegister) @@ -42,9 +35,7 @@ NSTUB(0x08001275, rtc_tafcr) NSTUB(0x08001287, rtc_bkp0r_01287) NSTUB(0x080012a1, rtc_bkp0r_012a1) NSTUB(0x080012cb, strncmp_012cb) -NSTUB(0x0806d1a7, strncmp_6d1a7) NSTUB(0x08001311, log2_01311) -NSTUB(0x0808888d, log2_8888d) NSTUB(0x080013a5, usart_setup) NSTUB(0x080013d3, usart_setup_maybe) NSTUB(0x080016cb, usart_get) @@ -57,22 +48,18 @@ NSTUB(0x080019e0, crc16_ccit_tab) NSTUB(0x08001c25, boot_printf) NSTUB(0x08001c59, strlen) NSTUB(0x08001c8f, ring_buffer_insert_maybe_01c8f) -NSTUB(0x0800251d, ring_buffer_insert_maybe_0251d) NSTUB(0x08001c9b, init_some_struct) NSTUB(0x08001df7, flash_cr_something) NSTUB(0x08001e4d, flash_cr_something_else) NSTUB(0x08001ff1, GPIO_Init_01ff1) -NSTUB(0x08080e85, GPIO_Init_80e85) NSTUB(0x08002139, USART_Init) NSTUB(0x080022e9, rcc_set_pll) NSTUB(0x08002369, RCC_AHB1PeriphClockCmd_02369) -NSTUB(0x0807d4b9, RCC_AHB1PeriphClockCmd_7d4b9) -NSTUB(0x0807d4dd, RCC_AHB1PeriphClockCmd_7d4dd) +NSTUB(0x0800237b, RCC_APB1PeriphClockCmd_0237b) NSTUB(0x0800238d, RCC_APB2PeriphClockCmd_0238d) -NSTUB(0x0807d4ef, RCC_APB2PeriphClockCmd_7d4ef) NSTUB(0x0800239f, RCC_AHB1PeriphResetCmd) NSTUB(0x080023b1, RCC_APB2PeriphResetCmd_023b1) -NSTUB(0x0807d513, RCC_APB2PeriphResetCmd_7d513) +NSTUB(0x0800251d, ring_buffer_insert_maybe_0251d) NSTUB(0x080025f1, flash_r_optkeyr) NSTUB(0x08002603, flash_optcr_set_1) NSTUB(0x0800260f, flash_r_optcr_twiddle) @@ -93,7 +80,6 @@ NSTUB(0x08002d91, ADC_Init) NSTUB(0x08002dd1, ADC_CommonInit) NSTUB(0x08002ded, ADC_Command) NSTUB(0x08002dff, ADC_RegularChannelConfig_02dff) -NSTUB(0x08081b2d, ADC_RegularChannelConfig_81b2d) NSTUB(0x08002e7d, ADC_SoftwareStartConv) NSTUB(0x08002e87, ADC_EOCOnEachRegularChannelCmd) NSTUB(0x08002e99, ADC_GetConversionValue) @@ -105,7 +91,6 @@ NSTUB(0x080030bd, boot_try_uart_read) NSTUB(0x08003105, boot_crc_validate_config) NSTUB(0x08003211, rcc_peripheral_enable) NSTUB(0x08003253, cli_03253) -NSTUB(0x0807dba5, cli_7dba5) NSTUB(0x08003257, sei) NSTUB(0x0800325b, rtc_facr_enable_likely) NSTUB(0x080032e3, setup_uart_and_adc) @@ -119,6 +104,7 @@ NSTUB(0x08004260, string_localized_table_table) NSTUB(0x08004dc8, global_0x08_array) NSTUB(0x08004ef4, gui_limits) NSTUB(0x08008380, global_var_0x6) +NSTUB(0x08008430, lang_mask_default) NSTUB(0x08008500, global_table_0x7) NSTUB(0x08008584, variable_types_table) NSTUB(0x08009544, brp_struct) @@ -167,7 +153,6 @@ NSTUB(0x08064851, gui_display_ratio) NSTUB(0x08064959, gui_pressure_gauge_setup) NSTUB(0x08064a0d, gui_pressure_guage_something_0x78) NSTUB(0x08064a41, angle_math_something_64a41) -NSTUB(0x0806d945, angle_math_something_6d945) NSTUB(0x08064b19, pressure_gauge_draw) NSTUB(0x08064c9f, menu_window_height_r4) NSTUB(0x08064e31, gui_scrollable_window_create_call) @@ -175,9 +160,9 @@ NSTUB(0x08064e3f, gui_scrollable_window_create) NSTUB(0x08064e8d, scrollbar_add_item) NSTUB(0x08064ed9, gui_scrollable_call_stuff_if_4_or_6) NSTUB(0x08065045, load_stuff_into_r1_65045) -NSTUB(0x080650dd, load_stuff_into_r1_650dd) NSTUB(0x08065051, gui_scrollable_invalidate_if_new_pallete) NSTUB(0x08065081, gui_scrollable_focus_changed) +NSTUB(0x080650dd, load_stuff_into_r1_650dd) NSTUB(0x0806510d, gui_scrollable_call_childnre_0x30_and_0x38) NSTUB(0x0806517b, dispatch_r4_0x8_plus_r7) NSTUB(0x08065183, invalidate_window) @@ -346,7 +331,6 @@ NSTUB(0x0806afcb, const_0x99) NSTUB(0x0806afe7, global_0x5c_something) NSTUB(0x0806b0e7, variable_handler_list_insert) NSTUB(0x0806b0f5, bzero_6b0f5) -NSTUB(0x0806d08d, bzero_6d08d) NSTUB(0x0806b115, font_worker_something) NSTUB(0x0806b22b, get_font) NSTUB(0x0806b237, GUI_find_a_font) @@ -360,18 +344,6 @@ NSTUB(0x0806b305, variable_0x00_to_0x1b4_init) NSTUB(0x0806b349, global_variable_read) NSTUB(0x0806b381, global_variable_set) NSTUB(0x0806b393, dispatch_0x10_6b393) -NSTUB(0x0806d1cb, dispatch_0x10_6d1cb) -NSTUB(0x080a0cbf, dispatch_0x10_a0cbf) -NSTUB(0x080a1345, dispatch_0x10_a1345) -NSTUB(0x080a16bd, dispatch_0x10_a16bd) -NSTUB(0x080a1be5, dispatch_0x10_a1be5) -NSTUB(0x080a5585, dispatch_0x10_a5585) -NSTUB(0x080a66b9, dispatch_0x10_a66b9) -NSTUB(0x080a6c45, dispatch_0x10_a6c45) -NSTUB(0x080a75dd, dispatch_0x10_a75dd) -NSTUB(0x080a96a1, dispatch_0x10_a96a1) -NSTUB(0x080bbde9, dispatch_0x10_bbde9) -NSTUB(0x080bc755, dispatch_0x10_bc755) NSTUB(0x0806b39d, global_method_0x40) NSTUB(0x0806b3db, no_oxi_maybe) NSTUB(0x0806ba91, variable_0x1dd_to_0x1d4_init) @@ -394,6 +366,7 @@ NSTUB(0x0806cfa1, OSTimeGet_ptr) NSTUB(0x0806cfad, OSTimeGet_scaled) NSTUB(0x0806cfc7, OSTimeout_done) NSTUB(0x0806cfdb, variable_0x176_something_else) +NSTUB(0x0806d08d, bzero_6d08d) NSTUB(0x0806d099, u16store) NSTUB(0x0806d09f, string_lookup) NSTUB(0x0806d0cb, string_lookup_also) @@ -402,6 +375,8 @@ NSTUB(0x0806d0f3, string_lookup_copy_and_replace) NSTUB(0x0806d10b, string_lookup_and_copy) NSTUB(0x0806d14d, string_get_raw_id) NSTUB(0x0806d161, string_get_locale) +NSTUB(0x0806d1a7, strncmp_6d1a7) +NSTUB(0x0806d1cb, dispatch_0x10_6d1cb) NSTUB(0x0806d215, gui_base_create_wm) NSTUB(0x0806d243, search_obj_6800b9c4) NSTUB(0x0806d24b, gui_base_insert_into_list) @@ -434,6 +409,7 @@ NSTUB(0x0806d7e5, angle_math_r4) NSTUB(0x0806d7e9, gui_pressure_something) NSTUB(0x0806d813, gui_pressure_check_0x26) NSTUB(0x0806d82d, gui_pressure_arc_something) +NSTUB(0x0806d945, angle_math_something_6d945) NSTUB(0x0806db49, bitmap_draw_splashscreen) NSTUB(0x0806db93, GUI_Init_once_wrapper) NSTUB(0x0806dba7, GUI_Init_and_wait) @@ -482,7 +458,6 @@ NSTUB(0x0806f0b5, gui_draw_pixel) NSTUB(0x0806f0b9, gui_draw_pixel3) NSTUB(0x0806f0c1, gui_menu_window_height) NSTUB(0x0806f0f5, strncpy_6f0f5) -NSTUB(0x0806fc25, strncpy_6fc25) NSTUB(0x0806f26d, variable_lookup_handler_maybe) NSTUB(0x0806f3ff, var_between_30_and_509_minus_30) NSTUB(0x0806f419, between_509_and_510) @@ -495,17 +470,24 @@ NSTUB(0x0806f75d, global_0x18_something_else) NSTUB(0x0806f941, global_0x18_something_third) NSTUB(0x0806fa01, variable_handler_get_id_checked) NSTUB(0x0806fa0d, variable_get_var_lt_1d) +NSTUB(0x0806fa4b, identity_table_raw_pointer) NSTUB(0x0806fa77, dispatch_0x84_and_0xdc) NSTUB(0x0806faa1, string_something) +NSTUB(0x0806facf, identity_table_get_string) NSTUB(0x0806facf, strncpy_backwards_locked) +NSTUB(0x0806fb55, identity_table_set_string_recursive) NSTUB(0x0806fba1, global_0xc_something_else) +NSTUB(0x0806fc25, strncpy_6fc25) NSTUB(0x0806fcbb, string_underscore_to_space) +NSTUB(0x0806fcc1, string_space_to_underscore) +NSTUB(0x0806fe0d, hex_to_uint16) +NSTUB(0x0806feb9, is_hex_char) +NSTUB(0x0806fedb, ascii_toupper) NSTUB(0x0806ff03, find_char) NSTUB(0x0806ff99, strcasecmp) NSTUB(0x080701d1, global_0x24_something) NSTUB(0x080703b9, global_0x09_copy_stuff) NSTUB(0x08070a47, global_0x40_copy_70a47) -NSTUB(0x2001e6d8, global_0x40_copy_1e6d8) NSTUB(0x08070b45, global_0x44_something) NSTUB(0x08070d83, global_0x44_0d82) NSTUB(0x08072341, menu_entry_find) @@ -556,7 +538,6 @@ NSTUB(0x0807399b, gui_multiple_arcs) NSTUB(0x08073aaf, wm_rect_something_or_other) NSTUB(0x08073be9, WM__InsertWindowIntoList) NSTUB(0x08073cad, WM__RemoveWindowFromList_73cad) -NSTUB(0x08079719, WM__RemoveWindowFromList_79719) NSTUB(0x08073d35, WM_InvalidateRect_likely) NSTUB(0x08073d49, WM__IsEnabled) NSTUB(0x08073ddd, wm_rect_stuf_stuf_stuff) @@ -585,8 +566,8 @@ NSTUB(0x08074d2d, rtc_read_bkp0r_ptr_74d2d) NSTUB(0x08074d3b, rtc_read_bkp0r_ptr_74d3b) NSTUB(0x08074d4b, rtc_write_bkp0r_74d4b) NSTUB(0x08074d57, rtc_write_bkp0r_74d57) -NSTUB(0x08074d69, rtc_write_bkp0r_74d69) NSTUB(0x08074d5f, rtc_read_bkp0r) +NSTUB(0x08074d69, rtc_write_bkp0r_74d69) NSTUB(0x08074d79, rtc_check_powerfail) NSTUB(0x08074d93, deep_sleep_maybe) NSTUB(0x08074db1, rtc_setup_probably) @@ -612,6 +593,9 @@ NSTUB(0x0807546d, config_screen_type_validate) NSTUB(0x08075489, write32) NSTUB(0x08075565, arg_minus_0x1dd) NSTUB(0x08075579, arg_minus_0xa1) +NSTUB(0x08075599, hex_char_to_nibble) +NSTUB(0x080755bd, hex_pair_to_byte) +NSTUB(0x08075603, byte_to_hex) NSTUB(0x080756f5, strcmp) NSTUB(0x08075919, float_magic_uints) NSTUB(0x08075abd, setup_something) @@ -648,6 +632,7 @@ NSTUB(0x08079625, wm_get_default_parent) NSTUB(0x08079631, WM_SetCallBack) NSTUB(0x0807965f, WM_GetParent) NSTUB(0x0807966d, WM_SetFocus) +NSTUB(0x08079719, WM__RemoveWindowFromList_79719) NSTUB(0x0807976d, WM_AttachWindow) NSTUB(0x080797d9, GUI_IsActive) NSTUB(0x080797f1, GUI_StatusSomething) @@ -705,14 +690,11 @@ NSTUB(0x0807c141, GUI_UC_Encode) NSTUB(0x0807c1b5, gui_string_display_length_maybe) NSTUB(0x0807c309, GUI_DispString) NSTUB(0x0807c455, gui_get_window_dimensions_wrapper_7c455) -NSTUB(0x0807d005, gui_get_window_dimensions_wrapper_7d005) NSTUB(0x0807c4b1, string_at_end_skip_newlines) NSTUB(0x0807c4e9, GUI__IntersectRects) NSTUB(0x0807c585, gui_uc_encode_maybe) NSTUB(0x0807c591, uc_encode_func1_maybe_7c591) -NSTUB(0x680000b8, uc_encode_func1_maybe_000b8) NSTUB(0x0807c647, uc_encode_func2_maybe_7c647) -NSTUB(0x680000bc, uc_encode_func2_maybe_000bc) NSTUB(0x0807c67f, gui_uc_encode_wrapper) NSTUB(0x0807c747, GUI_DrawMode_indirect2) NSTUB(0x0807c797, gui_color_something) @@ -721,11 +703,11 @@ NSTUB(0x0807c881, gui_fixedpoint_angle_math) NSTUB(0x0807cc05, GUI__IntersectRect_maybe) NSTUB(0x0807cc47, rect_compare) NSTUB(0x0807ccc5, wm_global_callback_7ccc5) -NSTUB(0x6800bc85, wm_global_callback_0bc85) NSTUB(0x0807cd15, GUI_ALLOC_AllocZero) NSTUB(0x0807ce5b, WM_NotifyParent) NSTUB(0x0807ce71, GL_SetDefault) NSTUB(0x0807cfe1, gui_get_window_dimensions_7cfe1) +NSTUB(0x0807d005, gui_get_window_dimensions_wrapper_7d005) NSTUB(0x0807d00d, gui_get_window_dimensions_7d00d) NSTUB(0x0807d025, WM__NotifyParent) NSTUB(0x0807d055, RTC_Init) @@ -746,8 +728,12 @@ NSTUB(0x0807d407, bit_band_427004c) NSTUB(0x0807d40d, RCC_GetClocksFreq) NSTUB(0x0807d48d, RCC_RTCCLKConfig) NSTUB(0x0807d4b3, RCC_TIMCLKPresConfig) +NSTUB(0x0807d4b9, RCC_AHB1PeriphClockCmd_7d4b9) NSTUB(0x0807d4cb, RCC_AHB3PeriphClockCmd) +NSTUB(0x0807d4dd, RCC_AHB1PeriphClockCmd_7d4dd) +NSTUB(0x0807d4ef, RCC_APB2PeriphClockCmd_7d4ef) NSTUB(0x0807d501, RCC_APB1PeriphResetCmd) +NSTUB(0x0807d513, RCC_APB2PeriphResetCmd_7d513) NSTUB(0x0807d525, RCC_GetFlagStatus) NSTUB(0x0807d54f, RCC_GetITStatus) NSTUB(0x0807d55f, RCC_ClearInterruptPending) @@ -761,15 +747,18 @@ NSTUB(0x0807d8b9, bitwizardry) NSTUB(0x0807d8f7, data_sync_and_halt) NSTUB(0x0807d935, get_object_7d1c) NSTUB(0x0807d96b, setup_stuff_and_enable_interrupts) +NSTUB(0x0807dba5, cli_7dba5) NSTUB(0x0807dba9, data_sync_and_halt_thunk) NSTUB(0x0807dbb1, pwr_cr_6_and_loop) NSTUB(0x0807dbb7, gpio_a_reset_0x800) NSTUB(0x0807dc1c, object_7dc1c) +NSTUB(0x0807dc81, crc16_ccitt) +NSTUB(0x0807dc9d, crc16_ccitt_update) +NSTUB(0x0807dcb4, crc16_ccitt_table) NSTUB(0x0807f267, dispatch_0xc_return1) NSTUB(0x0807f275, iwdg_configure) NSTUB(0x0807f2b7, iwdg_reload) NSTUB(0x0807f2bf, watchdog_methods_7f2bf) -NSTUB(0x080fa5a4, watchdog_methods_fa5a4) NSTUB(0x0807f495, init_68000000) NSTUB(0x0807f4e8, null_ptr) NSTUB(0x0807f511, OSEventNameSet) @@ -823,8 +812,8 @@ NSTUB(0x080800dd, lots_of_stuff_a69c) NSTUB(0x080800e7, WM_IsEnabled) NSTUB(0x080800ef, WM__ForEachDesc_wrapper) NSTUB(0x080804c5, pwm_setup_probably) -NSTUB(0x08080ad1, alphabet_something) -NSTUB(0x08080be9, alphabet_something_thunk) +NSTUB(0x08080ad1, strtoul) +NSTUB(0x08080be9, strtoul_thunk) NSTUB(0x08080c3d, assert) NSTUB(0x08080c57, mempcy) NSTUB(0x08080c65, GUI_linked_list_append) @@ -837,6 +826,7 @@ NSTUB(0x08080e3f, write_64000002) NSTUB(0x08080e45, memcpy_64000002) NSTUB(0x08080e5d, read_64000002) NSTUB(0x08080e69, wait_64000002) +NSTUB(0x08080e85, GPIO_Init_80e85) NSTUB(0x08080ef5, GPIO_StructInit) NSTUB(0x08080f07, GPIO_ReadInputDataBit) NSTUB(0x08080f15, GPIO_SetBits) @@ -859,6 +849,7 @@ NSTUB(0x080814e3, GUIDRV_FlexColor__InitOnce) NSTUB(0x08081871, WM__GetLastSibling) NSTUB(0x08081a31, GUI_SetLineStyle) NSTUB(0x08081a85, rcc_apb2PeripheralReset) +NSTUB(0x08081b2d, ADC_RegularChannelConfig_81b2d) NSTUB(0x08081d0d, DMA_DeInit) NSTUB(0x08081dcd, DMA_Init) NSTUB(0x08081e1d, DMA_StructInit) @@ -885,6 +876,12 @@ NSTUB(0x08083245, tim_nvic_and_gpio_stuff) NSTUB(0x08083395, tim1_and_gpio_lots) NSTUB(0x08083677, tim_and_nvic_methods_setup) NSTUB(0x08085211, struct_initialize) +NSTUB(0x08087599, FLASH_OB_GetUser_87599) +NSTUB(0x080875a9, IWDG_WriteAccessCmd_875a9) +NSTUB(0x080875af, IWDG_SetPrescaler_875af) +NSTUB(0x080875b5, IWDG_SetReload_875b5) +NSTUB(0x080875bb, IWDG_ReloadCounter_875bb) +NSTUB(0x080875c5, IWDG_GetFlagStatus_875c5) NSTUB(0x080875e9, watchdog_methods_init) NSTUB(0x08087605, OS_ENTER_CRITICAL) NSTUB(0x08087611, OS_EXIT_CRITICAL) @@ -917,10 +914,10 @@ NSTUB(0x08087f84, OSEndiannessTest) NSTUB(0x08088034, OSTmrEn) NSTUB(0x08088038, OSTmrCfgMax) NSTUB(0x0808803c, OSTmrWheelSize_8803c) -NSTUB(0x08088050, OSTmrWheelSize_88050) NSTUB(0x08088044, OSTmrCfgTicksPerSec) NSTUB(0x08088048, OSTmrSize) NSTUB(0x0808804c, OSTmrTblSize) +NSTUB(0x08088050, OSTmrWheelSize_88050) NSTUB(0x08088054, OSTmrWheelTableSize) NSTUB(0x0808805d, OSSemCreate) NSTUB(0x080880ad, OSSemPend) @@ -932,6 +929,7 @@ NSTUB(0x0808848f, OSTaskNameSet) NSTUB(0x0808859b, OSTaskSuspend) NSTUB(0x080886bd, OS_TaskStkClr) NSTUB(0x080886d5, WM__ForEachDesc) +NSTUB(0x0808888d, log2_8888d) NSTUB(0x0808897d, TIM_DeInit) NSTUB(0x08088abd, TIM_TimeBaseInit) NSTUB(0x08088b1f, TIM_PrescalerConfig) @@ -965,7 +963,6 @@ NSTUB(0x0808be8b, serial_number) NSTUB(0x0808c2cb, serial_number_find_valid_something) NSTUB(0x0808c435, create_tasks) NSTUB(0x0808c453, serial_number_init_8c453) -NSTUB(0x080fc62d, serial_number_init_fc62d) NSTUB(0x0808c45d, serial_number_something) NSTUB(0x0808c497, serial_number_uninit) NSTUB(0x0808c4a9, global_0x14_c4a8) @@ -1019,6 +1016,7 @@ NSTUB(0x080a0c45, tm_run_call_4) NSTUB(0x080a0c79, tm_run_call_6_shutdown) NSTUB(0x080a0cad, tm_assert) NSTUB(0x080a0cb9, flow_debug_something) +NSTUB(0x080a0cbf, dispatch_0x10_a0cbf) NSTUB(0x080a0cc9, therapy_manager_run_queue_callback_0x6) NSTUB(0x080a0cfb, therapy_manager_variable_as_float) NSTUB(0x080a0e6d, data_definitions_get_something) @@ -1027,17 +1025,20 @@ NSTUB(0x080a0f21, call_all_the_functions) NSTUB(0x080a120b, tm_var_b7_from_flow_setup) NSTUB(0x080a1225, tm_flow_b7_every_cycle) NSTUB(0x080a1339, therapy_worker_0_nop) +NSTUB(0x080a1345, dispatch_0x10_a1345) NSTUB(0x080a134b, ivaps_breath_setup_if_mode_6) NSTUB(0x080a137f, ivaps_breath_shutdown) NSTUB(0x080a1385, ivaps_breath_rate_maybe) NSTUB(0x080a145d, ivaps_breath_worker_setup) NSTUB(0x080a1639, therapy_worker_derived_fc084_init) +NSTUB(0x080a16bd, dispatch_0x10_a16bd) NSTUB(0x080a16c3, shutdown) NSTUB(0x080a16c9, tm_fvar_62_and_time) NSTUB(0x080a1705, tm_scale_var_62_over_time) NSTUB(0x080a175d, tm_scale_fvar_62_setup) NSTUB(0x080a1867, motor_command_when_mode_changed) NSTUB(0x080a1b01, motor_command_mode_changed) +NSTUB(0x080a1be5, dispatch_0x10_a1be5) NSTUB(0x080a1c0f, copy_therapy_0x06_to_0x28) NSTUB(0x080a1d01, therapy_update_variable_0x40_0x41) NSTUB(0x080a1f13, copy_flow_stuff) @@ -1049,6 +1050,7 @@ NSTUB(0x080a2e81, divide_by_1207) NSTUB(0x080a32cd, display_0x10) NSTUB(0x080a3a05, tm_write_fvar_37) NSTUB(0x080a3ae1, helper_a3ae0) +NSTUB(0x080a5585, dispatch_0x10_a5585) NSTUB(0x080a558b, zero_0x8) NSTUB(0x080a5595, therapy_variables_init_0x53_52_54_51_50) NSTUB(0x080a5659, flow_computation_modes_maybe) @@ -1057,14 +1059,16 @@ NSTUB(0x080a59ed, compute_flow_from_pressure_maybe) NSTUB(0x080a61d5, flow_and_pressure_to_something) NSTUB(0x080a63ad, tm_write_fvars_38_39_24) NSTUB(0x080a65f8, sin_approx_maybe) +NSTUB(0x080a66b9, dispatch_0x10_a66b9) NSTUB(0x080a66c1, mode_switching_maybe) NSTUB(0x080a676f, zero_off_8) NSTUB(0x080a6779, set_int_variable_0x23) NSTUB(0x080a6a39, flow_and_pressure_to_something_big) +NSTUB(0x080a6c45, dispatch_0x10_a6c45) NSTUB(0x080a6cb9, motor_overshoot_update_maybe) +NSTUB(0x080a75dd, dispatch_0x10_a75dd) NSTUB(0x080a75e3, flow_max_init) NSTUB(0x080a762b, store_0x08_a762b) -NSTUB(0x080a96a7, store_0x08_a96a7) NSTUB(0x080a7631, flow_max_min_maybe) NSTUB(0x080a7741, min_max_avg_publish) NSTUB(0x080a8789, tm_write_fvar_a7) @@ -1072,6 +1076,8 @@ NSTUB(0x080a8f05, tm_write_fvar_92) NSTUB(0x080a9059, tm_write_fvar_93_ivar_52) NSTUB(0x080a9235, therapy_manager_floatingpoint_stuff) NSTUB(0x080a9355, theraphy_manager_something) +NSTUB(0x080a96a1, dispatch_0x10_a96a1) +NSTUB(0x080a96a7, store_0x08_a96a7) NSTUB(0x080a96ad, flow_scaling_init_maybe) NSTUB(0x080a9735, flow_something_scaling_not_called) NSTUB(0x080a989d, flow_scaling_setup) @@ -1088,12 +1094,10 @@ NSTUB(0x080ab91d, store_0x8) NSTUB(0x080ab925, update_vars_c6_c7_c8_6e) NSTUB(0x080abe75, therapy_scale_2000_not_called_during_run) NSTUB(0x080acafd, worker_56d8_init_acafd) -NSTUB(0x20015711, worker_56d8_init_15711) NSTUB(0x080acb1f, worker_56d8_update_vars_9c) NSTUB(0x080acb7f, worker_56d8_zero_var_9c) NSTUB(0x080acb9d, tm_write_fvar_9c) NSTUB(0x080acd1b, worker_5714_init_acd1b) -NSTUB(0x20015712, worker_5714_init_15712) NSTUB(0x080acd39, update_vars) NSTUB(0x080acded, worker_something_update_vars) NSTUB(0x080acec9, update_vars_a7_92_cf_d4) @@ -1139,15 +1143,16 @@ NSTUB(0x080bb68b, pressure_handler_shutdown) NSTUB(0x080bb69d, pressure_computation_method) NSTUB(0x080bb735, compute_pressure_stuff_replaced_with_breath) NSTUB(0x080bbb34, max_up_per_step_bbb34) -NSTUB(0x080bbf50, max_up_per_step_bbf50) NSTUB(0x080bbb38, max_down_perstep_bbb38) -NSTUB(0x080bbf54, max_down_perstep_bbf54) NSTUB(0x080bbb3c, limit_per_step) NSTUB(0x080bbced, pressure_target_normal_operation) +NSTUB(0x080bbde9, dispatch_0x10_bbde9) NSTUB(0x080bbdef, pressure_other_methods_enable) NSTUB(0x080bbe1b, pressure_other_disable) NSTUB(0x080bbe25, pressure_other_copy_min_pressure_if_some_modes) NSTUB(0x080bbe6f, pressure_worker_setup) +NSTUB(0x080bbf50, max_up_per_step_bbf50) +NSTUB(0x080bbf54, max_down_perstep_bbf54) NSTUB(0x080bc01f, therapy_variable_0x1c) NSTUB(0x080bc081, pressure_work) NSTUB(0x080bc1a9, pressure_check_something) @@ -1157,6 +1162,7 @@ NSTUB(0x080bc371, pressure_work_init) NSTUB(0x080bc453, pressure_zero_fvar_0x29) NSTUB(0x080bc51d, pressure_scale_not_called) NSTUB(0x080bc613, pressure_init_worker) +NSTUB(0x080bc755, dispatch_0x10_bc755) NSTUB(0x080bc75d, pressure_only_in_mode_2_and_3) NSTUB(0x080bc881, zero_0xda) NSTUB(0x080bc89b, copy_float_0xb) @@ -1181,6 +1187,22 @@ NSTUB(0x080be739, scale_something_else) NSTUB(0x080bec85, scale_something_0_to_1) NSTUB(0x080bee79, tm_a0_cannot_be_zero) NSTUB(0x080c223b, gobal_0x04_float_stuff_callbacks) +NSTUB(0x080c31c5, uart_packet_init) +NSTUB(0x080c31f9, uart_packet_reset) +NSTUB(0x080c3231, uart_rx_reset) +NSTUB(0x080c3271, uart_map_ascii_to_cmd_id) +NSTUB(0x080c329b, uart_rx_append_byte_and_update_crc) +NSTUB(0x080c332d, uart_rx_has_min_payload) +NSTUB(0x080c333b, uart_rx_payload_length_valid) +NSTUB(0x080c3365, uart_validate_crc) +NSTUB(0x080c3397, uart_unescape_sof_byte) +NSTUB(0x080c339b, uart_build_packet) +NSTUB(0x080c341d, uart_escape_sof_byte) +NSTUB(0x080c3421, payload_uppercase_8) +NSTUB(0x080c3425, uart_payload_init) +NSTUB(0x080c346d, uart_payload_reset) +NSTUB(0x080c35b8, uart_cmd_id_to_response_code) +NSTUB(0x080c35cc, uart_request_code_table) NSTUB(0x080c39c9, crc_something) NSTUB(0x080c4c7d, brp_something_possibly) NSTUB(0x080c4ec3, brp_something_maybe) @@ -1190,12 +1212,12 @@ NSTUB(0x080c5011, global_variables_thunk) NSTUB(0x080c504b, csl_vars_maybe) NSTUB(0x080c50dd, printf_lots_of_characters) NSTUB(0x080c5257, csl_stuff_c5257) -NSTUB(0x080c55bb, csl_stuff_c55bb) NSTUB(0x080c52a1, global_0x04_read) NSTUB(0x080c52bb, global_variables_thunk_with_18) NSTUB(0x080c5383, csl_and_start_recording) NSTUB(0x080c53c7, recording_start_wrapper) NSTUB(0x080c5575, recording_starts) +NSTUB(0x080c55bb, csl_stuff_c55bb) NSTUB(0x080c56e9, npd_something_maybe) NSTUB(0x080c57b9, npd_stuff_57b8) NSTUB(0x080c586b, npa_something) @@ -1211,6 +1233,7 @@ NSTUB(0x080c940d, time_something_formatting) NSTUB(0x080cacd8, bitmap_monochome_logo) NSTUB(0x080cb788, bitmap_partial_arc) NSTUB(0x080cd9a8, bitmap_resmod_name) +NSTUB(0x080ce4df, load_eep_file_settings_maybe) NSTUB(0x080cee57, config_bgl_vs_ngl) NSTUB(0x080cee87, config_bgl_ngl_bkp0r_etc) NSTUB(0x080ceeb7, config_0x20_and_0x30) @@ -1219,7 +1242,9 @@ NSTUB(0x080cf019, fopen_helper) NSTUB(0x080cf01b, fopen_likely) NSTUB(0x080cf2a5, global_variables_get) NSTUB(0x080cf4a1, config_eep_filename) -NSTUB(0x080cf819, variable_to_string) +NSTUB(0x080cf819, variable_to_file_tgt_string) +NSTUB(0x080cf875, file_tgt_build_text) +NSTUB(0x080cf8d4, s_CRLF) NSTUB(0x080cfa85, logfile_entry) NSTUB(0x080d0bb9, therapy_manager_get_mode_r6) NSTUB(0x080d0c75, tm_default_methods) @@ -1246,7 +1271,14 @@ NSTUB(0x080d9287, GUIDRV_FlexColor_SetMode_unknown) NSTUB(0x080d9334, menu_item_something_else) NSTUB(0x080d9340, pixels_99f8) NSTUB(0x080d99f8, bitmap_lungs_maybe) +NSTUB(0x080da6ef, uart_build_and_send_packet_maybe) NSTUB(0x080db644, bitmap_gears) +NSTUB(0x080dc563, uart_handle_command_char) +NSTUB(0x080dc631, uart_process_id_command_maybe) +NSTUB(0x080dc753, uart_protocol_tick) +NSTUB(0x080dc999, uart_handle_command_char_wrapper) +NSTUB(0x080dc9a1, uart_is_sof) +NSTUB(0x080dc9b1, uart_rx_process_byte) NSTUB(0x080dd058, bitmap_full_pressure_arc) NSTUB(0x080dd628, bitmap_splashscreen_wave) NSTUB(0x080ddbec, bitmap_options_icon) @@ -1327,7 +1359,6 @@ NSTUB(0x080ecd5f, call_update_var_maybe) NSTUB(0x080ecd65, flow_limit_maybe) NSTUB(0x080ecda1, flow_write_target_cpap_mode) NSTUB(0x080ecdc1, flow_writer_ecdc1) -NSTUB(0x080f4a90, flow_writer_f4a90) NSTUB(0x080ece24, flow_target_worker) NSTUB(0x080ece31, flow_method_ece30) NSTUB(0x080ece43, call_task_something) @@ -1384,6 +1415,8 @@ NSTUB(0x080f1ef1, color_lookup) NSTUB(0x080f2060, bitmap_left_arrow_selected) NSTUB(0x080f229c, bitmap_left_arrow) NSTUB(0x080f2358, image_2358) +NSTUB(0x080f23cd, compare_runtime_with_threshold) +NSTUB(0x080f2418, thresh_21900_hours) NSTUB(0x080f24e1, color_something) NSTUB(0x080f2502, GetIndexMask_2) NSTUB(0x080f2507, color2rgb) @@ -1402,7 +1435,6 @@ NSTUB(0x080f2b1c, methods_f2b1c) NSTUB(0x080f2bb8, gui_methods_floatvar) NSTUB(0x080f2c3c, floatvar_some_methods) NSTUB(0x080f2ce8, null_methods_f2ce8) -NSTUB(0x080fc0f4, null_methods_fc0f4) NSTUB(0x080f2cf0, menu_radio_other_methods) NSTUB(0x080f2d70, menu_baseclass_maybe) NSTUB(0x080f2ea8, str_struct_sequence2) @@ -1434,6 +1466,7 @@ NSTUB(0x080f4550, tm_worker_methods_unknown) NSTUB(0x080f46f4, flow_methods_f46f4) NSTUB(0x080f4844, flow_measurement_methods) NSTUB(0x080f4a3c, flow_f1cf8_methods) +NSTUB(0x080f4a90, flow_writer_f4a90) NSTUB(0x080f4cdc, flow_user_methods) NSTUB(0x080f4d30, methods_of_unknown_origin) NSTUB(0x080f5378, gui_methods_f5378) @@ -1485,6 +1518,7 @@ NSTUB(0x080f9c70, gui_0x39_scaling_methods) NSTUB(0x080f9cc4, gui_string_methods_all_constant) NSTUB(0x080fa198, gamma_table_probably) NSTUB(0x080fa1b9, init_call_function_list) +NSTUB(0x080fa5a4, watchdog_methods_fa5a4) NSTUB(0x080fb3a4, gui_display_methods_from_fvars) NSTUB(0x080fb4b5, SCB_set_cp10_11_full_access) NSTUB(0x080fb66c, obj_17138_methods) @@ -1495,6 +1529,7 @@ NSTUB(0x080fbae3, const_1) NSTUB(0x080fbaed, breakpoint_loop) NSTUB(0x080fbe88, variable_writer_methods) NSTUB(0x080fbe9c, list_methods) +NSTUB(0x080fc0f4, null_methods_fc0f4) NSTUB(0x080fc104, pressure_arc_methods_maybe) NSTUB(0x080fc124, obj_6800b9c4_methods) NSTUB(0x080fc174, dispatch_only_method) @@ -1502,6 +1537,7 @@ NSTUB(0x080fc1ad, init_peripherals_and_os) NSTUB(0x080fc4b8, gui_drawmode_methods) NSTUB(0x080fc4c4, gui_color_methods) NSTUB(0x080fc4d1, call_pre_pre_OSInit) +NSTUB(0x080fc62d, serial_number_init_fc62d) NSTUB(0x080fc93d, variable_store_off_0x8) NSTUB(0x080fc941, variable_read_off_0x8) NSTUB(0x1000000f, serial_number_init_done) @@ -1544,6 +1580,7 @@ NSTUB(0x2000e949, therapy_variables_float) NSTUB(0x2000ecc9, therapy_last_workq) NSTUB(0x2000eccc, OSTmrTbl) NSTUB(0x200104a0, variable_something) +NSTUB(0x200104b6, current_lang_idx) NSTUB(0x20010c3e, OSTmrUsed) NSTUB(0x20010c40, timer_table_maybe) NSTUB(0x2001233d, os_taskstat_stack_top) @@ -1553,16 +1590,18 @@ NSTUB(0x200138cd, fun_80a2e80_data) NSTUB(0x20013981, fun_80a2e80_data2) NSTUB(0x20013b8c, global_config_table_copy) NSTUB(0x20013e08, flow_worker_maybe_13e08) -NSTUB(0x20014bfc, flow_worker_maybe_14bfc) NSTUB(0x20013e71, flow_target_pointer) NSTUB(0x20013e8d, pressure_struct) NSTUB(0x20014440, OSTCBPrioTbl) +NSTUB(0x20014bfc, flow_worker_maybe_14bfc) NSTUB(0x20014c15, flow_index_4) NSTUB(0x20014c4d, global_object) NSTUB(0x2001510d, some_worker) NSTUB(0x20015171, flow_target_pointer2) NSTUB(0x200151d5, another_big_global) NSTUB(0x20015211, something_outside) +NSTUB(0x20015711, worker_56d8_init_15711) +NSTUB(0x20015712, worker_5714_init_15712) NSTUB(0x20015961, flow_target_pointer3) NSTUB(0x20016160, OSTmrWheelTbl) NSTUB(0x20016258, tm_workers_array_maybe) @@ -1570,7 +1609,6 @@ NSTUB(0x20016903, once_and_only_once) NSTUB(0x20016a69, pressure_worker_init_done) NSTUB(0x20016c02, init_7dc1c_done) NSTUB(0x20016c03, once_82074) -NSTUB(0x20016d82, timer_counter_maybe) NSTUB(0x20016d82, periodic_worker_counter) NSTUB(0x20016d84, object_17fd4_once) NSTUB(0x20016f87, once_7f2be) @@ -1587,14 +1625,22 @@ NSTUB(0x20017306, OSRdyGrp) NSTUB(0x20017307, OSRunning) NSTUB(0x20017308, OSTaskCtr) NSTUB(0x20017309, OSSched_lock_counter_maybe) +NSTUB(0x20017380, RAM_idstr_PCB) +NSTUB(0x200173a4, RAM_idstr_PNA) NSTUB(0x20017434, pressure_worker) NSTUB(0x2001744d, motor_pressure_maybe) NSTUB(0x20017455, pressure_init_done) +NSTUB(0x200174c4, RAM_idstr_CID) +NSTUB(0x20017684, RAM_idstr_SID) NSTUB(0x2001774c, float_table_something) NSTUB(0x200177bd, motor_overshot_obj) +NSTUB(0x20017848, RAM_idstr_BID) +NSTUB(0x2001785c, RAM_idstr_FGT) +NSTUB(0x20017870, RAM_idstr_SRN) NSTUB(0x20017a60, periodic_workers) NSTUB(0x20017e60, therapy_worker_0_struct) NSTUB(0x20017e6d, ivaps_breather_worker_init) +NSTUB(0x20017f20, RAM_idstr_PCD) NSTUB(0x20017f44, global_0x09_copy) NSTUB(0x20017f5d, object_something) NSTUB(0x20017fd4, date_methods_ptr) @@ -1632,10 +1678,11 @@ NSTUB(0x2001e665, globals_cache) NSTUB(0x2001e669, global_0x20_cache_init) NSTUB(0x2001e66d, global_0x20_cache) NSTUB(0x2001e688, variable_table_ptr_1e688) -NSTUB(0x2001e698, variable_table_ptr_1e698) -NSTUB(0x2001e6a8, variable_table_ptr_1e6a8) NSTUB(0x2001e68c, variable_types_cache) NSTUB(0x2001e694, global_0x8_copy) +NSTUB(0x2001e698, variable_table_ptr_1e698) +NSTUB(0x2001e6a8, variable_table_ptr_1e6a8) +NSTUB(0x2001e6d8, global_0x40_copy_1e6d8) NSTUB(0x2001e6dc, local_table_cache) NSTUB(0x2001e720, global_0x10_cache) NSTUB(0x2001e733, string_id_cache_done) @@ -1643,6 +1690,7 @@ NSTUB(0x2001e734, variable_cache_init_done) NSTUB(0x2001e748, local_table_cached) NSTUB(0x2001e759, global_0x10_cache_init) NSTUB(0x2001ff00, config_values) +NSTUB(0x2001ff3c, lang_mask) NSTUB(0x40000000, TIM2) NSTUB(0x40000400, TIM3) NSTUB(0x40000800, TIM4) @@ -1707,6 +1755,8 @@ NSTUB(0x68000000, mapped_68000000) NSTUB(0x6800009c, emwin_font) NSTUB(0x680000a0, gui_context) NSTUB(0x680000ac, gui_color_methods_ptr) +NSTUB(0x680000b8, uc_encode_func1_maybe_000b8) +NSTUB(0x680000bc, uc_encode_func2_maybe_000bc) NSTUB(0x68008f39, gui_device_1) NSTUB(0x68009754, TrmMonTimer) NSTUB(0x68009758, TmrMonSem) @@ -1760,6 +1810,7 @@ NSTUB(0x6800bc6d, GUI_MEMDEV_DEVICE_32) NSTUB(0x6800bc71, bitmap_pixel_data) NSTUB(0x6800bc75, bitmap_pixel_function) NSTUB(0x6800bc79, counter_bc78) +NSTUB(0x6800bc85, wm_global_callback_0bc85) NSTUB(0x6800bc8d, gui_dispatch_recursion_count) NSTUB(0x6800bca5, emwin_lock_maybe) NSTUB(0x6800bca6, WM_Init_done)