Willy-JL
fe22543f19
Merge branch 'gsurkov/3764_expansion_control' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev
2024-02-09 16:16:13 +00:00
Nick Mooney
f6eb79e1e5
NFC: Add support for Gallagher access control (MIFARE Classic only) ( #3306 )
...
* Merge remote-tracking branch 'origin/dev' into dev
* Add basic API interface (inspired by advanced plugins example), modify NfcSupportedCardsLoadContext to contain a pointer to a resolver
* WIP: API resolver implemented / passed to plugin via context, still having resolution issues
* Attempt to add constants to the nfc_app_api_table list
* WIP: We're defining the constants directly in nfc_app_api.c to see if this fixes our woes, which it does not.
* WIP: Remove furi_assert(false) (lmao)
* Working implementation of Gallagher decoding via exposed plugin API
* lib: api_hashtable: change log level for symbol not found message
* nfc app: alloc composite resolver along with supported cards
* nfc app: rework nfc api structure
* nfc app: fix memory leakage in supported cards
Co-authored-by: gornekich <n.gorbadey@gmail.com >
2024-02-09 15:00:17 +07:00
Willy-JL
23ad52944b
Smarter MissingImports error message --nobuild
2024-01-13 22:47:22 +00:00
Willy-JL
05ae0dbf14
Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into dev
2023-12-02 06:09:01 +00:00
hedger
890c9e87ce
[FL-3690] Libraries cleanup; u2f crypto rework to use mbedtls ( #3234 )
...
* examples: plugins: utilize fal_embedded
* libs: removed fnv1a_hash
* furi: added FURI_PACKED; apps, libs: changed to use FURI_PACKED
* lib: mbedtls: using custom config
* lib: toolbox: removed md5, switched to mbedtls
* targets: f18: link fix
* lib: added mbedtls_cfg.h
* apps: nfc: explicit dependency on libmbedtls
* u2f: reworking to mbedtls
* u2f: replaced sha256 & hmac with mbedtls
* u2f: functional rework using mbedtls
* libs: dropped micro-ecc
* u2f: dropped old implementation
* toolbox: removed sha256 impl
* mcheck() for mbedtls
* libs: removed libmisc; split into smaller libs
* apps: debug: fixed display_test
* apps: include cleanups
* fbt: fixed VERSIONCOMSTR
* furi: added FURI_CHECK_RETURN
* lib: removed qrcode
* cleanup
* fbt: lint_py+format_py: fixed excessive command length
* api: Removed bzero from f7
* api: Removed bzero from f18
* Bump API Symbols
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com >
2023-12-01 18:16:48 +09:00
Willy-JL
a4d01d5d88
Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev
2023-11-16 02:19:28 +00:00
Sergey Gavrilov
4b3e8aba29
[FL-3664] 64k does not enough ( #3216 )
...
* Unit tests: add "exists" to furi_record tests
* Unit tests: mu_warn, storage 64k test
* Storage: read/write over 64k
* Unit tests: moar tests for storage r/w for >64k cases
* Apps, libs: replace uint16_t with size_t on storage r/w operations
* Unit tests: better data pattern, subghz: warning if transmission is prohibited
Co-authored-by: あく <alleteam@gmail.com >
2023-11-16 01:39:27 +09:00
Willy-JL
418f44fef1
Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev
2023-11-12 02:56:30 +00:00
hedger
bbe68d6ffc
[FL-3629] fbt: SD card resource handling speedup ( #3178 )
...
* fbt: reduced size of resources dependency graphs, resulting in faster build task evaluation
* lib: flipper_app: fixed error message & error handling for plugins
2023-10-31 15:27:58 +04:00
Willy-JL
c5d44fed34
Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev
2023-10-24 02:37:11 +01:00
Sergey Gavrilov
1b6295b2bf
[FL-3632] FastFAP: human readable error log ( #3156 )
2023-10-23 18:49:16 +09:00
Willy-JL
f8fc8cbdf8
Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev --nobuild
2023-10-15 06:25:14 +01:00
あく
f45a5dff43
Fix various crashes if debug libraries used ( #3144 )
...
* FuriHal: enable HSI in stop mode only if we use STOP0, proper SMPS selected clock assert
* Furi: fix double crash caused by bkpt use outside of debug session
* Libs: update ERC and MGG contrast
* Fix various crashes with LIB_DEBUG=1
* BadUsb: size_t where it should be and proper printf types
* Various fixes and make PVS happy
* FuriHal: proper CCID status and make PVS happy
* boot: update mode: graceful handling of corrupted stage file
---------
Co-authored-by: hedger <hedger@nanode.su >
2023-10-12 20:34:30 +04:00
Willy-JL
4b2cc53280
Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev --nobuild
2023-09-16 19:28:54 +02:00
あく
1c0276a0be
Various Fixes and Improvements ( #3059 )
...
* FuriHal: lower MGG display contrast by 4 points
* FuriHal: unify external gpio resources initialization
* Infrared: parse raw in universal TV file, cleanup it with new ifrared script. Other minor changes.
* Gui: fix elements_multiline_text_aligned eating symbols
* Lib: human readable errors in flipper application package
* Special request from marketing team
2023-09-11 16:23:00 +10:00
Willy-JL
cd301b4045
Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev --nobuild
2023-09-04 23:36:06 +02:00
Sergey Gavrilov
0b806c2360
Storage: force mount ( #3033 )
...
* Storage: count opened files
* Storage: sd mount
* Storage: prompt to mount SD card if not mounted
* F18: update API
* F18: update API version
* Fix logger naming scheme
* Storage: storage_files_count -> storage_open_files_count
Co-authored-by: あく <alleteam@gmail.com >
2023-09-04 14:10:07 +09:00
Willy-JL
17a6822a09
Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev
2023-08-27 22:14:33 +02:00
hedger
ace0901125
[FL-3486,FL-3392] fbt: various improvements and bug fixes ( #2982 )
...
* fbt: extapps: compact debug format for .faps
* fbt: sdk: fixed symbol cache regen logic for removed-only symbols
* lib: elf_file: early .fap file handle release
* fbt: extapps: added FAP_VERSION define for application environments
* github: added appsymbols artifact
* api: updates for f18
* github: fixed early fap_dist
* fbt: added flash_dap
* ufbt: added flash_dap
* fbt: reworked flash target; scripts: program.py->fwflash.py and changes
* vscode: updated configuration
* scripts: fwflash.py: ugly fixes for ufbt
* scripts: fwflash.py: cleanup
* fbt: flash: always use .elf file
* scripts: fwflash: fixed elf file path
Co-authored-by: あく <alleteam@gmail.com >
2023-08-23 03:33:10 +09:00
Astra
e353433cd8
[FL-3488] Assign tickets to all TODO items ( #2988 )
...
Co-authored-by: あく <alleteam@gmail.com >
2023-08-23 02:56:27 +09:00
Willy-JL
367389367a
Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev
2023-08-10 02:18:22 +02:00
Sergey Gavrilov
00cdc3d1cb
[FL-3461] RPC: md5 in storage list ( #2929 )
...
* Protobuf: update
* Toolbox: md5 for file. Unit-Tests: test md5_calc.
* Storage RPC, CLI, unit tests: use new md5_calc
* Protobuf: update
* RPC, StorageList: append md5 info to file
* fbt: attempt to fix shallow submodule checkouts
* pvs: make happy
* Protobuf: update to latest release
Co-authored-by: hedger <hedger@nanode.su >
Co-authored-by: hedger <hedger@users.noreply.github.com >
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com >
2023-08-09 06:34:54 +09:00
hedger
17bcfee224
[FL-3441] faploader: always create app dir, even if it doesn't have subdirs ( #2901 )
...
Co-authored-by: あく <alleteam@gmail.com >
2023-08-02 00:43:14 +09:00
Willy-JL
3e4f1fbc9a
Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev
2023-07-21 21:06:12 +01:00
hedger
9fa3375b0a
faploader: always create app dir, even if it doesn't have subdirs
2023-07-20 00:09:06 +03:00
Willy-JL
4a50466f8c
Revert "Free file handle after elf load"
...
This reverts commit d325a1a43e .
2023-07-10 19:56:44 +02:00
Sergey Gavrilov
645a7c5989
[FL-3386] Fast FAP Loader ( #2790 )
...
* FBT: build and add FastFAP(tm) sections
* Elf file: fast loading fap files. Really fast, like x15 times faster.
* fastfap.py: cleanup unused imports
* Toolchain: 23 version
* Elf File: remove log messages
* Scripts: fix file permissions
* FBT: explicit interpreter for fastfap invocation
Co-authored-by: あく <alleteam@gmail.com >
2023-06-28 17:19:10 +09:00
Willy-JL
8969aa10a9
Add back the improved fap meta loader
2023-06-25 21:45:49 +01:00
Willy-JL
1a0f51bd25
Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev
2023-06-25 20:57:33 +01:00
ClaraCrazy
b709ade194
Toolchain bump + readme update
2023-06-24 05:35:08 +02:00
Sergey Gavrilov
761a14e6e2
[FL-2837][FL-3270] Loader refaptoring: second encounter ( #2779 )
...
* Core: rename internal FlipperApplication to FlipperInternalApplication
* FAP Loader: move load_name_and_icon to flipper_application library
* Loader menu: rework api
* View holder: move to gui service
* Loader: simple "loading" worker
* Loader: applications dialog
* Loader: fapping
* Update f18 api
* Apps: remove fap_loader
* Libs, flipper application: store args, rename thread allocation
* Loader: error handling
* Apps: use loader error handling
* Loader: documentation
* FBT: accomodate loader
* Loader: do not raise gui error if loader is locked
* Archive: accomodate loader
* Loader: fix loading message
* Flipper: drop some old dolphin legacy
* Loader: generalize error construction
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com >
2023-06-23 21:01:40 +09:00
Willy-JL
4ff29e8910
Revert "Preload extmainapps"
...
This reverts commit fc56e39075 .
2023-06-23 00:46:34 +01:00
Willy-JL
c5b10b56c7
Merge branch 'zlo/fast-fap-tm-loader' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev
2023-06-23 00:31:16 +01:00
SG
1bc9c03f35
Elf file: fast loading fap files. Really fast, like x15 times faster.
2023-06-21 17:17:35 +03:00
Willy-JL
4ecab40fde
Max file name length is actually 253 + null term
...
More than that and fatfs will truncate like name~1
Also dir_read already accounts for null term in buf size, dont malloc +1
2023-06-13 03:10:10 +01:00
Willy-JL
fc56e39075
Preload extmainapps
2023-05-28 00:27:58 +01:00
Willy-JL
d325a1a43e
Free file handle after elf load
2023-05-28 00:25:42 +01:00
hedger
60ac2e9881
[FL-3161] Improved debugging experience for external apps ( #2507 )
...
* debug: automated support for multiple debug symbol files
* faploader: extra checks for app list state
* debug: trigger BP before fap's EP if under debugger
* faploader, debug: better naming
* docs: info on load breakpoint
* faploader: header cleanup
* faploader: naming fixes
* debug: less verbose; setting debug flag more often
* typo fix
2023-03-21 00:03:55 +09:00
hedger
53435579b3
[FL-3097] fbt, faploader: minimal app module implementation ( #2420 )
...
* fbt, faploader: minimal app module implementation
* faploader, libs: moved API hashtable core to flipper_application
* example: compound api
* lib: flipper_application: naming fixes, doxygen comments
* fbt: changed `requires` manifest field behavior for app extensions
* examples: refactored plugin apps; faploader: changed new API naming; fbt: changed PLUGIN app type meaning
* loader: dropped support for debug apps & plugin menus
* moved applications/plugins -> applications/external
* Restored x bit on chiplist_convert.py
* git: fixed free-dap submodule path
* pvs: updated submodule paths
* examples: example_advanced_plugins.c: removed potential memory leak on errors
* examples: example_plugins: refined requires
* fbt: not deploying app modules for debug/sample apps; extra validation for .PLUGIN-type apps
* apps: removed cdefines for external apps
* fbt: moved ext app path definition
* fbt: reworked fap_dist handling; f18: synced api_symbols.csv
* fbt: removed resources_paths for extapps
* scripts: reworked storage
* scripts: reworked runfap.py & selfupdate.py to use new api
* wip: fal runner
* fbt: moved file packaging into separate module
* scripts: storage: fixes
* scripts: storage: minor fixes for new api
* fbt: changed internal artifact storage details for external apps
* scripts: storage: additional fixes and better error reporting; examples: using APP_DATA_PATH()
* fbt, scripts: reworked launch_app to deploy plugins; moved old runfap.py to distfap.py
* fbt: extra check for plugins descriptors
* fbt: additional checks in emitter
* fbt: better info message on SDK rebuild
* scripts: removed requirements.txt
* loader: removed remnants of plugins & debug menus
* post-review fixes
2023-03-14 23:29:28 +09:00
Sergey Gavrilov
4fd043398a
Embed assets in elf file ( #2466 )
...
* FBT: file_assets generator
* Elf file: process manifest section externally
* FBT, file_assets generator: add assets signature
* Storage: assets path alias
* Flipper application: assets unpacker
* Apps, Storage: use '/data' alias for apps data
* Storage: copy file to file
* Assets: log flag, fixes
* Update f18 api
* Assets: asserts
* Assets: fix signature_data check
* App assets: example
* Example assets: fix folder structure in readme
* Assets: fix error handling
* Assets builder: use ansii instead of utf-8, use .fapassets section instead of .fapfiles, add assets path to signature
* Elf file: comment strange places
* Storage: totaly optimized storage_file_copy_to_file
2023-03-10 01:01:53 +10:00
hedger
224d0aefe4
[FL-2733] multitarget support for fbt ( #2209 )
...
* First part of multitarget porting
* Delete firmware/targets/f7/Inc directory
* Delete firmware/targets/f7/Src directory
* gpio: cli fixes; about: using version from HAL
* sdk: path fixes
* gui: include fixes
* applications: more include fixes
* gpio: ported to new apis
* hal: introduced furi_hal_target_hw.h; libs: added one_wire
* hal: f18 target
* github: also build f18 by default
* typo fix
* fbt: removed extra checks on app list
* api: explicitly bundling select mlib headers with sdk
* hal: f18: changed INPUT_DEBOUNCE_TICKS to match f7
* cleaned up commented out code
* docs: added info on hw targets
* docs: targets: formatting fixes
* f18: fixed link error
* f18: fixed API version to match f7
* docs: hardware: minor wording fixes
* faploader: added fw target check
* docs: typo fixes
* github: not building komi target by default
* fbt: support for `targets` field for built-in apps
* github: reworked build flow to exclude app_set; fbt: removed komi-specific appset; added additional target buildset check
* github: fixed build; nfc: fixed pvs warnings
* attempt to fix target id
* f7, f18: removed certain HAL function from public API
* apps: debug: enabled bt_debug_app for f18
* Targets: backport input pins configuration routine from F7 to F18
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com >
2023-02-08 01:33:05 +09:00
Sergey Gavrilov
709fa633ff
ELF-loader: wait for notification to complete on app exit ( #2335 )
2023-01-25 12:15:01 +07:00
Eric Betts
9e1a6a6d2e
relocate R_ARM_CALL ( #2305 )
2023-01-16 12:36:59 +03:00
Georgii Surkov
8582670a34
[FL-2811] Fix PVS-Studio warnings ( #2142 )
...
Co-authored-by: あく <alleteam@gmail.com >
Co-authored-by: gornekich <n.gorbadey@gmail.com >
2022-12-26 21:13:30 +09:00
Sergey Gavrilov
c511c67e71
Core: thread allocation shortcut ( #2007 )
...
* Core: thread alloc+set shortcut
* Apps: use thread allocation shortcut
* Mark some service threads as services
* Init BT as soon as possible
Co-authored-by: あく <alleteam@gmail.com >
2022-11-23 21:49:17 +09:00
hedger
ebc2b66372
fbt fixes for mfbt pt2 ( #1951 )
...
* fbt: split sdk management code
* scripts: fixed import handling
* fbt: sdk: reformatted paths
* scrips: dist: bundling libs as a build artifact
* fbt: sdk: better path management
* typo fix
* fbt: sdk: minor path handling fixes
* toolchain: fixed windows toolchain download
* fbt: minor refactorin
* fbt: moved sdk management code to extapps.scons
* fbt: fixed sdk symbols header path; disabled -fstack-usage
* fbt: changed pathing for .py scripts
* fbt: changed SDK_HEADERS pathing; added libusb to SDK; added icon_i.h to SDK; added hw target to SDK meta
* fbt: added libusb headers to SDK
* picopass: include cleanup; api: added subghz/registry.h; api: added mbedtls to exported headers
* picopass: fixed formatting
* fbt: fixed COPRO_ASSETS_SCRIPT
* sdk: added basic infrared apis
* toolchain: added ufbt to list of legal fbtenv callers; updated error messages
* fbt: changed manifest collection & icon processing code
* fbt: simpler srcdir lookup
* toolchain: path management fixes; fbt: fixes for fap private libs paths
* scripts: toolchain: reworked download on Windows
* toolchain: v17
* scripts: added colorlog for logging
* Github: fix unit tests
Co-authored-by: あく <alleteam@gmail.com >
2022-11-03 00:15:40 +09:00
Sergey Gavrilov
42df7aa04a
Fix FuriString oplist (init move) ( #1894 )
...
* FuriString, Infrared: fix oplist and drop string_t.
* Elf loader: log size
* Comment fix
* API: furi_hal_console_init
2022-10-20 19:58:11 +09:00
Sergey Gavrilov
981f7ff8b0
Elf loader: do not load .ARM.* sections ( #1850 )
...
* Elf loader: do not load .ARM sections
* Fix section name
2022-10-09 00:51:51 +09:00
Sergey Gavrilov
37b5e58a60
More correct elf loader ( #1839 )
...
* ELF File: more robust section loader
* ELF File: faster and smaller preinit, init and fini arrays handling
* ELF File: load sections on preload stage
* ELF File: naming
* Furi: fix use after free in thread join
Co-authored-by: あく <alleteam@gmail.com >
2022-10-08 02:06:29 +09:00
Sergey Gavrilov
4bf29827f8
M*LIB: non-inlined strings, FuriString primitive ( #1795 )
...
* Quicksave 1
* Header stage complete
* Source stage complete
* Lint & merge fixes
* Includes
* Documentation step 1
* FBT: output free size considering BT STACK
* Documentation step 2
* py lint
* Fix music player plugin
* unit test stage 1: string allocator, mem, getters, setters, appends, compare, search.
* unit test: string equality
* unit test: string replace
* unit test: string start_with, end_with
* unit test: string trim
* unit test: utf-8
* Rename
* Revert fw_size changes
* Simplify CLI backspace handling
* Simplify CLI character insert
* Merge fixes
* Furi: correct filenaming and spelling
* Bt: remove furi string include
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com >
2022-10-06 00:15:23 +09:00