Merge remote-tracking branch 'mntm/dev' into ofw-3822-nestednonces

This commit is contained in:
Willy-JL
2024-09-10 20:34:12 +02:00
169 changed files with 5250 additions and 1171 deletions

View File

@@ -13,13 +13,13 @@ Header,+,applications/services/gui/icon_i.h,,
Header,+,applications/services/gui/modules/button_menu.h,,
Header,+,applications/services/gui/modules/button_panel.h,,
Header,+,applications/services/gui/modules/byte_input.h,,
Header,+,applications/services/gui/modules/number_input.h,,
Header,+,applications/services/gui/modules/dialog_ex.h,,
Header,+,applications/services/gui/modules/empty_screen.h,,
Header,+,applications/services/gui/modules/file_browser.h,,
Header,+,applications/services/gui/modules/file_browser_worker.h,,
Header,+,applications/services/gui/modules/loading.h,,
Header,+,applications/services/gui/modules/menu.h,,
Header,+,applications/services/gui/modules/number_input.h,,
Header,+,applications/services/gui/modules/popup.h,,
Header,+,applications/services/gui/modules/submenu.h,,
Header,+,applications/services/gui/modules/text_box.h,,
@@ -170,6 +170,7 @@ Header,+,lib/toolbox/stream/buffered_file_stream.h,,
Header,+,lib/toolbox/stream/file_stream.h,,
Header,+,lib/toolbox/stream/stream.h,,
Header,+,lib/toolbox/stream/string_stream.h,,
Header,+,lib/toolbox/strint.h,,
Header,+,lib/toolbox/tar/tar_archive.h,,
Header,+,lib/toolbox/value_index.h,,
Header,+,lib/toolbox/varint.h,,
@@ -723,11 +724,6 @@ Function,+,byte_input_free,void,ByteInput*
Function,+,byte_input_get_view,View*,ByteInput*
Function,+,byte_input_set_header_text,void,"ByteInput*, const char*"
Function,+,byte_input_set_result_callback,void,"ByteInput*, ByteInputCallback, ByteChangedCallback, void*, uint8_t*, uint8_t"
Function,+,number_input_alloc,NumberInput*,
Function,+,number_input_free,void,NumberInput*
Function,+,number_input_get_view,View*,NumberInput*
Function,+,number_input_set_header_text,void,"NumberInput*, const char*"
Function,+,number_input_set_result_callback,void,"NumberInput*, NumberInputCallback, void*, int32_t, int32_t, int32_t"
Function,-,bzero,void,"void*, size_t"
Function,+,calloc,void*,"size_t, size_t"
Function,+,canvas_clear,void,Canvas*
@@ -873,6 +869,8 @@ Function,+,dolphin_deed_get_app_limit,uint8_t,DolphinApp
Function,+,dolphin_deed_get_weight,uint8_t,DolphinDeed
Function,+,dolphin_flush,void,Dolphin*
Function,+,dolphin_get_pubsub,FuriPubSub*,Dolphin*
Function,+,dolphin_get_settings,void,"Dolphin*, DolphinSettings*"
Function,+,dolphin_set_settings,void,"Dolphin*, DolphinSettings*"
Function,+,dolphin_stats,DolphinStats,Dolphin*
Function,+,dolphin_upgrade_level,void,Dolphin*
Function,-,dprintf,int,"int, const char*, ..."
@@ -883,8 +881,10 @@ Function,+,elements_bold_rounded_frame,void,"Canvas*, int32_t, int32_t, size_t,
Function,+,elements_bubble,void,"Canvas*, int32_t, int32_t, size_t, size_t"
Function,+,elements_bubble_str,void,"Canvas*, int32_t, int32_t, const char*, Align, Align"
Function,+,elements_button_center,void,"Canvas*, const char*"
Function,+,elements_button_down,void,"Canvas*, const char*"
Function,+,elements_button_left,void,"Canvas*, const char*"
Function,+,elements_button_right,void,"Canvas*, const char*"
Function,+,elements_button_up,void,"Canvas*, const char*"
Function,+,elements_frame,void,"Canvas*, int32_t, int32_t, size_t, size_t"
Function,+,elements_multiline_text,void,"Canvas*, int32_t, int32_t, const char*"
Function,+,elements_multiline_text_aligned,void,"Canvas*, int32_t, int32_t, Align, Align, const char*"
@@ -2197,6 +2197,11 @@ Function,+,notification_internal_message_block,void,"NotificationApp*, const Not
Function,+,notification_message,void,"NotificationApp*, const NotificationSequence*"
Function,+,notification_message_block,void,"NotificationApp*, const NotificationSequence*"
Function,-,nrand48,long,unsigned short[3]
Function,+,number_input_alloc,NumberInput*,
Function,+,number_input_free,void,NumberInput*
Function,+,number_input_get_view,View*,NumberInput*
Function,+,number_input_set_header_text,void,"NumberInput*, const char*"
Function,+,number_input_set_result_callback,void,"NumberInput*, NumberInputCallback, void*, int32_t, int32_t, int32_t"
Function,-,on_exit,int,"void (*)(int, void*), void*"
Function,+,onewire_host_alloc,OneWireHost*,const GpioPin*
Function,+,onewire_host_free,void,OneWireHost*
@@ -2587,7 +2592,13 @@ Function,-,strerror,char*,int
Function,-,strerror_l,char*,"int, locale_t"
Function,-,strerror_r,char*,"int, char*, size_t"
Function,+,string_stream_alloc,Stream*,
Function,-,strlcat,size_t,"char*, const char*, size_t"
Function,+,strint_to_int16,StrintParseError,"const char*, char**, int16_t*, uint8_t"
Function,+,strint_to_int32,StrintParseError,"const char*, char**, int32_t*, uint8_t"
Function,+,strint_to_int64,StrintParseError,"const char*, char**, int64_t*, uint8_t"
Function,+,strint_to_uint16,StrintParseError,"const char*, char**, uint16_t*, uint8_t"
Function,+,strint_to_uint32,StrintParseError,"const char*, char**, uint32_t*, uint8_t"
Function,+,strint_to_uint64,StrintParseError,"const char*, char**, uint64_t*, uint8_t"
Function,+,strlcat,size_t,"char*, const char*, size_t"
Function,+,strlcpy,size_t,"char*, const char*, size_t"
Function,+,strlen,size_t,const char*
Function,-,strlwr,char*,char*
@@ -2750,7 +2761,7 @@ Function,+,view_dispatcher_alloc,ViewDispatcher*,
Function,+,view_dispatcher_attach_to_gui,void,"ViewDispatcher*, Gui*, ViewDispatcherType"
Function,+,view_dispatcher_enable_queue,void,ViewDispatcher*
Function,+,view_dispatcher_free,void,ViewDispatcher*
Function,-,view_dispatcher_get_event_loop,FuriEventLoop*,ViewDispatcher*
Function,+,view_dispatcher_get_event_loop,FuriEventLoop*,ViewDispatcher*
Function,+,view_dispatcher_remove_view,void,"ViewDispatcher*, uint32_t"
Function,+,view_dispatcher_run,void,ViewDispatcher*
Function,+,view_dispatcher_send_custom_event,void,"ViewDispatcher*, uint32_t"
1 entry status name type params
13 Header + applications/services/gui/modules/button_menu.h
14 Header + applications/services/gui/modules/button_panel.h
15 Header + applications/services/gui/modules/byte_input.h
Header + applications/services/gui/modules/number_input.h
16 Header + applications/services/gui/modules/dialog_ex.h
17 Header + applications/services/gui/modules/empty_screen.h
18 Header + applications/services/gui/modules/file_browser.h
19 Header + applications/services/gui/modules/file_browser_worker.h
20 Header + applications/services/gui/modules/loading.h
21 Header + applications/services/gui/modules/menu.h
22 Header + applications/services/gui/modules/number_input.h
23 Header + applications/services/gui/modules/popup.h
24 Header + applications/services/gui/modules/submenu.h
25 Header + applications/services/gui/modules/text_box.h
170 Header + lib/toolbox/stream/file_stream.h
171 Header + lib/toolbox/stream/stream.h
172 Header + lib/toolbox/stream/string_stream.h
173 Header + lib/toolbox/strint.h
174 Header + lib/toolbox/tar/tar_archive.h
175 Header + lib/toolbox/value_index.h
176 Header + lib/toolbox/varint.h
724 Function + byte_input_get_view View* ByteInput*
725 Function + byte_input_set_header_text void ByteInput*, const char*
726 Function + byte_input_set_result_callback void ByteInput*, ByteInputCallback, ByteChangedCallback, void*, uint8_t*, uint8_t
Function + number_input_alloc NumberInput*
Function + number_input_free void NumberInput*
Function + number_input_get_view View* NumberInput*
Function + number_input_set_header_text void NumberInput*, const char*
Function + number_input_set_result_callback void NumberInput*, NumberInputCallback, void*, int32_t, int32_t, int32_t
727 Function - bzero void void*, size_t
728 Function + calloc void* size_t, size_t
729 Function + canvas_clear void Canvas*
869 Function + dolphin_deed_get_weight uint8_t DolphinDeed
870 Function + dolphin_flush void Dolphin*
871 Function + dolphin_get_pubsub FuriPubSub* Dolphin*
872 Function + dolphin_get_settings void Dolphin*, DolphinSettings*
873 Function + dolphin_set_settings void Dolphin*, DolphinSettings*
874 Function + dolphin_stats DolphinStats Dolphin*
875 Function + dolphin_upgrade_level void Dolphin*
876 Function - dprintf int int, const char*, ...
881 Function + elements_bubble void Canvas*, int32_t, int32_t, size_t, size_t
882 Function + elements_bubble_str void Canvas*, int32_t, int32_t, const char*, Align, Align
883 Function + elements_button_center void Canvas*, const char*
884 Function + elements_button_down void Canvas*, const char*
885 Function + elements_button_left void Canvas*, const char*
886 Function + elements_button_right void Canvas*, const char*
887 Function + elements_button_up void Canvas*, const char*
888 Function + elements_frame void Canvas*, int32_t, int32_t, size_t, size_t
889 Function + elements_multiline_text void Canvas*, int32_t, int32_t, const char*
890 Function + elements_multiline_text_aligned void Canvas*, int32_t, int32_t, Align, Align, const char*
2197 Function + notification_message void NotificationApp*, const NotificationSequence*
2198 Function + notification_message_block void NotificationApp*, const NotificationSequence*
2199 Function - nrand48 long unsigned short[3]
2200 Function + number_input_alloc NumberInput*
2201 Function + number_input_free void NumberInput*
2202 Function + number_input_get_view View* NumberInput*
2203 Function + number_input_set_header_text void NumberInput*, const char*
2204 Function + number_input_set_result_callback void NumberInput*, NumberInputCallback, void*, int32_t, int32_t, int32_t
2205 Function - on_exit int void (*)(int, void*), void*
2206 Function + onewire_host_alloc OneWireHost* const GpioPin*
2207 Function + onewire_host_free void OneWireHost*
2592 Function - strerror_l char* int, locale_t
2593 Function - strerror_r char* int, char*, size_t
2594 Function + string_stream_alloc Stream*
2595 Function - + strlcat strint_to_int16 size_t StrintParseError char*, const char*, size_t const char*, char**, int16_t*, uint8_t
2596 Function + strint_to_int32 StrintParseError const char*, char**, int32_t*, uint8_t
2597 Function + strint_to_int64 StrintParseError const char*, char**, int64_t*, uint8_t
2598 Function + strint_to_uint16 StrintParseError const char*, char**, uint16_t*, uint8_t
2599 Function + strint_to_uint32 StrintParseError const char*, char**, uint32_t*, uint8_t
2600 Function + strint_to_uint64 StrintParseError const char*, char**, uint64_t*, uint8_t
2601 Function + strlcat size_t char*, const char*, size_t
2602 Function + strlcpy size_t char*, const char*, size_t
2603 Function + strlen size_t const char*
2604 Function - strlwr char* char*
2761 Function + view_dispatcher_attach_to_gui void ViewDispatcher*, Gui*, ViewDispatcherType
2762 Function + view_dispatcher_enable_queue void ViewDispatcher*
2763 Function + view_dispatcher_free void ViewDispatcher*
2764 Function - + view_dispatcher_get_event_loop FuriEventLoop* ViewDispatcher*
2765 Function + view_dispatcher_remove_view void ViewDispatcher*, uint32_t
2766 Function + view_dispatcher_run void ViewDispatcher*
2767 Function + view_dispatcher_send_custom_event void ViewDispatcher*, uint32_t

