Commit graph

230 commits

Author SHA1 Message Date
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
Konstantin Volkov
7f3ebcd110
Changed bench target, stlink serial and added error for testing the run (#2275)
* changed bench target, stlink serial and added error for testing the run
* changed flipper name for macos and changed serial aquisition for device manager
* tested broken pipeline, reverting test data
* added timeout-minutes, testing if its int or float

Co-authored-by: Konstantin Volkov <k.volkov@flipperdevices.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-01-30 15:59:45 +07:00
hedger
341610b8a1
[FL-3080] fbt: PVS support (#2286)
* fbt: added firmware_pvscheck & firmware_pvs targets for *nix
* fbt: pvs support on Windows
* fbt: additional fixes & docs for PVS support
* fbt: fixes for updater env configuration
* github: reworked pvs workflow
* vscode: added PVS shortcut
* pvs: added --ignore-ccache flag
* fbt: pvs: opening web browser if there are warnings
* fbt: pvs: added browser handler for mac
* github: fixed report path for PVS
* fbt: pvs: fixed report upload path
* removed intentional PVS warning
* fixed more PVS warnings
* fixed secplus_v1 PVS warning
* fbt: added PVSNOBROWSER flag
* github: setting PVSNOBROWSER for pvs runs
* fbt: less debug output

Co-authored-by: あく <alleteam@gmail.com>
2023-01-17 15:55:49 +03:00
Konstantin Volkov
27ee0f73f7
Fixing various typos in readme files #2208
Co-authored-by: Konstantin Volkov <k.volkov@flipperdevices.com>
2022-12-28 23:30:20 +09:00
Konstantin Volkov
3108dc7c8c
Splitting units and updater benches (#2165)
* test run, moved updated to separate physical runner/flipper/card
* simplified units, removed re-flashing, moved format to beginning of run
* added reboot requence and mini optimizations
* forgot gitadd, added script modifications, workflow changes
* fixed linter issues
* moved updater to unit bench for speed up
* changes to units, flash (not full) on second update, new fbt GDB thread check
* changed serial of second device
* testing pipelines, added failing unit test
* fixed gdb step
* fixed gdb step v2 electric boogaloo
* fixed gdb step v3, fixed target
* reverted while1 in units, tests complete
* testing colored output
* trying different term setting
* debug outputs for terminal
* fixed typo in SConstruct and another terminal test
* reverted changes, no colored output, for production
* fixed log output to readable format
* fixed linter

Co-authored-by: Konstantin Volkov <k.volkov@flipperdevices.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-12-28 23:16:06 +09:00
あく
d7735a1efb
Drop brewfile, drop makefile, update readme and documentation (#2205)
* Drop brewfile, drop makefile, update readme
* Minor grammar and consistency fixes
* ReadMe: add more documentation links, cleanup layout
* ReadMe: cleanup and contribution section. Roadmap: update.
* Docs: Lots of minor fixes

Co-authored-by: Anna Prosvetova <anna@prosvetova.me>
Co-authored-by: Astra <astra@astrra.space>
2022-12-28 15:32:32 +03:00
Max Andreev
4e347b207c
Fix amap on forks (#2200) 2022-12-27 16:35:57 +09:00
Max Andreev
1c926cf8a2
Trigger amap from another repo (#2171)
* Add s3 upload, repository dispatch
* Add trigger
* Fix map file upload
* Debug
* Add event file upload to s3
* fix triggering
* Fix upload process
* fix build.yml

Co-authored-by: あく <alleteam@gmail.com>
2022-12-27 05:22:22 +09:00
Max Andreev
a34fbf6976
[FL-3056] Prevent merging of PRs if there are warnings from PVS-studio (#2176)
Co-authored-by: あく <alleteam@gmail.com>
2022-12-27 04:33:44 +09: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
Georgii Surkov
7ff9414656
Update CODEOWNERS (#2170) 2022-12-21 12:42:51 +03:00
Konstantin Volkov
84ba2690a5
GitHub: update unit_tests workflow steps to always re-flash device (#2150)
Co-authored-by: Konstantin Volkov <k.volkov@flipperdevices.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-12-20 03:14:44 +09:00
Max Andreev
361ca8b750
Rollback new amap workflow (#2152) 2022-12-20 02:09:19 +09:00
Max Andreev
ef7052fbad
Fix new amap workflow (#2151)
* Fix amap workflow
* get_env.py
* Fix amap_analyse.yml
2022-12-20 01:42:06 +09:00
Max Andreev
5d18b189ec
Run map file analyser through repository dispatch (#2148)
* Add ripository dispatch
* Fix mistakes
2022-12-20 00:28:53 +09:00
Konstantin Volkov
36e15a1352
Doom/Unit_tests flashing proper firmware (#2133)
* doom: should fix all issues, needs review
* fixed flash call and added port
* increased timeout, full flash wasn't completing
* turned serial back
* added unit formatting and force flag for overwriting files
* testing crash
* fixed step names, added release flashing, removed unit_tests from updater tests
* changed checkout method, added step validations
* removed duplicated tag
* fixed styling, stopped relying on shebang lines, removed debug output
* moved format to the end, flash_usb_full copies resourses already
* awaiting flipper after flashing and step status for file move

Co-authored-by: Konstantin Volkov <k.volkov@flipperdevices.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-12-19 22:07:23 +09:00
あく
27921e42ff
Github: fix unit tests workflow (#2117) 2022-12-11 05:34:12 +09:00
Max Andreev
9d728a1c65
Check FL ticket in PR name after merge (#2076)
* Add base
* Add base again
* Test reporting
* Fix reporting
* Fix secrets
* Fix arguments in report
* Remove depricated actions
* Disable reporting on PR

Co-authored-by: あく <alleteam@gmail.com>
2022-12-10 22:10:51 +09:00
Max Andreev
ce294c3b1e
Update toolchain to version 19. Update codeowners. Fix amap analyze. (#1986)
* Up toolchain to 19
* Fix amap_analyse.yml
* Github: update codeowners

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-11-09 01:56:49 +09:00
hedger
2d6c2886ae
fbt: compile_db fixes (#1981)
* fbt: forked compilation_db tool
* fbt: fixes for static analysis
* pvs-studio: ignoring more generic warnings
* fbt: util: added extract_abs_dir
* vscode: added fap-set-debug-elf-root for debug configurations
2022-11-07 23:54:41 +09:00
Konstantin Volkov
a09d0a8bd4
fixed job name, renamed compile step id (#1952)
Co-authored-by: あく <alleteam@gmail.com>
2022-11-03 00:21:43 +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
Konstantin Volkov
09b622d4ae
UnitTests: removed all continue-on-error lines (#1946)
* removed all continue-on-error lines
* Github: add assets deployment after format

Co-authored-by: Konstantin Volkov <k.volkov@flipperdevices.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-10-29 00:45:22 +09:00
Konstantin Volkov
492f147568
[FL-2887] actions unit tests runner (#1920)
Co-authored-by: Konstantin Volkov <k.volkov@flipperdevices.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-10-28 22:59:09 +09:00
Anna Prosvetova
d530238fae
CI: Update web updater domain (#1919)
Co-authored-by: あく <alleteam@gmail.com>
2022-10-26 07:48:33 +09:00
hedger
0adad32418
fbt fixes pt4 (#1899)
* fbt: fixed py scripts for gdb
* fbt: removed compiled dolphin assets from tracked files; resolved cached dependency issues by globally disabling deps cache; changed dependency tracking for dolphin assets
* fbt: fix for "resources" node lookup
* toolchain: bump to v.16 with scons + x64 win binaries
* fbt: using scons from toolchain
* vscode: fixed paths for 64-bit Windows toolchain
* fbt: added colors!
* fbt: moved import validator to ansi lib coloring
* fbt: moved COMSTR vars to tools
* fbt: custom action for fap dist
* fbt: added OPENOCD_ADAPTER_SERIAL configuration var for openocd operations
* fbt: added get_stlink target
* docs: details on libs for faps
* vscode: added DAP config for using Flipper as a debugger for a 2nd Flipper
* fbt: blind deps fix for sdk_origin
* fbt: sdk: moved deployment actions to pure python
* Github: disable disableLicenseExpirationCheck option for pvs

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-26 07:15:02 +09:00
Dzhos Oleksii
e46e6f8ee9
Update title for web updater (#1872)
Co-authored-by: あく <alleteam@gmail.com>
2022-10-14 00:34:27 +09:00
hedger
eb4ff3c0fd
[FL-2832] fbt: more fixes & improvements (#1854)
* github: bundling debug folder with scripts; docs: fixes & updates; fbt: added FAP_EXAMPLES variable to enable building example apps. Disabled by default. fbt: added TERM to list of proxied environment variables
* fbt: better help output; disabled implicit_deps_unchanged; added color to import validator reports
* fbt: moved debug configuration to separate tool
* fbt: proper dependency tracker for SDK source file; renamed linker script for external apps
* fbt: fixed debug elf path
* fbt: packaging sdk archive
* scripts: fixed sconsdist.py
* fbt: reworked sdk packing; docs: updates
* docs: info on cli target; linter fixes
* fbt: moved main code to scripts folder
* scripts: packing update into .tgz
* fbt, scripts: reworked copro_dist to build .tgz
* scripts: fixed naming for archived updater package
* Scripts: fix ぐるぐる回る

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-13 01:12:05 +09:00
Max Andreev
b3d9523322
Github actions on kubernetes runners (#1861)
* Change toolchain path and runner tag
* fix check_submdules.yml
* try to fix errors
* create .ssh directory
* fix toolchain path
* add empty line for test
* testing 3 k8s nodes speed
* Test speed again
* change tag, move reindex job
* bring reindex.yml back
* fix build.yml
* fix reindex.yml

Co-authored-by: あく <alleteam@gmail.com>
2022-10-13 00:31:25 +09:00
Max Andreev
d1843c0094
Disable PVS-Studio license check (#1840) 2022-10-07 16:56:19 +10:00
hedger
28beff1ab6
Fbt: fixed gdb-py path for MacOS, docs: spelling fixes, codeowners (#1736)
* fbt: fixed gdb-py path for MacOS, docs: spelling fixes
* Gtihub: update codeowners

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-09-15 22:40:26 +09:00
Max Andreev
b7a6d18186
Fix CI/CD in tags #1703 2022-09-05 22:40:54 +09:00
Max Andreev
53aa5c71a0
Amap workflow, "toolchain improvements" (#1685)
* fix quotes in amap
* try to fix quotes
* try to read "commit_message"
* Add new actions anv parser
* fix amap_anayse
* fix script ssl error
* test build with new get commit details method
* fix build.yml
* add fbt envs to get_env.py
* fix envs
* using new commit info "way"
* try to fix report link in PR page
* fix "pvs_studio.yml" again
* fix vars
* fix "build.yml"

Co-authored-by: あく <alleteam@gmail.com>
2022-09-03 16:09:03 +09:00
Skorpionm
e7a5d19f9c
[FL-2778] SubGhz: fix CLI "subghz tx" (#1681)
* SubGhz: fix CLI "subghz tx"
* Fix qoutes in amap workflow
* Github: fix step naming
* fix quotes in PR name again

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: DrunkBatya <drunkbatya.js@gmail.com>
2022-08-31 00:22:24 +09:00
Max Andreev
689da15346
workflows and fbtenv improovements (#1661)
* add --restore option, improove clearing
* fix trap
* fix unset
* fix fbtenv clearing
* disabling pvs studio and amap analyses in forks, fbtenv.sh fixes
* fbtenv fix

Co-authored-by: あく <alleteam@gmail.com>
2022-08-27 21:38:13 +09:00
Skorpionm
ce7b943793
[FL-2764] SubGhz: fix CAME, Chamberlain potocol (#1650)
* SubGhz: fix guard time CAME potocol
* SubGhz: fix file upload Chamberlain
* Github: fix spelling

Co-authored-by: あく <alleteam@gmail.com>
2022-08-25 00:14:27 +09:00
Max Andreev
7c54fcf60a
fix fbtenv.sh under zsh (#1645)
* fix fbtenv under ZSH, some improovements, add amap workflow timeout
* fix copy .map file in build.yml
2022-08-24 02:57:59 +09:00
Max Andreev
ddd5d5a535
fix Amap reports outside pull-request (#1642) 2022-08-23 20:48:39 +09:00
Max Andreev
a7a9c38036
Amap and PVS Studio reports in CI/CD (#1526) 2022-08-23 20:29:26 +09:00
Anna Prosvetova
0a6d775fa7
Github: Update CODEOWNERS (#1631) 2022-08-21 21:51:04 +09:00
Georgii Surkov
135fbd294b
[FL-2693] RW buffered streams (#1523)
* Add write methods for stream cache
* Fix logical error
* Implement write cache for buffered file streams
* Minor code refactoring
* Less ugly code
* Better read() implementation
* Intermediate implementation
* Fix logical error
* Code cleanup
* Update FFF comments
* Fix logical error
* Github: rsync with delete

Co-authored-by: あく <alleteam@gmail.com>
2022-08-04 01:43:14 +09:00
Max Andreev
93a4b9c4a9
[FL-2649] Drop Docker in CI/CD (#1412)
* enable sparseCheckout, moving github actions from docker to raw shell
* fix missing known_hosts while setting ssh priv key
* fix build.yml
* add ssh key to upload just in time
* fixing rsync syntax
* fix build.yml
* try to fix build.yml again
* testing rsync
* test rsync again
* add linters
* add Black Python linter to submodules
* add Black submodule
* add working python linter target, dirty file list
* up toolchain to version 4
* up toolchain to ver 5
* up toolchain version to 6
* fbt: using black 22.6.0
* remove Black submodule, up toolchain to ver 7
* fbt: added lint_py, format_py targets
* add pvs_studio workflow
* fix pvs_studio segfault
* fix pvs_studio command
* fix pvs_studio command 2
* show env before run pvs_studio
* try to debug pvs_studio
* try to strace pvs_studio..
* Add FBT_TOOLCHAIN_PATH, MacOS Rosseta check, and ignore non-x86_64 linux architectures
* prevent redownloading toolchain on github-runners
* fix toolchain download exitcode
* add strace to debug pvs_studio segfault
* disable strace to catch full code dump
* Add './fbt cli' target to access Flipper CLI via PySerial
* remove pvs_studio from this PR
* removing clang-format from toolchain due errors
* make source easy, and fix some mistakes found by @hedger
* Add check_submodules workflow, some fixes
* fixing mistakes

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2022-08-02 23:05:31 +09:00
hedger
a1637e9216
fbt fixes & improvements (#1490)
* fbt: minimal USB flash mode; scripts: faster storage.py with larger chunks
* fbt: fixed creation of temporary file nodes confusing scons
* docs: removed refs to --with-updater
* fbt: removed splashscreen from minimal update package
* fbt: renamed dist arguments for consistency
* docs: fixed updater_debug target
* fbt: separate target for generating compilation_database.json without building the code.
* fbt: added `jflash` target for programming over JLink probe; refactored usb flashing targets
* fbt: building updater_app in unit_tests configuration
* fbt: fixed reset behavior after flashing with J-Link
* fbt: generating .map file for firmware binary & external apps
* fbt/core: moved library contents before apps code

Co-authored-by: あく <alleteam@gmail.com>
2022-08-02 22:46:43 +09:00
hedger
1e732830ec
ci: check for uncommited changes after build (#1461)
* ci: check for uncommited changes after build
* assets: updated Manifest to match sources
* ci: simplified uncommited files check
* resources: Updated Manifest
* fbt: always rebuild manifest

Co-authored-by: あく <alleteam@gmail.com>
2022-08-02 22:29:16 +09:00
gornekich
9c59bcd776
[FL-2605] NFC new design (#1364)
* nfc: add new read scene

* lib: refactore nfc library

* mifare desfire: add read card fuction

* lib nfc: add auto read worker

* nfc: add supported cards

* nfc: add mifare classic read success scene

* nfc: add troyka support

* submodule: update protobuf

* nfc: mifare classic keys cache

* nfc: rework mifare classic key cache

* Correct spelling

* nfc: add user dictionary

* nfc: introduce block read map in fff

* nfc: rework dict attack

* nfc: improve dict attack

* nfc: rework mifare classic format

* nfc: rework MFC read with Reader

* nfc: add gui for MFC read success scene

* nfc: fix dict attack view gui

* nfc: add retry and exit confirm scenes

* nfc: add retry and exit scenes navigation

* nfc: check user dictionary

* nfc: remove unused scenes

* nfc: rename functions in nfc worker

* nfc: rename mf_classic_dict_attack -> dict_attack

* nfc: change scenes names
* nfc: remove scene tick events
* nfc: rework dict calls with buffer streams
* nfc: fix notifications
* nfc: fix mf desfire navigation
* nfc: remove notification from mf classic read success
* nfc: fix read sectors calculation
* nfc: add fallback for unknown card
* nfc: show file name while emulating
* nfc: fix build
* nfc: fix memory leak
* nfc: fix desfire read
* nfc: add no dict found navigation
* nfc: add read views
* nfc: update card fix
* nfc: fix access bytes save
* nfc: add exit and retry confirm to mf ultralight read success
* nfc: introduce detect reader
* nfc: change record open arg to macros
* nfc: fix start from archive

Co-authored-by: Astra <astra@astrra.space>
Co-authored-by: あく <alleteam@gmail.com>
2022-07-27 00:30:49 +09:00
AlexeyOplachko
d085af31c3
Fixing a typo in Bug Report Issue Template (#1449) 2022-07-25 23:34:49 +03:00
Kowlin
f1cb95655c
Port over Issue templates to new YML format (#1433)
* WIP Push
* Add feature request label to template
* Punctuation helps
* rename feature request and add in enhancement
* wording
* Add in extra markdown explanations

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-07-25 22:11:24 +09:00
あく
e3c7201a20
Furi: core refactoring and CMSIS removal part 2 (#1410)
* Furi: rename and move core
* Furi: drop CMSIS_OS header and unused api, partially refactor and cleanup the rest
* Furi: CMSIS_OS drop and refactoring.
* Furi: refactoring, remove cmsis legacy
* Furi: fix incorrect assert on queue deallocation, cleanup timer
* Furi: improve delay api, get rid of floats
* hal: dropped furi_hal_crc
* Furi: move DWT based delay to cortex HAL
* Furi: update core documentation

Co-authored-by: hedger <hedger@nanode.su>
2022-07-20 13:56:33 +03:00
David
09ec3832c8
Improved PR build comment (#1348)
* Improved PR build comment
* Update build.yml

Co-authored-by: あく <alleteam@gmail.com>
2022-07-04 00:01:24 +09:00
hedger
f3b1475ede
[FL-2052] New build system based on scons (#1269) 2022-06-26 21:00:03 +09:00
Skorpionm
adffe20bcb
SubGhz: bugfix 0.60.0 (#1317)
* SubGhz: fix adding one when renaming a file
* SubGhz: fix wrong folder after unsave
* SubGhz: fix syntax
* Github: update codeowners
* Github: fix path selector in codeowners for docker-compose
* Github: add lib owners

Co-authored-by: あく <alleteam@gmail.com>
2022-06-14 12:06:36 +09:00
あく
b2132b2ec7
Nfc: async pcap worker (#1315)
* Nfc: async pcap worker
* nfc: add pcap save to classic emulation

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-06-14 11:14:13 +10:00
Nikolay Minaylov
761de00501
Fix CLI storage read (#1305)
* Fix cli storage read
* Github: install with web updater

Co-authored-by: あく <alleteam@gmail.com>
2022-06-10 10:28:05 +09:00
あく
f6384116a1
Github: update runner config (#1236) 2022-05-17 05:01:57 +10:00
hedger
4d6b170769
[FL-2520] FW build with -Wextra (#1185)
* Fixing compiler warnings with -Wextra
* More warnings suppression, WIP
* Even more warning fixes
* Added new lines at end of text files.
* Padding fix
* Additional fixes to warnings on different build configurations; added -Wextra to default build pipeline
* Fixes for Secplus v1
* -additional warnings
* +-Wredundant-decls fixes
* FuriHal: print stack overflow task name in console
* FuriHal: add missing include

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-05-06 16:37:10 +03:00
hedger
7ce305fca3
[FL-2269] Core2 OTA (#1144)
* C2OTA: wip
* Update Cube to 1.13.3
* Fixed prio
* Functional Core2 updater
* Removed hardware CRC usage; code cleanup & linter fixes
* Moved hardcoded stack params to copro.mk
* Fixing CI bundling of core2 fw
* Removed last traces of hardcoded radio stack
* OB processing draft
* Python scripts cleanup
* Support for comments in ob data
* Sacrificed SD card icon in favor of faster update. Waiting for Storage fix
* Additional handling for OB mismatched values
* Description for new furi_hal apis; spelling fixes
* Rework of OB write, WIP
* Properly restarting OB verification loop
* Split update_task_workers.c
* Checking OBs after enabling post-update mode
* Moved OB verification before flashing
* Removed ob.data for custom stacks
* Fixed progress calculation for OB
* Removed unnecessary OB mask cast

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-04-27 18:53:48 +03:00
Shane Synan
ce211f9a2b
ci: Change GH-Actions comment to DFU download link (#1163)
Change the GitHub Actions bot comment to directly point to the full
firmware DFU download link.
Include a pointer to the qFlipper documentation to guide folks towards
installing the DFU file.
The WebUSB flashing link can be restored in the future if it returns.
See https://forum.flipperzero.one/t/no-database-found-after-firmware-update/1761/6

Co-authored-by: あく <alleteam@gmail.com>
2022-04-25 15:17:34 +03:00
hedger
57312961e8
[FL-2481] Renamed assets->resources; enforcing Manifest build if it does not exist (#1135)
* Renamed assets->resources; enforcing Manifest build if it does not exist
* Rebuild resources from CI
* Added Manifest to repo - be sure to rebuild it with `make -C assets` before committing changes!
* Actually added Manifest.
* Keeping Manifest on assets clean
* Spelling fix in Makefile
2022-04-19 22:02:37 +03:00
hedger
e8499e4ede
[FL-2477] Updater support for resource bundles (#1131)
* Resource unpacking core
* Added more fields to manifest; updated dist scripts
* Python linter fixes
* Parsing manifest before unpacking
* Updated pipelines for separate resource build
* Removed raw path formatting
* Visual progress for resource extraction
* Renamed update status enum

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-04-19 11:03:28 +03:00
あく
1623134a82
Build system improvements and bug fixes (#1129)
* Assets: recompile
* Makefile: add debug_other to main makefile
* Github: stop compilation if compiled assets not in sync with assets sources
* Assets: recompile
* Makefile: correct debug_other rule. Bt: prevent on system start hook from waiting for bt service
* Power, FuriHal: gauge self check report
* Loader: move on system start hook call to the beginning
2022-04-19 02:09:11 +03:00
Anna Prosvetova
935db361b8
CI: clean up after archiving update bundle (#1116)
* CI: clean up after archiving update bundle
* CI: fix bundle path
* CI: trust me i know what i'm doing

Co-authored-by: あく <alleteam@gmail.com>
2022-04-14 20:05:45 +03:00
hedger
e02040107b
[FL-2263] Flasher service & RAM exec (#1006)
* WIP on stripping fw
* Compact FW build - use RAM_EXEC=1 COMPACT=1 DEBUG=0
* Fixed uninitialized storage struct; small fixes to compact fw
* Flasher srv w/mocked flash ops
* Fixed typos & accomodated FFF changes
* Alternative fw startup branch
* Working load & jmp to RAM fw
* +manifest processing for stage loader; + crc verification for stage payload
* Fixed questionable code & potential leaks
* Lowered screen update rate; added radio stack update stubs; working dfu write
* Console EP with manifest & stage validation
* Added microtar lib; minor ui fixes for updater
* Removed microtar
* Removed mtar #2
* Added a better version of microtar
* TAR archive api; LFS backup & restore core
* Recursive backup/restore
* LFS worker thread
* Added system apps to loader - not visible in UI; full update process with restarts
* Typo fix
* Dropped BL & f6; tooling for updater WIP
* Minor py fixes
* Minor fixes to make it build after merge
* Ported flash workaround from BL + fixed visuals
* Minor cleanup
* Chmod + loader app search fix
* Python linter fix
* Removed usb stuff & float read support for staged loader == -10% of binary size
* Added backup/restore & update pb requests
* Added stub impl to RPC for backup/restore/update commands
* Reworked TAR to use borrowed Storage api; slightly reduced build size by removing `static string`; hidden update-related RPC behind defines
* Moved backup&restore to storage
* Fixed new message types
* Backup/restore/update RPC impl
* Moved furi_hal_crc to LL; minor fixes
* CRC HAL rework to LL
* Purging STM HAL
* Brought back minimal DFU boot mode (no gui); additional crc state checks
* Added splash screen, BROKEN usb function
* Clock init rework WIP
* Stripped graphics from DFU mode
* Temp fix for unused static fun
* WIP update picker - broken!
* Fixed UI
* Bumping version
* Fixed RTC setup
* Backup to update folder instead of ext root
* Removed unused scenes & more usb remnants from staged loader
* CI updates
* Fixed update bundle name
* Temporary restored USB handler
* Attempt to prevent .text corruption
* Comments on how I spent this Saturday
* Added update file icon
* Documentation updates
* Moved common code to lib folder
* Storage: more unit tests
* Storage: blocking dir open, differentiate file and dir when freed.
* Major refactoring; added input processing to updater to allow retrying on failures (not very useful prob). Added API for extraction of thread return value
* Removed re-init check for manifest
* Changed low-level path manipulation to toolbox/path.h; makefile cleanup; tiny fix in lint.py
* Increased update worker stack size
* Text fixes in backup CLI
* Displaying number of update stages to run; removed timeout in handling errors
* Bumping version
* Added thread cleanup for spawner thread
* Updated build targets to exclude firmware bundle from 'ALL'
* Fixed makefile for update_package; skipping VCP init for update mode (ugly)
* Switched github build from ALL to update_package
* Added +x for dist_update.sh
* Cli: add total heap size to "free" command
* Moved (RAM) suffix to build version instead of git commit no.
* DFU comment
* Some fixes suggested by clang-tidy
* Fixed recursive PREFIX macro
* Makefile: gather all new rules in updater namespace. FuriHal: rename bootloader to boot, isr safe delays
* Github: correct build target name in firmware build
* FuriHal: move target switch to boot
* Makefile: fix firmware flash
* Furi, FuriHal: move kernel start to furi, early init
* Drop bootloader related stuff
* Drop cube. Drop bootloader linker script.
* Renamed update_hl, moved constants to #defines
* Moved update-related boot mode to separate bitfield
* Reworked updater cli to single entry point; fixed crash on tar cleanup
* Added Python replacement for dist shell scripts
* Linter fixes for dist.py +x
* Fixes for environment suffix
* Dropped bash scripts
* Added dirty build flag to version structure & interfaces
* Version string escapes
* Fixed flag logic in dist.py; added support for App instances being imported and not terminating the whole program
* Fixed fw address in ReadMe.md
* Rpc: fix crash on double screen start
* Return back original boot behavior and fix jump to system bootloader
* Cleanup code, add error sequence for RTC
* Update firmware readme
* FuriHal: drop boot, restructure RTC registers usage and add header register check
* Furi goes first
* Toolchain: add ccache support
* Renamed update bundle dir

Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-04-13 23:50:25 +03:00
あく
c4a0847c99
FuriHal: replace HAL with LL in RFID Part 1. Drop F6. (#1049)
* FuriHal: new speaker HAL
* FuriHal: drop PWM
* FuriHal: move COMP1 to LL
* FuriHal: move COMP1 to LL backport to F6
* FuriHal: remove missing gpio_rfid_carrier from F6
* FurHal: use LL for system controls in flash HAL
* Drop F6 source tree
* Drop F6 from GitHub workflow
* Tie USE_FULL_ASSERT with APP_UNIT_TESTS
* Speaker: return to old volume calculation
* FreeRTOS: move TCB header to glue

Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2022-03-23 20:59:20 +03:00
Albert Kharisov
052237f8c9
[FL-2279] IR doxygen, rename irda -> infrared (#1010)
* IR: Doxygen docs, some rename
* Rename irda -> infrared
* Rollback collateral renames

Co-authored-by: あく <alleteam@gmail.com>
2022-02-25 18:22:58 +03:00
Albert Kharisov
84410c83b5
[FL-2183] [FL-2209] Dolphin Deeds, Level up, assets generation, refactoring (#965)
* Desktop: cleanup headers
* Get loader pubsub via record
* [FL-2183] Dolphin refactoring 2022.01
* Restruct animations assets structure
* Rename assets
* Cleanup headers
* Update Recording animation
* Add BadBattery animation
* Provide loader's pubsub via record
* Fix load/unload animations
* Scripts: add flipper format support, initial dolphin packager rework. Assets: internal and external dolphin.
* Sync internal meta.txt and manifest.txt
* Reorder, rename dolphin assets
* Split essential generated assets
* Add ReadMe for dolphin assets
* Separate essential blocking animations
* Scripts: full dolphin validation before packaging
* Assets, Scripts: dolphin external resources packer
* Github: update codeowners
* Scripts: proper slots handling in dolphin animation meta
* Scripts: correct frames enumeration and fix compiled assets.
* [FL-2209] Add Dolphin Deeds points and many more
* Remove excess frame_rate
* Change dolphin assets directory
* Scripts: add internal resource support to dolphin compiler
* Scripts: add internal assets generation, renaming
* Scripts: correct assert, renaming
* Code cleanup, documentation, fixes
* Update Levelup animations
* Rename essential -> blocking
* Fix Unlocked hint
* Scripts: rewrite Templite compiller, replace regexps with token parser, split block types into code and variable blocks. Update dolphin templates.
* Documentation: add key combos description and use information
* Scripts: cleanup templit, more debug info and add dev comment

Co-authored-by: あく <alleteam@gmail.com>
2022-01-29 12:20:41 +03:00
Anna Prosvetova
3fbb97ba29
CI: check that submodules point to correct branches (#956)
Co-authored-by: あく <alleteam@gmail.com>
2022-01-12 17:06:39 +03:00
あく
389ff92cc1
Naming and coding style convention, new linter tool. (#945)
* Makefile, Scripts: new linter
* About: remove ID from IC
* Firmware: remove double define for DIVC/DIVR
* Scripts: check folder names too. Docker: replace syntax check with make lint.
* Reformat Sources and Migrate to new file naming convention
* Docker: symlink clang-format-12 to clang-format
* Add coding style guide
2022-01-05 19:10:18 +03:00
Albert Kharisov
a39002ce22
[FL-2150] Dolphin animation refactoring (#938)
* Dolphin Animation Refactoring, part 1
* Remove animations from desktop
* Remove excess, first start
* Split animation_manager with callbacks
* allocate view inside animation_view
* Work on ViewComposed
* Draw white rectangles under bubble corners
* Fix bubbles sequence
* RPC: remove obsolete include "status.pb.h"
* Add animations manifest decoding
* Flipper file: add strict mode
* FFF: Animation structures parsing
* Assembling structure of animation
* Lot of view fixes:
  Add multi-line bubbles
  Add support for passive bubbles (frame_order values starts from passive now)
  Add hard-coded delay (active_shift) for active state enabling
  Fix active state handling
  Fix leaks
  Fix parsing uncorrect bubble_animation meta file
  Fix bubble rules of showing
* Animation load/unload & view freeze/unfreeze
* Blocking & system animations, fixes:
  View correct activation
  Refactoring + blocking animation
  Freeze first passive/active frames
  Many insert/eject SD tests fixes
  Add system animations
  Add Loader events app started/finished
  Add system no_sd animation
* Assets: dolphin packer. Scripts: minor refactoring.
* Desktop: update logging tags. Scripts: add metadata to dolphin bundling process, extra sorting for fs traversing. Make: phony assets rules.
* Github: rebuild assets on build
* Docker: add missing dependencies for assets compilation
* Docker: fix run command syntax
* ReadMe: update naming rules with link to source
* Assets: recompile icons
* Loader: add loader event
* Desktop, Gui, Furi Core: const shenanigans macros

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-01-03 00:39:56 +03:00
Anna Prosvetova
f6d4e8fa84
CI: conditional compact build (#930)
* CI: conditional compact build
* Rpc: fix log line ending
2021-12-24 22:35:25 +03:00
Anna Prosvetova
acb2c98663
CI: pass the target in a fast flash link (#907) 2021-12-16 15:28:42 +03:00
あく
f5b2ed67d5
Github: fix non zero return behavior in docker actions. Firmware: fix F6 build. (#886)
* Github: treat non 0 exit code as fatal
* GitHub: inject missing -e flag to bash in docker
* Firmware: sync targets
2021-12-09 07:58:07 +03:00
Anna Prosvetova
54c41e4189
CI: Remove pycache from artifacts (#858)
* CI: Remove pycache from artifacts

* CI: Move bundle scripts step even higher
2021-12-01 13:21:26 +03:00
Anna Prosvetova
4303945748
Simpler build, less dependencies (#827)
* Simpler build, less dependencies
* Follow ugly python linter
* Introduce Brewfile & Update Readme
* Make dist.sh target-specific
* Tidy up make output
* Get rid of cat and truncate (I still love cats tho)
* Suppress dd output
* Long live the cat
2021-11-18 11:46:47 +03:00
Anna Prosvetova
f8542af653
[FL-1989] CI: bootloader & firmware JSON manifests (#786)
* [FL-1989] CI: bootloader & firmware JSON manifests
* CI: reorder steps

Co-authored-by: あく <alleteam@gmail.com>
2021-10-26 18:33:38 +03:00
Anna Prosvetova
f35977e84f
CI: Support slashed branches (#767)
* CI: Support slashed branches
* CI: Create rsync destination directory
2021-10-17 12:41:04 +03:00
Anna Prosvetova
8c5813ef9b
Bump default target to f7 (#757)
* Bump default target to f7
* Bootloader: set default target to F7

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-12 18:30:55 +03:00
あく
4456982e27
[FL-1699, FL-1700] Scripts: new radio firmware bundling scheme, manifest for resources. (#700)
* Scripts: new radio firmware bundling scheme, manifest for resources.
* Scripts: add destination address for copro binaries.
* Bootloader: update linker scripts
* Scripts: resource manifest FsTree.
2021-09-13 12:52:50 +03:00
Anna Prosvetova
a0d2e4c6a4
CI: Fix quick flash link (#697)
* CI: Fix quick flash link
* CI: Fix default target var
2021-09-10 15:05:09 +03:00
SG
8073992925
[FL-1587] RFID: Clock for emulation timer from antenna (#622)
* RFID: pull antenna down when emulating
* Rfid: fixed HID emulation by adding zero pulse every 4 bits
* Rfid: HID emulation fixed with DSP based FSK oscillator.
* Rfid: receive 125KHz clock for emulation timer from antenna and comparator
* Rfid: commented unused variable
* Firmware: rollback changes in f6.
* Add F7 target based on F6.
* F7/F6: update cube projects, apply changes to the targets, update linker scripts with correct RAM start values.
* FuriHal: RFID init routine.
* Scripts: update OTP tool for v11 board

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-09-10 05:19:02 +03:00
Anna Prosvetova
08f7a290a4
CI: Fix git.mk & post a quick flash link on PR builds (#670)
* CI: Fix git.mk & post a quick flash link on PR builds
* Makefile: optimize shell invocation in git helper, conditional dependency load.
* Github: better variable naming

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-08-26 20:59:23 +03:00
Anna Prosvetova
6966ca8f8f
CI: Use 7-symbol short hashes for consistency (#665) 2021-08-21 01:55:20 +03:00
Anna Prosvetova
b1bbf1730c
CI: Fix branch names (#664) 2021-08-20 20:31:07 +03:00
あく
54278b9adc
Github: proper workflow handling for tags (#660) 2021-08-19 12:56:42 +03:00
Maksim
274e9e8576
CI: Do not upload fork artifacts (#657) 2021-08-17 19:46:12 +03:00
Anna Prosvetova
46502ac44a
Comment on syntax errors (#656) 2021-08-17 18:48:13 +03:00
Anna Prosvetova
fe2b9718e1
CI: Fix artifacts naming (#654)
* Fix artifacts naming
* Github: build on pull requests
* Github: narrow build trigger criteria.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-08-17 17:45:23 +03:00
あく
f02cec45a0
[FL-1473, FL-1651] Update STM32CubeWB to latest version. Radio firmware bundle. (#642)
* FuriHal: update STM32CubeWB to latest version.
* Makefile: debug other script
* FuriHal: correctly handle 0 size transfers in VCP
* Dolphin: cleanup and minor timer tuning.
* FuriHal: update FreeRTOS config with bigger timer command queue.
* FuriHal: delayed irq enabling, fixes missing ticks.
* FuriHal: use SFSA to determine free space for internal FS, update linker script to use as much space as theoretically possible.
* Scripts: update core2 flashing scripts and OB data.
* Github: bundle resources, core2 firmware and supplementary data.
* GitHub: versioning for supplemental artifacts
2021-08-17 12:41:08 +03:00
Anna Prosvetova
69f4858168
DFU make rule, update Readme (#650)
Co-authored-by: あく <alleteam@gmail.com>
2021-08-16 23:22:30 +03:00
Anna Prosvetova
a548525d75
CI: Multiarch Docker toolchain (#641)
Co-authored-by: あく <alleteam@gmail.com>
2021-08-16 14:55:27 +03:00
Skorpionm
1cfa857f98
[FL-1610] SubGhz: scene based application, PT save and replay (#630)
* SubGhz: scene based application
* SubGhz: encoder/decoder separation, DMA streaming, update app and cli.
* SubGhz: 2 stage async tx complete, minor cleanup
* SubGhz: 2 stage async tx complete, FIX state pin end transmit
* SubGhz: Pricenton, receive TE signal
* SubGhz: Pricenton, add save data, add load data
* SubGhz: Add Read scene, Fix pricenton save, load funtion
* SubGhz: Add Read, Receiver, SaveName scene
* SubGhz: Read and Save (pricenton)
* SubGhz: add Load scence
* SubGhz: Fix select file scene, add load scene, add transmitter view, add send tx pricenton
* SubGhz: Fix pricenton encoder, fix transmitter send
* SubGhz: modified Pricenton Encoder (added guard time at the beginning), modified CC1101 config, code refactoring
* SubGhz: Fix pricenton encoder defalut TE
* Archive: Fix path and name SubGhz
* Archive: Fix name app SubGhz
* GubGhz: Came: add Save, Load key
* GubGhz: GateTX: add Save, Load key
* GubGhz: NeroSketch: add Save, Load key
* Github: better linters triggers
* SubGhz: adding fast loading keys Archive -> Run in app
* GubGhz: KeeLog: add Save, Load key, key generation from the serial number of the meter and the button
* SubGhz: format sources and fix compilation
* FuriHal: add subghz configuration description for AGC section
* SubGhz: save only protocols that can be saved. Cleanup.
* Github: lint on pull requests

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-08-12 17:42:56 +03:00
Anna Prosvetova
8696355556
CI: Use proper target name in DfuSe (#637) 2021-08-11 19:59:16 +03:00
rusdacent
eb83395cc3
Remove action "upload-artifacts" from build workflow (#626)
* rm upload artifacts to GitHub
* Skip lint_c if no source files were modified

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-08-06 02:33:15 +03:00
Anna Prosvetova
fb305eddb2
CI: Fix branch artifacts naming and submodules in the linter (#605)
* Fix branch artifacts naming
* Port submodules fix from build.yml
* Github: port decontamination to python lint action
* Github: skip decontamination on non existing repos
* Github: skip submodules python lint

Co-authored-by: あく <alleteam@gmail.com>
2021-07-25 14:46:34 +03:00
rusdacent
0c7a8edf51
[FL-1533] CI refactoring (#601)
* rename artifacts
* add workflow with date
* add debug
* Add branch name to artifact name and rm genpic job
* Add branch name to artifact name for upload job
* Add branch restrictions for dev and user branches
* Add branch restrictions for dev and user branches
* Add cleanup workspace for upload job
* Test ignore branch
* Test release CI workflow
* Rename release CI
* Add pre-release trigger
* Rm branch restriction for CI
* Add release trigger
* rm branch restriction for CI
* rm genpic job
* Github: refactor actions, move linting to parallel actions, separate forlder for artifacts, build cleanup
* Github: build date and commit hash on branches and tag on tags
* Github: minor artifacts name cleanup
* Github: decontaminate previous build leftovers
* Github: better decontamination and release build SUFFIX
* Github: fetch before decontamitation
* Github: change decontamination logic, jump to first commit if submodules are broken
* ReadMe: update links to latest firmware and images

Co-authored-by: あく <alleteam@gmail.com>
2021-07-24 16:53:02 +03:00
あく
421a0f6b97
[FL-1546, FL-1534, FL-1550] Drop F5, Certification preparation, Global application start lock (#585)
* Firmware: drop F5 target
* Rename app-loader to loader
* Update code owners file
* Loader: global application start lock API, minor refactoring
* Archive: update loader usage
* Cli: Command flags, global application start lock
* Apps: update cli API usage
* Bootloader: minor refactoring
* Firmware: minor build refactoring
* SubGhz: GUI packet test
* SubGhz: drop packet transmission and unused presets
* Github: drop F5 from build
* Archive: favorites
* Archive: a little bit more of Favorites
2021-07-18 21:09:00 +03:00
Anna Prosvetova
5d746234e9
Trigger update reindex after artifacts upload (#542)
Co-authored-by: あく <alleteam@gmail.com>
2021-06-25 20:08:01 +03:00
shevv
6e6df5e806
[FL-1457] Update link to release (#527)
Co-authored-by: shevv <shevv@shevv.com>
2021-06-19 22:49:12 +03:00
あく
c2b3084de3
Github: update workflow to match new scheme (#498) 2021-05-28 13:23:16 +03:00
rusdacent
93fbb2e182
Added full.dfu artifact for upload (#478) 2021-05-20 17:31:48 +03:00
あく
2c77318487
Add leads as codeowners to all subsystems and fix name conflict in Furi #468 2021-05-18 16:30:20 +03:00