* unit_tests: clear startup order
* fam: ensure unique STARTUP order
* fbt: warn on same .order values within a group leading to non-determinitic builds
* fbt: better formatting for app order warning
---------
Co-authored-by: hedger <hedger@nanode.su>
- Authenticator: Extended valid UTC offset range to be from -12 to +14 (by akopachov)
- Cross Remote: Support external IR modules, fix loop transmit with RAW files, support pinning to favorites in firmware (by leedave)
- DTMF Dolphin: GPIO sound output (by Dmitry422)
- Metroflip: Ability to save and load files, added gocard plugin (by luu176)
- Picopass: Make iClass SIO sniffing more dynamic (by bettse)
- Pomodoro Timer: Add time constraint to talking feature (by Th3Un1q3)
- Quac: Refactor Sub-GHz code to support rolling codes and auto-detect external CC1101, add option to import files as links without copying, scroll long action names (by rdefeo)
- Solitaire: Fixed cards from waste can be placed on the first tableau (by Erbonator3000)
- W5500 Ethernet: Add traceroute command (by arag0re)
- Many app fixes for new firmware changes (by xMasterX & Willy-JL)
* Store app flags in FAP header
* Add app flag to UnloadAssetPacks to free RAM
* Unload asset packs in NFC and MFKey
* Clearer size units
* Update changelog
* Future proof logic
* Sync apps
* Unused icons to check later
* Exclude disabled icons from firmware
* Format
* Also report free flash in gh comment
* Fix free flash calc
* Fix?
* Fix??
* Split to next line
* Remove dead icons
* Some spring cleaning of icons cooker
* Improve unused icons script
* Disable icons that cant be used in asset packs
* These will need a workaround for external
* Revert "These will need a workaround for external"
This reverts commit fb23d97952.
* Here's the workaround: split assets lib
now there is "assets" and "fwassets"
firmware links with fwassets and includes all icons
however not all of them are exposed to api
if an app needs a firmware icon not in api, it can use fap_libs=["assets"]
this will link against this dummy assets lib
it only contains the icons that arent exposed to api
this way, an app using assets lib will still benefit from asset packs
but at same time, we can remove pointless icons from dfu blob
* Update changelog
* FuriHal, drivers: rework gauge initialization, ensure that we can recover from any kind of internal/external issue
* Make PVS happy
* Format sources
* bq27220: add gaps injection into write operations
* Drivers: bq27220 cleanup and various fixes
* Drivers: bq27220 verbose logging and full access routine fix
* Drivers: better cfg mode exit handling in bq27220 driver
* Drivers: rewrite bq27220 based on bqstudio+ev2400, experiments and guessing. Fixes all known issues.
* PVS: hello license check
* Drivers: minimize reset count in bq27220 init sequence
* Drivers: bq27220 hide debug logging, reorganize routine to ensure predictable result and minimum amount of interaction with gauge, add documentation and notes.
* Drivers: more reliable bq27220_full_access routine
* Drivers: replace some warning with error in bq27220
* Drivers: move static asserts to headers in bq27220
* Fix PVS warnings
* Drivers: simplify logic in bq27220
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
* Make file extensions case-insensitive
* Bump protobuf version
* Add support for 5V control via RPC
* Add support for 5V control via Expansion protocol
* Update running instructions
* Update expansion module documentation
* Prettify condition
* Test RPC OTG control as well
* Assets: bump protobuf version
* Disable PVS license expiration check, fix PVS warnings
Co-authored-by: あく <alleteam@gmail.com>
- FBT allows animated icons with any frame naming scheme
- Flipper needs precise naming
- This will ensure correct parsing and correct output
- If .bm and .png input for packer is mixed, could have issues due to inconsistent naming between input and output (duplicated frames)
* 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>
* 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>
- 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
* 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>
* 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>
* WiFi board update: windows fix
* Scripts: add python\Scripts to the path
* Windows: another way to call esptool
* Aaaaaand once more!
* logz
* wifi board scripts: udev rule, dev channel
* fbt: added ARGS variable for passing extra options to certain scripts; removed `devboard_flash_dev` in favor of `devboard_flash ARGS="-c dev"`
* fbt: fully removed `devboard_flash_dev
* scripts: wifi_board.py: cleanup
* ufbt: ported ARGS for supported targets to ufbt
* docs: updated for ARGS=...
---------
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>