Commit Graph

703 Commits

Author SHA1 Message Date
Willy-JL
826aa4ba3d Update MFC dict, 135 new keys from RRG pm3 repo and UberGuidoZ dump 2024-07-11 22:12:49 +01:00
Willy-JL
0b91b2e31f Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-10 22:38:00 +01:00
hedger
d879b254d6 ufbt: added ARGS to commandline parser (#3770)
Co-authored-by: あく <alleteam@gmail.com>
2024-07-10 17:28:22 +01:00
Willy-JL
9f03cdb721 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-07-06 19:44:49 +02:00
Konstantin Volkov
248e926a82 Updating bench flipper search algorithm (#3742)
* initial commit, changed flipper search function and unit test runner script
* increased timeouts due to new unpacking delays
* python formatting fixes
* fixed flipper name

Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-07-06 11:49:56 +01:00
Willy-JL
0f4f844ff1 Format for toolchain 37, update changelog 2024-07-05 20:07:11 +02:00
Willy-JL
4830ef94c6 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-05 20:01:29 +02:00
hedger
7879876ba1 [FL-3863] toolchain: v37 (#3746)
* toolchain: v36
* toolchain: fixed cert path; lib: nanopb: updated to 0.4.8
* fbtenv: rolled back cert path for 3.11
* clang-format: updated config for v18
* linter fixes
* clang-format: properly regenerated config (`clang-format -style=file:.clang-format -dump-config > .clang-format-new; mv .clang-format-new .clang-format`)
* clang-format: AllowShortLoopsOnASingleLine: false
* toolchain: v37
* fbt: compilation_db.py: fixes for Windows
2024-07-05 18:27:21 +01:00
WillyJL
b18ac01485 Updater: Gzip resources dejavu, refactor for CompressStreamDecoder API (#152)
* Add back uzlib

* FBT: Support different resources compress methods

* Tar: Detect gzip compress type

* Tar: Generic compressed stream refactor

* Compress: Shared config params

* Fix comment

* Compress: Scaffolding for gzip implementation

* Compress: Handle errors from allocation

* Compress: Gzip support implementation

* Tar/Compress: Don't rewind if already at stream cursor

* Update changelog
2024-07-03 02:26:59 +02:00
Willy-JL
2d2b0f8201 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev --nobuild 2024-07-01 23:01:37 +02:00
Willy-JL
9b41168e85 Revert gzip resources (OFW made heatshrink equivalent)
- a83845aec4
- 9b748ea792
2024-07-01 22:33:32 +02:00
hedger
fcbcb6b5a8 Updater: resource compression (#3716)
* toolbox: compress: moved decompressor implementation to separate func
* toolbox: compress: callback-based api; cli: storage unpack command
* toolbox: compress: separate r/w contexts for stream api
* targets: f18: sync API
* compress: naming fixes & cleanup
* toolbox: compress: using hs buffer size for stream buffers
* toolbox: tar: heatshrink stream mode
* toolbox: compress: docs & small cleanup
* toolbox: tar: header support for .hs; updater: now uses .hs for resources; .hs.tar: now rewindable
* toolbox: compress: fixed hs stream tail handling
* updater: reworked progress for resources cleanup; rebalanced stage weights
* updater: single-pass decompression; scripts: print resources compression ratio
* updater: fixed warnings
* toolbox: tar: doxygen
* docs: update
* docs: info or tarhs format; scripts: added standalone compression/decompression tool for heatshrink-formatted streams
* scripts: tarhs: fixed parameter handling
* cli: storage extract command; toolbox: tar: guess type based on extension
* unit_tests: added test for streamed raw hs decompressor `compress_decode_streamed`
* unit_tests: compress: added extraction test for .tar.hs
* rpc: autodetect compressed archives
* scripts: minor cleanup of common parts
* scripts: update: now using in-memory intermediate tar stream
* scripts: added hs.py wrapper for heatshrink-related ops (single object and directory-as-tar compression)
* scripts: naming fixes
* Toolbox: export compress_config_heatshrink_default as const symbol
* Toolbox: fix various types naming
* Toolbox: more of types naming fixes
* Toolbox: use size_t in compress io callbacks and structures
* UnitTests: update to match new compress API
* Toolbox: proper path_extract_extension usage

Co-authored-by: あく <alleteam@gmail.com>
2024-06-30 11:38:48 +01:00
Willy-JL
6e15423299 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-24 19:10:23 +02:00
Georgii Surkov
4cf98867a0 [FL-3847, FL-3513] Thread Signals (#3730)
* Add signal API
* Add signal support to loader
* Add signal support to ViewDispatcher
* Remove extra signal definitions
* Fix typos
  Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
* scripts: runfap: close current app pre-launch
* loader: enable backlight when starting an app
* scripts: removed distfap.py
* Do not expose signal API via ViewDispatcher
* scripts: runfap: iterative retry to launch
* Add a loader signal subcommand
* Furi, Gui: move signal handling from View Dispatcher to Event Loop

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-21 21:44:36 +01:00
Willy-JL
db4def4b98 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev --nobuild 2024-06-20 21:45:06 +02:00
あく
3859646e13 Debug: backup openocd work area, fix crash after fresh debugger connect and continue (#3722) 2024-06-18 18:11:40 +03:00
Willy-JL
7bcb53a65f FBT: Fix pack gen from precompiled assets 2024-06-17 02:14:37 +02:00
Willy-JL
a5c6bb6e08 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-11 23:09:37 +02:00
あく
0bc400a3ae Code Cleanup: unused includes, useless checks, unused variables, etc... (#3696)
* Remove unnecessary checks
* Sublime: never insert missing headers
* Cleanup furi defines use
* Cleanup startup. Cleanup linker scripts. Explicitly define all interrupts hadlers, including uninmplemented one.
* Startup routine in C
* Drop assembler startup
* Move linker defines to stm32wb55_linker.h, cleanup naming, unify usage. Mpu: protect last 32b of main stack. Document various obscure things.
* Move furi_hal_switch documentation to appropriate place, use 0x0 for updater jump.
* UnitTests: move all temporary test files into tmp folder

---------

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2024-06-11 03:04:29 +10:00
Willy-JL
363ab4ff4a AssetPacker: Pack pre-compiled icons and fonts, more fixes --nobuild 2024-06-05 06:06:59 +01:00
Willy-JL
9b748ea792 FBT: Gzip resources on the fly 2024-06-03 09:30:58 +01:00
Willy-JL
476be971c0 SDK: Fix SKIP_EXTERNAL in ufbt 2024-06-03 09:25:42 +01:00
Willy-JL
28a0a414b0 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-02 02:34:01 +01:00
hedger
c93d164785 fbt, vscode: tweaks for cdb generation for clangd (#3680)
* fbt, vscode: tweaks for cdb generation for clangd
* .clangd: updated config
* vscode: disabled auto header insertion for clangd
* .clangd: updated config, ignoring format warnings
* Add sublime text project
* vscode: enabled clang-tidy for clangd
* clangd: strict include checks for sources only

Co-authored-by: あく <alleteam@gmail.com>
2024-06-01 13:20:51 +01:00
Willy-JL
cb2714ebe5 Consistent version/branch info, fix gitorigin
- Dev dist: mntm-(branch)-(commit)
- Dev version: mntm-dev
- Dev gitbranch: (branch)
- Tag dist: mntm-(ver)
- Tag version: mntm-(ver)
- Tag gitbranch: mntm-(ver)
- Consistent between CI and local
- Gitorigin falls back based on context
- MNTM settings header won't clip with custom branch names
- About fw info page shows dirty flag and branch when custom, in same layout as OFW
2024-06-01 08:31:53 +01:00
Willy-JL
4be9768e10 Fix value --nobuild 2024-05-31 10:39:31 +01:00
Willy-JL
9e39da91e2 FBT: New SKIP_EXTERNAL option 2024-05-31 06:17:44 +01:00
Willy-JL
d9f55d110d Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-05-21 04:56:03 +01:00
hedger
9e42e00ead Icons: compression fixes & larger dimension support (#3564)
* toolbox, gui: fixes for compressed icon handling
* ufbt: fixes for generated vscode project
* scripts: increased max dimensions for image converter
* icon type changes
* linter fixes; api sync
* gui: docs fix
* toolbox: fixed potential decoder buffer overflow
* minor cleanup
* fbt: sdk: suppressed deprecation warnings in API table
* toolbox: compress: added unit tests
   vscode: now installs resources for unit_tests
   unit_tests: now loads subghz region data
* toolbox: compress: review fixes, pt 1
* compress: now passes decoder buffer size as constructor argument; auto-resize decoder buffer; crash on failed icon decompression
* PVS fixes
* pvs fixes, pt2
* doxygen fixes
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* UnitTests: move all tests into plugins, brakes testing
* UnitTests: add plugin API and update plugin entrypoints
* UniTests: Test runner that works with plugins
* fbt: extra filtering for extapps to include in build
* UnitTests: filter tests by name
* loader: restored API table for unit_test build config
* Add various missing symbols to API table
* UnitTest: fail on plugin load error
* UnitTests: cleanup plugin api and reporting
* unit_tests: composite resolver
* UnitTests: remove unused declaration
* unit_tests, nfc: moved mock nfc implementation to libnfc
* unit_tests: api: removed redundant #define
* toolbox: compress: removed size_hint for icons; triggering furi_check on oversized icons
* gui: icon, icon_animation: removed size hit APIs
* Format Sources. Cleanup code.
* loader: refuse to start .fal as app
* toolbox: compress: fixed memory corruption in operations with small destination buffer; added unit tests for that case
* unit_tests: proper test skipping; better selective test interface
* unit_tests: moved 'loading' logging to proper location

Co-authored-by: あく <alleteam@gmail.com>
2024-05-20 18:23:47 +01:00
Willy-JL
c2b7b9c60f Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-05-16 04:54:24 +01:00
Max Andreev
3d3db9f5b0 Add new map analyser (#3648)
* Add new map analyser
* Fix typos

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-05-15 12:25:02 +01:00
Willy-JL
b69439b334 FBT: Gzip resources.tar (220% faster FW upload) 2024-05-03 03:35:47 +01:00
Willy-JL
d4d8e5a6cb FBT: Add new plugin APIs to ignored unresolved symbols 2024-04-05 02:22:08 +01:00
Willy-JL
514171d0c5 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-04-02 15:36:43 +01:00
hedger
096a26b07d fbt: added -Wstrict-prototypes for main firmware (#3557)
* fbt: added -Wstrict-prototypes for main firmware (excludes extapps)
* unit_tests: fixed declarations using strict prototypes
* furi_hal: ble: changed gap stop log level to debug

Co-authored-by: あく <alleteam@gmail.com>
2024-04-02 02:02:45 +09:00
RebornedBrain
f426c44811 [FL-3801] Mifare Ultralight naming fix (#3551)
* Fixed some UI mismatches in plugin and nfc app
* Fixed nameing mismatches in mosgortrans_util
* Fix ultralight naming display
* Fix naming for Ultralight on read screen
* fbt: fixed regression with pvs-reports autoopen
* Revert st25tb_render.c

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
2024-04-02 00:02:11 +09:00
Willy-JL
cf2534ea5d Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-03-29 04:17:01 +00:00
hedger
538422e2a9 ufbt: fixes for generated vscode project (#3547)
Co-authored-by: あく <alleteam@gmail.com>
2024-03-29 10:47:43 +09:00
Willy-JL
46ec8e2b8e Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-03-22 21:24:42 +00:00
hedger
6947d3dea2 BLE/GAP fixes (#3533)
* hal: fixed ble_gap race on queue init
* fbt: removed deprecated path_as_posix
* hal: fixed inconsistencies between f7/f18 APIs
* hal: fixed excessively strict event handler re-init checks

Co-authored-by: あく <alleteam@gmail.com>
2024-03-22 21:36:05 +09:00
Willy-JL
d610e20060 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-03-21 02:07:27 +00:00
Silent
4039ccbcca fbt/ufbt: Ensure POSIX paths are passed to GDB on all platforms (#3360)
* fbt/ufbt: Ensure POSIX paths are passed to GDB on all platforms
  GDB heavily dislikes forward slashes from Windows paths and strips
  them internally instead of normalizing them. Account for this by
  passing POSIX paths explicitly.
* fbt: different approach for posix path handling
* fbt, ufbt: further fixes for path handling
* fbt: explicit path stringification
* linter fixes

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: あく <alleteam@gmail.com>
2024-03-21 07:36:38 +09:00
hedger
ee36c66572 fbt: doxygen target (#3510)
* fbt: doxygen target
* github: adjustments for doxygen
* github: always generate docs, only upload for dev
* doxygen: fixed exclusion path for awesome-css
* github: stricter check for push ref
* github: bumped action version to fix node.js deprecation
* github: added PVS report url to workflow summary
* github: pvs: reworked report URL handling
* github: added size report to summary
* docs: added `doxygen` target
* fbt: common naming scheme for COMSTR
* Documentation: fix warnings and errors
* Doxygen: stricter warning checks
* fbt: "doxy" target, opens generated doxygen documentation in browser
* github: doxygen: now using edge (1.10) version

Co-authored-by: あく <alleteam@gmail.com>
2024-03-21 01:32:53 +09:00
Willy-JL
bec49475cc Format --nobuild
I'm writing python like C now, help
2024-03-17 21:28:23 +00:00
Willy-JL
6ae098fa4e Asset packer bugfixes and improvements
- Ignore hidden files
- Fix .DS_Store
- Check known extensions
- Support precompiled anims
- Fix FBT integration
2024-03-17 21:19:13 +00:00
Willy-JL
ff36de9a47 Fix assets in UFBT SDK 2024-03-13 00:34:27 +00:00
Willy-JL
a5decc9756 Format 2024-03-10 17:52:23 +00:00
Willy-JL
ef557bc1c6 Fix dist suffixes 2024-03-10 13:08:14 +00:00
Willy-JL
c0ed5bcd85 Format 2024-03-10 11:49:34 +00:00
Willy-JL
d0b32f1124 New build system 2024-03-10 10:17:59 +00:00