mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-12 20:18:35 -07:00
NFC: add specific FeliCa type read option
This commit is contained in:
@@ -29,7 +29,8 @@ void nfc_scene_felica_read_success_on_enter(void* context) {
|
||||
|
||||
FelicaSystem* current_system = felica_data->systems;
|
||||
while(current_system) {
|
||||
furi_string_cat_printf(temp_str, "\nSystem %04X (#%d):", current_system->code, current_system->number);
|
||||
furi_string_cat_printf(
|
||||
temp_str, "\nSystem %04X (#%d):", current_system->code, current_system->number);
|
||||
furi_string_cat_printf(temp_str, "\nIDm:\n ");
|
||||
for(size_t i = 0; i < 8; i++) {
|
||||
furi_string_cat_printf(temp_str, "%02X", current_system->idm[i]);
|
||||
|
||||
@@ -51,7 +51,8 @@ void nfc_scene_nfc_data_info_on_enter(void* context) {
|
||||
for(size_t i = 0; i < nfc_data->uid_len; i++) {
|
||||
furi_string_cat_printf(temp_str, " %02X", nfc_data->uid[i]);
|
||||
}
|
||||
furi_string_cat_printf(temp_str, "\nATQA: %02X %02X ", nfc_data->a_data.atqa[1], nfc_data->a_data.atqa[0]);
|
||||
furi_string_cat_printf(
|
||||
temp_str, "\nATQA: %02X %02X ", nfc_data->a_data.atqa[1], nfc_data->a_data.atqa[0]);
|
||||
furi_string_cat_printf(temp_str, " SAK: %02X", nfc_data->a_data.sak);
|
||||
|
||||
// Set application specific data
|
||||
|
||||
@@ -30,7 +30,8 @@ void nfc_scene_nfca_read_success_on_enter(void* context) {
|
||||
for(size_t i = 0; i < data->uid_len; i++) {
|
||||
furi_string_cat_printf(temp_str, " %02X", data->uid[i]);
|
||||
}
|
||||
furi_string_cat_printf(temp_str, "\nATQA: %02X %02X ", data->a_data.atqa[1], data->a_data.atqa[0]);
|
||||
furi_string_cat_printf(
|
||||
temp_str, "\nATQA: %02X %02X ", data->a_data.atqa[1], data->a_data.atqa[0]);
|
||||
furi_string_cat_printf(temp_str, " SAK: %02X", data->a_data.sak);
|
||||
|
||||
widget_add_text_scroll_element(widget, 0, 0, 128, 52, furi_string_get_cstr(temp_str));
|
||||
|
||||
@@ -7,6 +7,7 @@ enum SubmenuIndex {
|
||||
SubmenuIndexReadMfUltralight,
|
||||
SubmenuIndexReadEMV,
|
||||
SubmenuIndexReadNFCA,
|
||||
SubmenuIndexReadFelica,
|
||||
};
|
||||
|
||||
void nfc_scene_read_card_type_submenu_callback(void* context, uint32_t index) {
|
||||
@@ -49,6 +50,12 @@ void nfc_scene_read_card_type_on_enter(void* context) {
|
||||
SubmenuIndexReadNFCA,
|
||||
nfc_scene_read_card_type_submenu_callback,
|
||||
nfc);
|
||||
submenu_add_item(
|
||||
submenu,
|
||||
"Read FeliCa",
|
||||
SubmenuIndexReadFelica,
|
||||
nfc_scene_read_card_type_submenu_callback,
|
||||
nfc);
|
||||
uint32_t state = scene_manager_get_scene_state(nfc->scene_manager, NfcSceneReadCardType);
|
||||
submenu_set_selected_item(submenu, state);
|
||||
|
||||
@@ -85,6 +92,11 @@ bool nfc_scene_read_card_type_on_event(void* context, SceneManagerEvent event) {
|
||||
scene_manager_next_scene(nfc->scene_manager, NfcSceneRead);
|
||||
consumed = true;
|
||||
}
|
||||
if(event.event == SubmenuIndexReadFelica) {
|
||||
nfc->dev->dev_data.read_mode = NfcReadModeFelica;
|
||||
scene_manager_next_scene(nfc->scene_manager, NfcSceneRead);
|
||||
consumed = true;
|
||||
}
|
||||
scene_manager_set_scene_state(nfc->scene_manager, NfcSceneReadCardType, event.event);
|
||||
}
|
||||
return consumed;
|
||||
|
||||
Reference in New Issue
Block a user