View File

@@ -40,6 +40,7 @@ void furi_hal_init(void) {
furi_hal_interrupt_init();
furi_hal_flash_init();
furi_hal_resources_init();
furi_hal_region_init();
furi_hal_spi_config_init();
furi_hal_spi_dma_init();
furi_hal_speaker_init();

View File

@@ -251,6 +251,7 @@ Header,+,lib/toolbox/stream/buffered_file_stream.h,,
Header,+,lib/toolbox/stream/file_stream.h,,
Header,+,lib/toolbox/stream/stream.h,,
Header,+,lib/toolbox/stream/string_stream.h,,
Header,+,lib/toolbox/strint.h,,
Header,+,lib/toolbox/tar/tar_archive.h,,
Header,+,lib/toolbox/value_index.h,,
Header,+,lib/toolbox/varint.h,,
@@ -976,6 +977,8 @@ Function,+,dolphin_deed_get_app_limit,uint8_t,DolphinApp
Function,+,dolphin_deed_get_weight,uint8_t,DolphinDeed
Function,+,dolphin_flush,void,Dolphin*
Function,+,dolphin_get_pubsub,FuriPubSub*,Dolphin*
Function,+,dolphin_get_settings,void,"Dolphin*, DolphinSettings*"
Function,+,dolphin_set_settings,void,"Dolphin*, DolphinSettings*"
Function,+,dolphin_reload_state,void,Dolphin*
Function,+,dolphin_stats,DolphinStats,Dolphin*
Function,+,dolphin_upgrade_level,void,Dolphin*
@@ -987,8 +990,10 @@ Function,+,elements_bold_rounded_frame,void,"Canvas*, int32_t, int32_t, size_t,
Function,+,elements_bubble,void,"Canvas*, int32_t, int32_t, size_t, size_t"
Function,+,elements_bubble_str,void,"Canvas*, int32_t, int32_t, const char*, Align, Align"
Function,+,elements_button_center,void,"Canvas*, const char*"
Function,+,elements_button_down,void,"Canvas*, const char*"
Function,+,elements_button_left,void,"Canvas*, const char*"
Function,+,elements_button_right,void,"Canvas*, const char*"
Function,+,elements_button_up,void,"Canvas*, const char*"
Function,+,elements_frame,void,"Canvas*, int32_t, int32_t, size_t, size_t"
Function,+,elements_multiline_text,void,"Canvas*, int32_t, int32_t, const char*"
Function,+,elements_multiline_text_aligned,void,"Canvas*, int32_t, int32_t, Align, Align, const char*"
@@ -1494,7 +1499,7 @@ Function,+,furi_hal_nfc_abort,FuriHalNfcError,
Function,+,furi_hal_nfc_acquire,FuriHalNfcError,
Function,+,furi_hal_nfc_event_start,FuriHalNfcError,
Function,+,furi_hal_nfc_event_stop,FuriHalNfcError,
Function,+,furi_hal_nfc_felica_listener_set_sensf_res_data,FuriHalNfcError,"const uint8_t*, const uint8_t, const uint8_t*, const uint8_t"
Function,+,furi_hal_nfc_felica_listener_set_sensf_res_data,FuriHalNfcError,"const uint8_t*, const uint8_t, const uint8_t*, const uint8_t, const uint16_t"
Function,+,furi_hal_nfc_field_detect_start,FuriHalNfcError,
Function,+,furi_hal_nfc_field_detect_stop,FuriHalNfcError,
Function,+,furi_hal_nfc_field_is_present,_Bool,
@@ -2853,7 +2858,7 @@ Function,+,nfc_device_save,_Bool,"NfcDevice*, const char*"
Function,+,nfc_device_set_data,void,"NfcDevice*, NfcProtocol, const NfcDeviceData*"
Function,+,nfc_device_set_loading_callback,void,"NfcDevice*, NfcLoadingCallback, void*"
Function,+,nfc_device_set_uid,_Bool,"NfcDevice*, const uint8_t*, size_t"
Function,+,nfc_felica_listener_set_sensf_res_data,NfcError,"Nfc*, const uint8_t*, const uint8_t, const uint8_t*, const uint8_t"
Function,+,nfc_felica_listener_set_sensf_res_data,NfcError,"Nfc*, const uint8_t*, const uint8_t, const uint8_t*, const uint8_t, const uint16_t"
Function,+,nfc_free,void,Nfc*
Function,+,nfc_iso14443a_listener_set_col_res_data,NfcError,"Nfc*, uint8_t*, uint8_t, uint8_t*, uint8_t"
Function,+,nfc_iso14443a_listener_tx_custom_parity,NfcError,"Nfc*, const BitBuffer*"
@@ -3373,7 +3378,13 @@ Function,-,strerror,char*,int
Function,-,strerror_l,char*,"int, locale_t"
Function,-,strerror_r,char*,"int, char*, size_t"
Function,+,string_stream_alloc,Stream*,
Function,-,strlcat,size_t,"char*, const char*, size_t"
Function,+,strint_to_int16,StrintParseError,"const char*, char**, int16_t*, uint8_t"
Function,+,strint_to_int32,StrintParseError,"const char*, char**, int32_t*, uint8_t"
Function,+,strint_to_int64,StrintParseError,"const char*, char**, int64_t*, uint8_t"
Function,+,strint_to_uint16,StrintParseError,"const char*, char**, uint16_t*, uint8_t"
Function,+,strint_to_uint32,StrintParseError,"const char*, char**, uint32_t*, uint8_t"
Function,+,strint_to_uint64,StrintParseError,"const char*, char**, uint64_t*, uint8_t"
Function,+,strlcat,size_t,"char*, const char*, size_t"
Function,+,strlcpy,size_t,"char*, const char*, size_t"
Function,+,strlen,size_t,const char*
Function,-,strlwr,char*,char*
@@ -3735,7 +3746,7 @@ Function,+,view_dispatcher_alloc,ViewDispatcher*,
Function,+,view_dispatcher_attach_to_gui,void,"ViewDispatcher*, Gui*, ViewDispatcherType"
Function,+,view_dispatcher_enable_queue,void,ViewDispatcher*
Function,+,view_dispatcher_free,void,ViewDispatcher*
Function,-,view_dispatcher_get_event_loop,FuriEventLoop*,ViewDispatcher*
Function,+,view_dispatcher_get_event_loop,FuriEventLoop*,ViewDispatcher*
Function,+,view_dispatcher_remove_view,void,"ViewDispatcher*, uint32_t"
Function,+,view_dispatcher_run,void,ViewDispatcher*
Function,+,view_dispatcher_send_custom_event,void,"ViewDispatcher*, uint32_t"
1 entry status name type params
251 Header + lib/toolbox/stream/file_stream.h
252 Header + lib/toolbox/stream/stream.h
253 Header + lib/toolbox/stream/string_stream.h
254 Header + lib/toolbox/strint.h
255 Header + lib/toolbox/tar/tar_archive.h
256 Header + lib/toolbox/value_index.h
257 Header + lib/toolbox/varint.h
977 Function + dolphin_deed_get_weight uint8_t DolphinDeed
978 Function + dolphin_flush void Dolphin*
979 Function + dolphin_get_pubsub FuriPubSub* Dolphin*
980 Function + dolphin_get_settings void Dolphin*, DolphinSettings*
981 Function + dolphin_set_settings void Dolphin*, DolphinSettings*
982 Function + dolphin_reload_state void Dolphin*
983 Function + dolphin_stats DolphinStats Dolphin*
984 Function + dolphin_upgrade_level void Dolphin*
990 Function + elements_bubble void Canvas*, int32_t, int32_t, size_t, size_t
991 Function + elements_bubble_str void Canvas*, int32_t, int32_t, const char*, Align, Align
992 Function + elements_button_center void Canvas*, const char*
993 Function + elements_button_down void Canvas*, const char*
994 Function + elements_button_left void Canvas*, const char*
995 Function + elements_button_right void Canvas*, const char*
996 Function + elements_button_up void Canvas*, const char*
997 Function + elements_frame void Canvas*, int32_t, int32_t, size_t, size_t
998 Function + elements_multiline_text void Canvas*, int32_t, int32_t, const char*
999 Function + elements_multiline_text_aligned void Canvas*, int32_t, int32_t, Align, Align, const char*
1499 Function + furi_hal_nfc_acquire FuriHalNfcError
1500 Function + furi_hal_nfc_event_start FuriHalNfcError
1501 Function + furi_hal_nfc_event_stop FuriHalNfcError
1502 Function + furi_hal_nfc_felica_listener_set_sensf_res_data FuriHalNfcError const uint8_t*, const uint8_t, const uint8_t*, const uint8_t const uint8_t*, const uint8_t, const uint8_t*, const uint8_t, const uint16_t
1503 Function + furi_hal_nfc_field_detect_start FuriHalNfcError
1504 Function + furi_hal_nfc_field_detect_stop FuriHalNfcError
1505 Function + furi_hal_nfc_field_is_present _Bool
2858 Function + nfc_device_set_data void NfcDevice*, NfcProtocol, const NfcDeviceData*
2859 Function + nfc_device_set_loading_callback void NfcDevice*, NfcLoadingCallback, void*
2860 Function + nfc_device_set_uid _Bool NfcDevice*, const uint8_t*, size_t
2861 Function + nfc_felica_listener_set_sensf_res_data NfcError Nfc*, const uint8_t*, const uint8_t, const uint8_t*, const uint8_t Nfc*, const uint8_t*, const uint8_t, const uint8_t*, const uint8_t, const uint16_t
2862 Function + nfc_free void Nfc*
2863 Function + nfc_iso14443a_listener_set_col_res_data NfcError Nfc*, uint8_t*, uint8_t, uint8_t*, uint8_t
2864 Function + nfc_iso14443a_listener_tx_custom_parity NfcError Nfc*, const BitBuffer*
3378 Function - strerror_l char* int, locale_t
3379 Function - strerror_r char* int, char*, size_t
3380 Function + string_stream_alloc Stream*
3381 Function - + strlcat strint_to_int16 size_t StrintParseError char*, const char*, size_t const char*, char**, int16_t*, uint8_t
3382 Function + strint_to_int32 StrintParseError const char*, char**, int32_t*, uint8_t
3383 Function + strint_to_int64 StrintParseError const char*, char**, int64_t*, uint8_t
3384 Function + strint_to_uint16 StrintParseError const char*, char**, uint16_t*, uint8_t
3385 Function + strint_to_uint32 StrintParseError const char*, char**, uint32_t*, uint8_t
3386 Function + strint_to_uint64 StrintParseError const char*, char**, uint64_t*, uint8_t
3387 Function + strlcat size_t char*, const char*, size_t
3388 Function + strlcpy size_t char*, const char*, size_t
3389 Function + strlen size_t const char*
3390 Function - strlwr char* char*
3746 Function + view_dispatcher_attach_to_gui void ViewDispatcher*, Gui*, ViewDispatcherType
3747 Function + view_dispatcher_enable_queue void ViewDispatcher*
3748 Function + view_dispatcher_free void ViewDispatcher*
3749 Function - + view_dispatcher_get_event_loop FuriEventLoop* ViewDispatcher*
3750 Function + view_dispatcher_remove_view void ViewDispatcher*, uint32_t
3751 Function + view_dispatcher_run void ViewDispatcher*
3752 Function + view_dispatcher_send_custom_event void ViewDispatcher*, uint32_t

View File

@@ -4,6 +4,20 @@
// Prevent FDT timer from starting
#define FURI_HAL_NFC_FELICA_LISTENER_FDT_COMP_FC (INT32_MAX)
#define FURI_HAL_FELICA_COMMUNICATION_PERFORMANCE (0x0083U)
#define FURI_HAL_FELICA_RESPONSE_CODE (0x01)
#define FURI_HAL_FELICA_IDM_PMM_LENGTH (8)
#pragma pack(push, 1)
typedef struct {
uint16_t system_code;
uint8_t response_code;
uint8_t Idm[FURI_HAL_FELICA_IDM_PMM_LENGTH];
uint8_t Pmm[FURI_HAL_FELICA_IDM_PMM_LENGTH];
uint16_t communication_performance;
} FuriHalFelicaPtMemory;
#pragma pack(pop)
static FuriHalNfcError furi_hal_nfc_felica_poller_init(FuriHalSpiBusHandle* handle) {
// Enable Felica mode, AM modulation
st25r3916_change_reg_bits(
@@ -161,17 +175,23 @@ FuriHalNfcError furi_hal_nfc_felica_listener_set_sensf_res_data(
const uint8_t* idm,
const uint8_t idm_len,
const uint8_t* pmm,
const uint8_t pmm_len) {
const uint8_t pmm_len,
const uint16_t sys_code) {
furi_check(idm);
furi_check(pmm);
furi_check(idm_len == FURI_HAL_FELICA_IDM_PMM_LENGTH);
furi_check(pmm_len == FURI_HAL_FELICA_IDM_PMM_LENGTH);
FuriHalSpiBusHandle* handle = &furi_hal_spi_bus_handle_nfc;
// Write PT Memory
uint8_t pt_memory[19] = {};
pt_memory[2] = 0x01;
memcpy(pt_memory + 3, idm, idm_len);
memcpy(pt_memory + 3 + idm_len, pmm, pmm_len);
st25r3916_write_ptf_mem(handle, pt_memory, sizeof(pt_memory));
FuriHalFelicaPtMemory pt;
pt.system_code = sys_code;
pt.response_code = FURI_HAL_FELICA_RESPONSE_CODE;
pt.communication_performance = __builtin_bswap16(FURI_HAL_FELICA_COMMUNICATION_PERFORMANCE);
memcpy(pt.Idm, idm, idm_len);
memcpy(pt.Pmm, pmm, pmm_len);
st25r3916_write_ptf_mem(handle, (uint8_t*)&pt, sizeof(FuriHalFelicaPtMemory));
return FuriHalNfcErrorNone;
}

View File

@@ -9,6 +9,7 @@
#include <stdbool.h>
#include <datetime/datetime.h>
#include <core/common_defines.h>
#ifdef __cplusplus
extern "C" {
@@ -44,7 +45,7 @@ typedef enum {
FuriHalRtcRegisterHeader, /**< RTC structure header */
FuriHalRtcRegisterSystem, /**< Various system bits */
FuriHalRtcRegisterVersion, /**< Pointer to Version */
FuriHalRtcRegisterLfsFingerprint, /**< LFS geometry fingerprint */
FuriHalRtcRegisterLfsFingerprint FURI_DEPRECATED, /**< LFS geometry fingerprint */
FuriHalRtcRegisterFaultData, /**< Pointer to last fault message */
FuriHalRtcRegisterPinFails, /**< Failed PINs count */
/* Index of FS directory entry corresponding to FW update to be applied */

View File

@@ -109,7 +109,7 @@ void furi_hal_version_set_name(const char* name) {
"x%s", // Someone tell me why that X is needed - it's for BLE adv name type (6 lines below)
furi_hal_version.name);
} else {
snprintf(furi_hal_version.device_name, FURI_HAL_VERSION_DEVICE_NAME_LENGTH, "xFlipper");
strlcpy(furi_hal_version.device_name, "xFlipper", FURI_HAL_VERSION_DEVICE_NAME_LENGTH);
}
furi_hal_version.device_name[0] = AD_TYPE_COMPLETE_LOCAL_NAME;

View File

@@ -461,13 +461,15 @@ FuriHalNfcError furi_hal_nfc_iso15693_listener_tx_sof(void);
* @param[in] idm_len IDm length in bytes.
* @param[in] pmm pointer to a byte array containing the PMm.
* @param[in] pmm_len PMm length in bytes.
* @param[in] sys_code System code from SYS_C block
* @returns NfcErrorNone on success, any other error code on failure.
*/
FuriHalNfcError furi_hal_nfc_felica_listener_set_sensf_res_data(
const uint8_t* idm,
const uint8_t idm_len,
const uint8_t* pmm,
const uint8_t pmm_len);
const uint8_t pmm_len,
const uint16_t sys_code);
#ifdef __cplusplus
}