forked from flipperdevices/flipperzero-firmware
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/dev' into dev
- Loading branch information
Showing
60 changed files
with
3,009 additions
and
171 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Visual Studio Code workspace for Flipper Zero | ||
|
||
## Setup | ||
|
||
* To start developing with VSCode, run `./fbt vscode_dist` in project root. _That should only be done once_ | ||
* After that, open firmware folder in VSCode: "File" > "Open folder" | ||
|
||
For more details on fbt, see [fbt docs](../documentation/fbt.md). | ||
|
||
|
||
## Workflow | ||
|
||
Commands for building firmware are invoked through Build menu: Ctrl+Shift+B. | ||
|
||
To attach a debugging session, first build and flash firmware, then choose your debug probe in Debug menu (Ctrl+Shift+D). | ||
|
||
Note that you have to detach debugging session before rebuilding and re-flashing firmware. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
#include "../nfc_i.h" | ||
|
||
void nfc_scene_mf_classic_info_widget_callback(GuiButtonType result, InputType type, void* context) { | ||
furi_assert(context); | ||
Nfc* nfc = context; | ||
|
||
if(type == InputTypeShort) { | ||
view_dispatcher_send_custom_event(nfc->view_dispatcher, result); | ||
} | ||
} | ||
|
||
void nfc_scene_mf_classic_info_on_enter(void* context) { | ||
Nfc* nfc = context; | ||
NfcDeviceData* dev_data = &nfc->dev->dev_data; | ||
MfClassicData* mf_data = &dev_data->mf_classic_data; | ||
string_t str_tmp; | ||
string_init(str_tmp); | ||
|
||
// Setup view | ||
Widget* widget = nfc->widget; | ||
|
||
widget_add_string_element( | ||
widget, 0, 0, AlignLeft, AlignTop, FontSecondary, mf_classic_get_type_str(mf_data->type)); | ||
widget_add_string_element( | ||
widget, 0, 11, AlignLeft, AlignTop, FontSecondary, "ISO 14443-3 (Type A)"); | ||
string_printf(str_tmp, "UID:"); | ||
for(size_t i = 0; i < dev_data->nfc_data.uid_len; i++) { | ||
string_cat_printf(str_tmp, " %02X", dev_data->nfc_data.uid[i]); | ||
} | ||
widget_add_string_element( | ||
widget, 0, 22, AlignLeft, AlignTop, FontSecondary, string_get_cstr(str_tmp)); | ||
string_printf( | ||
str_tmp, | ||
"ATQA: %02X %02X SAK: %02X", | ||
dev_data->nfc_data.atqa[0], | ||
dev_data->nfc_data.atqa[1], | ||
dev_data->nfc_data.sak); | ||
widget_add_string_element( | ||
widget, 0, 33, AlignLeft, AlignTop, FontSecondary, string_get_cstr(str_tmp)); | ||
uint8_t sectors_total = mf_classic_get_total_sectors_num(mf_data->type); | ||
uint8_t keys_total = sectors_total * 2; | ||
uint8_t keys_found = 0; | ||
uint8_t sectors_read = 0; | ||
mf_classic_get_read_sectors_and_keys(mf_data, §ors_read, &keys_found); | ||
string_printf(str_tmp, "Keys Found: %d/%d", keys_found, keys_total); | ||
widget_add_string_element( | ||
widget, 0, 44, AlignLeft, AlignTop, FontSecondary, string_get_cstr(str_tmp)); | ||
string_printf(str_tmp, "Sectors Read: %d/%d", sectors_read, sectors_total); | ||
widget_add_string_element( | ||
widget, 0, 55, AlignLeft, AlignTop, FontSecondary, string_get_cstr(str_tmp)); | ||
|
||
string_clear(str_tmp); | ||
view_dispatcher_switch_to_view(nfc->view_dispatcher, NfcViewWidget); | ||
} | ||
|
||
bool nfc_scene_mf_classic_info_on_event(void* context, SceneManagerEvent event) { | ||
Nfc* nfc = context; | ||
bool consumed = false; | ||
|
||
if(event.type == SceneManagerEventTypeBack) { | ||
consumed = scene_manager_previous_scene(nfc->scene_manager); | ||
} | ||
|
||
return consumed; | ||
} | ||
|
||
void nfc_scene_mf_classic_info_on_exit(void* context) { | ||
Nfc* nfc = context; | ||
|
||
// Clear view | ||
widget_reset(nfc->widget); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
44 changes: 44 additions & 0 deletions
44
applications/nfc/scenes/nfc_scene_mf_ultralight_key_input.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
#include "../nfc_i.h" | ||
|
||
void nfc_scene_mf_ultralight_key_input_byte_input_callback(void* context) { | ||
Nfc* nfc = context; | ||
|
||
view_dispatcher_send_custom_event(nfc->view_dispatcher, NfcCustomEventByteInputDone); | ||
} | ||
|
||
void nfc_scene_mf_ultralight_key_input_on_enter(void* context) { | ||
Nfc* nfc = context; | ||
|
||
// Setup view | ||
ByteInput* byte_input = nfc->byte_input; | ||
byte_input_set_header_text(byte_input, "Enter the password in hex"); | ||
byte_input_set_result_callback( | ||
byte_input, | ||
nfc_scene_mf_ultralight_key_input_byte_input_callback, | ||
NULL, | ||
nfc, | ||
nfc->byte_input_store, | ||
4); | ||
view_dispatcher_switch_to_view(nfc->view_dispatcher, NfcViewByteInput); | ||
} | ||
|
||
bool nfc_scene_mf_ultralight_key_input_on_event(void* context, SceneManagerEvent event) { | ||
Nfc* nfc = context; | ||
bool consumed = false; | ||
|
||
if(event.type == SceneManagerEventTypeCustom) { | ||
if(event.event == NfcCustomEventByteInputDone) { | ||
scene_manager_next_scene(nfc->scene_manager, NfcSceneMfUltralightUnlockWarn); | ||
consumed = true; | ||
} | ||
} | ||
return consumed; | ||
} | ||
|
||
void nfc_scene_mf_ultralight_key_input_on_exit(void* context) { | ||
Nfc* nfc = context; | ||
|
||
// Clear view | ||
byte_input_set_result_callback(nfc->byte_input, NULL, NULL, NULL, NULL, 0); | ||
byte_input_set_header_text(nfc->byte_input, ""); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.