Skip to content
Merged
Show file tree
Hide file tree
Changes from 105 commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
31eb367
Makefile: unit tests pack
DrZlo13 May 16, 2022
e22c83b
RFID: pulse joiner and its unit test
DrZlo13 May 16, 2022
df94ea4
Move pulse protocol helpers to appropriate place
DrZlo13 May 16, 2022
1bdb5cc
Drop pulse_joiner tests
DrZlo13 May 16, 2022
3fa8a82
Generic protocol, protocols dictionary, unit test
DrZlo13 May 17, 2022
2fc2910
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 May 17, 2022
c9feefe
Protocol dict unit test
DrZlo13 May 17, 2022
66e6f84
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 May 19, 2022
13c4aaf
iButton: protocols dictionary
DrZlo13 May 20, 2022
803a730
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 May 20, 2022
c4fab20
Lib: varint
DrZlo13 Jun 7, 2022
4ada7c5
Lib: profiler
DrZlo13 Jun 7, 2022
a2ecba7
Unit test: varint
DrZlo13 Jun 7, 2022
d70b666
rfid: worker mockup
DrZlo13 Jun 7, 2022
4b99920
LFRFID: em4100 unit test
DrZlo13 Jun 28, 2022
dc0e92c
Storage: file_exist function
DrZlo13 Jun 30, 2022
903f271
rfid: fsk osc
DrZlo13 Jul 11, 2022
2aaf4dc
rfid: generic fsk demodulator
DrZlo13 Jul 11, 2022
9a526b7
rfid: protocol em4100
DrZlo13 Jul 11, 2022
0a74d18
rfid: protocol h10301
DrZlo13 Jul 11, 2022
0d646d3
rfid: protocol io prox xsf
DrZlo13 Jul 11, 2022
e79ee75
Unit test: rfid protocols
DrZlo13 Jul 11, 2022
bbbb6a9
rfid: new hal
DrZlo13 Jul 11, 2022
b8f8be6
rfid: raw worker
DrZlo13 Jul 11, 2022
73c75bc
Unit test: fix error output
DrZlo13 Jul 11, 2022
6e7b3a4
rfid: worker
DrZlo13 Jul 11, 2022
e6902db
rfid: plain c cli
DrZlo13 Jul 11, 2022
de27785
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 Jul 11, 2022
c94d768
fw: migrate to scons
DrZlo13 Jul 11, 2022
183920f
lfrfid: full io prox support
DrZlo13 Jul 11, 2022
8768273
unit test: io prox protocol
DrZlo13 Jul 11, 2022
9257e64
SubGHZ: move bit defines to source
DrZlo13 Jul 14, 2022
1451e6a
FSK oscillator: level duration compability
DrZlo13 Jul 14, 2022
16f8a7d
libs: bit manipulation library
DrZlo13 Jul 14, 2022
ec0c96e
lfrfid: ioprox protocol, use bit library and new level duration metho…
DrZlo13 Jul 14, 2022
4ea8c88
bit lib: unit tests
DrZlo13 Jul 18, 2022
684f67b
Bit lib: parity tests, remove every nth bit, copy bits
DrZlo13 Jul 19, 2022
0e24983
Lfrfid: awid protocol
DrZlo13 Jul 19, 2022
02c79b8
bit lib: uint16 and uint32 getters, unit tests
DrZlo13 Jul 20, 2022
7257e0d
lfrfid: FDX-B read, draft version
DrZlo13 Jul 21, 2022
f0f12d6
Minunit: better memeq assert
DrZlo13 Aug 3, 2022
bd48af0
bit lib: reverse, print, print regions
DrZlo13 Aug 8, 2022
0dedddf
Protocol dict: get protocol features, get protocol validate count
DrZlo13 Aug 8, 2022
c766d41
lfrfid worker: improved read
DrZlo13 Aug 8, 2022
64faa89
lfrfid raw worker: psk support
DrZlo13 Aug 8, 2022
05ad9f0
Cli: rfid plain C cli
DrZlo13 Aug 8, 2022
7390102
protocol AWID: render
DrZlo13 Aug 8, 2022
8383adb
protocol em4100: render
DrZlo13 Aug 8, 2022
d6e5022
protocol h10301: render
DrZlo13 Aug 8, 2022
7cf19bc
protocol indala26: support every indala 26 scramble
DrZlo13 Aug 8, 2022
c298625
Protocol IO Prox: render
DrZlo13 Aug 8, 2022
e924da5
Protocol FDX-B: advanced read
DrZlo13 Aug 8, 2022
ef303b3
lfrfid: remove unused test fuction
DrZlo13 Aug 8, 2022
046dfec
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 Aug 8, 2022
0812d83
lfrfid: fix os primitives
DrZlo13 Aug 8, 2022
4ea5e25
bit lib: crc16 and unit tests
DrZlo13 Aug 9, 2022
b7b7089
FDX-B: save data
DrZlo13 Aug 9, 2022
7ae359f
lfrfid worker: increase stream size. Alloc raw worker only when needed.
DrZlo13 Aug 10, 2022
12b54e0
lfrfid: indala26 emulation
DrZlo13 Aug 10, 2022
54567f4
lfrfid: prepare to write
DrZlo13 Aug 10, 2022
a87d3b9
lfrfid: fdx-b emulation
DrZlo13 Aug 10, 2022
4187495
lfrfid: awid, ioprox write
DrZlo13 Aug 10, 2022
ce20763
lfrfid: write t55xx w\o validation
DrZlo13 Aug 10, 2022
885ce00
lfrfid: better t55xx block0 handling
DrZlo13 Aug 10, 2022
5972194
lfrfid: use new t5577 functions in worker
DrZlo13 Aug 10, 2022
1a2bee2
lfrfid: improve protocol description
DrZlo13 Aug 10, 2022
f245d6a
lfrfid: write and verify
DrZlo13 Aug 11, 2022
c86568e
lfrfid: delete cpp cli
DrZlo13 Aug 11, 2022
8069742
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 Aug 12, 2022
8df84e8
lfrfid: improve worker usage
DrZlo13 Aug 12, 2022
c1f56d2
lfrfid-app: step to new worker
DrZlo13 Aug 14, 2022
46fe5cb
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 Aug 14, 2022
e1c8b49
lfrfid: old indala (I40134) load fallback
DrZlo13 Aug 14, 2022
c874ecb
lfrfid: indala26, recover wrong synced data
DrZlo13 Aug 14, 2022
e44ff56
lfrfid: remove old worker
DrZlo13 Aug 14, 2022
034595e
lfrfid app: dummy read screen
DrZlo13 Aug 14, 2022
8518ac7
lfrfid app: less dummy read screen
DrZlo13 Aug 14, 2022
8ce692d
lfrfid: generic 96-bit HID protocol (covers up to HID 37-bit)
DrZlo13 Aug 15, 2022
0288f58
rename
DrZlo13 Aug 15, 2022
9f3e043
lfrfid: improve indala26 read
DrZlo13 Aug 15, 2022
74469b1
lfrfid: generic 192-bit HID protocol (covers all HID extended)
DrZlo13 Aug 15, 2022
b6caedf
lfrfid: TODO about HID render
DrZlo13 Aug 15, 2022
cc82a14
lfrfid: new protocol FDX-A
DrZlo13 Aug 15, 2022
fdb5ea1
lfrfid-app: correct worker stop on exit
DrZlo13 Aug 15, 2022
46e6720
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 Aug 15, 2022
d4155ec
misc fixes
DrZlo13 Aug 16, 2022
ead50a8
lfrfid: FDX-A and HID distinguishability has been fixed.
DrZlo13 Aug 16, 2022
a3fef2f
lfrfid: decode HID size header and render it (#1612)
ide Aug 17, 2022
e5ce388
lfrfid: rename HID96 and HID192 to HIDProx and HIDExt
DrZlo13 Aug 17, 2022
15a1248
lfrfid: extra actions scene
DrZlo13 Aug 17, 2022
8b45ab1
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 Aug 18, 2022
526abfe
lfrfid: decode generic HID Proximity size lazily (#1618)
ide Aug 18, 2022
6aac9d6
lib: stream of data buffers concept
DrZlo13 Aug 18, 2022
adda993
lfrfid: raw file helper
DrZlo13 Aug 18, 2022
4507329
lfrfid: changed raw worker api
DrZlo13 Aug 18, 2022
f98e697
lfrfid: packed varint pair
DrZlo13 Aug 18, 2022
0f7840b
lfrfid: read stream speedup
DrZlo13 Aug 18, 2022
a48387c
lfrfid app: show read mode
DrZlo13 Aug 18, 2022
64dccc9
Documentation
DrZlo13 Aug 18, 2022
b609f4d
lfrfid app: raw read gui
DrZlo13 Aug 19, 2022
3684bab
lfrfid app: storage check for raw read
DrZlo13 Aug 19, 2022
8826c68
memleak fix
DrZlo13 Aug 19, 2022
83301bf
lint
DrZlo13 Aug 19, 2022
37bcf55
review fixes
DrZlo13 Aug 19, 2022
09fffc4
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 Aug 19, 2022
491c216
lfrfid app: read blink color
DrZlo13 Aug 19, 2022
7bac13f
lfrfid app: reset key name after read
DrZlo13 Aug 19, 2022
86fb7b0
review fixes
DrZlo13 Aug 19, 2022
cfbd1a9
lfrfid app: fix copypasted text
DrZlo13 Aug 19, 2022
94950fc
review fixes
DrZlo13 Aug 19, 2022
e4e89ed
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 Aug 19, 2022
29d03e1
lfrfid: disable debug gpio
DrZlo13 Aug 22, 2022
d8b8f74
lfrfid: card detection events
DrZlo13 Aug 22, 2022
38af50e
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 Aug 22, 2022
4423ae5
lfrfid: change validation color from magenta to green
DrZlo13 Aug 22, 2022
878b3ae
Merge branch 'dev' into zlo/lf-rfid-overhaul
DrZlo13 Aug 22, 2022
fdba70c
Update core_defines.h
DrZlo13 Aug 22, 2022
e98dccf
lfrfid: prefix fdx-b id by zeroes
DrZlo13 Aug 22, 2022
32775ea
lfrfid: parse up to 43-bit HID Proximity keys (#1640)
ide Aug 23, 2022
4d63fb8
Merge branch 'dev' into zlo/lf-rfid-overhaul
skotopes Aug 23, 2022
6a8408d
Fbt: downgrade toolchain and fix PS1
skotopes Aug 23, 2022
6d9988c
lfrfid: fix unit tests
DrZlo13 Aug 23, 2022
f570462
lfrfid: fix unit tests
DrZlo13 Aug 23, 2022
a110aed
Merge branch 'dev' into zlo/lf-rfid-overhaul
skotopes Aug 23, 2022
6ad0c7c
lfrfid app: remove printf
DrZlo13 Aug 23, 2022
c7df50c
lfrfid: indala26, use bit 55 as data
DrZlo13 Aug 23, 2022
b281d89
lfrfid: indala26, better brief format
DrZlo13 Aug 23, 2022
4d4710a
lfrfid: indala26, loading fallback
DrZlo13 Aug 23, 2022
dc382ea
lfrfid: read timing tuning
DrZlo13 Aug 23, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions SConstruct
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,8 @@ copro_dist = distenv.CoproBuilder(
distenv.Alias("copro_dist", copro_dist)

firmware_flash = distenv.AddOpenOCDFlashTarget(firmware_env)
if distenv["FORCE"]:
distenv.AlwaysBuild(firmware_flash)
distenv.Alias("flash", firmware_flash)

firmware_jflash = distenv.AddJFlashTarget(firmware_env)
Expand Down
18 changes: 4 additions & 14 deletions applications/archive/helpers/archive_apps.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,13 @@ bool archive_app_is_available(void* context, const char* path) {

if(app == ArchiveAppTypeU2f) {
bool file_exists = false;
Storage* fs_api = furi_record_open(RECORD_STORAGE);
File* file = storage_file_alloc(fs_api);

file_exists =
storage_file_open(file, ANY_PATH("u2f/key.u2f"), FSAM_READ, FSOM_OPEN_EXISTING);
if(file_exists) {
storage_file_close(file);
file_exists =
storage_file_open(file, ANY_PATH("u2f/cnt.u2f"), FSAM_READ, FSOM_OPEN_EXISTING);
if(file_exists) {
storage_file_close(file);
}
Storage* storage = furi_record_open(RECORD_STORAGE);

if(storage_file_exists(storage, ANY_PATH("u2f/key.u2f"))) {
file_exists = storage_file_exists(storage, ANY_PATH("u2f/cnt.u2f"));
}

storage_file_free(file);
furi_record_close(RECORD_STORAGE);

return file_exists;
} else {
return false;
Expand Down
33 changes: 10 additions & 23 deletions applications/archive/helpers/archive_favorites.c
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,8 @@ uint16_t archive_favorites_count(void* context) {
static bool archive_favourites_rescan() {
string_t buffer;
string_init(buffer);
Storage* fs_api = furi_record_open(RECORD_STORAGE);
File* file = storage_file_alloc(fs_api);
File* fav_item_file = storage_file_alloc(fs_api);
Storage* storage = furi_record_open(RECORD_STORAGE);
File* file = storage_file_alloc(storage);

bool result = storage_file_open(file, ARCHIVE_FAV_PATH, FSAM_READ, FSOM_OPEN_EXISTING);
if(result) {
Expand All @@ -101,13 +100,8 @@ static bool archive_favourites_rescan() {
archive_file_append(ARCHIVE_FAV_TEMP_PATH, "%s\n", string_get_cstr(buffer));
}
} else {
bool file_exists = storage_file_open(
fav_item_file, string_get_cstr(buffer), FSAM_READ, FSOM_OPEN_EXISTING);
if(file_exists) {
storage_file_close(fav_item_file);
if(storage_file_exists(storage, string_get_cstr(buffer))) {
archive_file_append(ARCHIVE_FAV_TEMP_PATH, "%s\n", string_get_cstr(buffer));
} else {
storage_file_close(fav_item_file);
}
}
}
Expand All @@ -116,12 +110,11 @@ static bool archive_favourites_rescan() {
string_clear(buffer);

storage_file_close(file);
storage_common_remove(fs_api, ARCHIVE_FAV_PATH);
storage_common_rename(fs_api, ARCHIVE_FAV_TEMP_PATH, ARCHIVE_FAV_PATH);
storage_common_remove(fs_api, ARCHIVE_FAV_TEMP_PATH);
storage_common_remove(storage, ARCHIVE_FAV_PATH);
storage_common_rename(storage, ARCHIVE_FAV_TEMP_PATH, ARCHIVE_FAV_PATH);
storage_common_remove(storage, ARCHIVE_FAV_TEMP_PATH);

storage_file_free(file);
storage_file_free(fav_item_file);
furi_record_close(RECORD_STORAGE);

return result;
Expand All @@ -131,9 +124,8 @@ bool archive_favorites_read(void* context) {
furi_assert(context);

ArchiveBrowserView* browser = context;
Storage* fs_api = furi_record_open(RECORD_STORAGE);
File* file = storage_file_alloc(fs_api);
File* fav_item_file = storage_file_alloc(fs_api);
Storage* storage = furi_record_open(RECORD_STORAGE);
File* file = storage_file_alloc(storage);

string_t buffer;
FileInfo file_info;
Expand Down Expand Up @@ -163,16 +155,12 @@ bool archive_favorites_read(void* context) {
need_refresh = true;
}
} else {
bool file_exists = storage_file_open(
fav_item_file, string_get_cstr(buffer), FSAM_READ, FSOM_OPEN_EXISTING);
if(file_exists) {
storage_common_stat(fs_api, string_get_cstr(buffer), &file_info);
storage_file_close(fav_item_file);
if(storage_file_exists(storage, string_get_cstr(buffer))) {
storage_common_stat(storage, string_get_cstr(buffer), &file_info);
archive_add_file_item(
browser, (file_info.flags & FSF_DIRECTORY), string_get_cstr(buffer));
file_count++;
} else {
storage_file_close(fav_item_file);
need_refresh = true;
}
}
Expand All @@ -183,7 +171,6 @@ bool archive_favorites_read(void* context) {
storage_file_close(file);
string_clear(buffer);
storage_file_free(file);
storage_file_free(fav_item_file);
furi_record_close(RECORD_STORAGE);

archive_set_item_count(browser, file_count);
Expand Down
3 changes: 1 addition & 2 deletions applications/desktop/animations/animation_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -220,8 +220,7 @@ static bool animation_manager_check_blocking(AnimationManager* animation_manager
furi_assert(blocking_animation);
animation_manager->sd_shown_sd_ok = true;
} else if(!animation_manager->sd_shown_no_db) {
bool db_exists = storage_common_stat(storage, EXT_PATH("Manifest"), NULL) == FSE_OK;
if(!db_exists) {
if(!storage_file_exists(storage, EXT_PATH("Manifest"))) {
blocking_animation = animation_storage_find_animation(NO_DB_ANIMATION_NAME);
furi_assert(blocking_animation);
animation_manager->sd_shown_no_db = true;
Expand Down
50 changes: 0 additions & 50 deletions applications/lfrfid/helpers/decoder_analyzer.cpp

This file was deleted.

21 changes: 0 additions & 21 deletions applications/lfrfid/helpers/decoder_analyzer.h

This file was deleted.

72 changes: 0 additions & 72 deletions applications/lfrfid/helpers/decoder_emmarin.cpp

This file was deleted.

21 changes: 0 additions & 21 deletions applications/lfrfid/helpers/decoder_emmarin.h

This file was deleted.

15 changes: 0 additions & 15 deletions applications/lfrfid/helpers/decoder_gpio_out.cpp

This file was deleted.

14 changes: 0 additions & 14 deletions applications/lfrfid/helpers/decoder_gpio_out.h

This file was deleted.

Loading