Commit graph

2270 commits

Author SHA1 Message Date
あく
f57f0efc48
Debug: revert cortex debug to lxml and drop DWT (#2651)
* Debug: revert cortex debug to lxml

* Debug: update PyCortexMDebug readme

* fbt: moved "debug" dir to "scripts" subfolder

* ufbt: added missing debug_other & debug_other_blackmagic targets; github: fixed script bundling

* lint: fixed formatting on debug scripts

* vscode: updated configuration for debug dir changes

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2023-05-09 03:31:44 +04:00
hedger
241b4ef6e4
[FL-3299] furi_crash: added C2 status; added fw-version gdb command (#2638)
* furi_crash: added C2 status
* debug: Added "fw-version" gdb command; vscode: updated configuration to use new command
* debug: added fw-info command to debug_other session
* Toolbox: versioned structure for Version
* debug: fw-version: no longer needs an ELF file loaded
* debug: flipperversion: removed unused variable
* debug_other: print running fw version

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-09 07:31:39 +09:00
hedger
268b88be0d
[FL-3285] Removed STM32CubeWB module (#2608)
* libs: removed STM32CubeWB module; split cube into 3 submodules
* fixed f18 version
* fbt: options: fixed expected stack version
* pvs: updated for new paths
* fbt: ep: multithreaded submodule update
* libs: stm32cubewb: fixed duplicate include path; renamed to stm32wb; codeowners: updated paths; docs: updated paths
* pvs: updated paths
* libs: added cmsis_core from ARM sources, v.5.4.0, from https://github.com/ARM-software/CMSIS_5/tree/develop/CMSIS/Core/Include
* Updated stm32wb_copro structure
* PVS: exclude cmsis core from analysis

---------

Co-authored-by: あく <alleteam@gmail.com>
2023-05-09 06:30:33 +09:00
hedger
538f96f0ac
[FL-3300] API version in UI (#2649)
* desktop, about: replaced commit# with API version
* scripts: storage: added approx speed for file uploads
* scripts: selfupdate: use folder name by default
* vscode: fixed broken get_blackmagic shell integration on *nix

Co-authored-by: あく <alleteam@gmail.com>
2023-05-08 20:11:23 +09:00
hedger
f7dd77795a
ufbt: deploying sample ufbt automation for new apps; added source "ufbt -s env" for toolchain access (#2648) 2023-05-08 20:01:52 +09:00
Perry Fraser
954780ed24
Fix storage.py exist_dir logic (#2639)
* Fix storage.py exist_dir logic. This method would return true if the given path existed as either a directory or
a file, which is what the plain exist method is for.
2023-05-07 22:40:38 +04:00
あく
914129a0d9
[FL-3289] Various Furi/FuriHal bug fixes and improvements (#2637)
* Furi: properly handle thread free before TCB scrapping, add furi_free - more invasive version of free to memmgr. FuriHal: add DWT comparator api to cortex. Updater, RPC: refactor various thread shanenigans. Code cleanup.
* Rollback free macros and related changes
2023-05-05 21:40:55 +09:00
Sergey Gavrilov
a7d1ec03e8
[FL-3270] Loader refactoring, part 1 (#2593)
* Loader: menu part
* Settings: remove unused loader api
* Desktop: get loader from record_open
* CLI: remove unneeded loader api
* gitignore: ignore .old files
* Loader: now really a service
* Loader: working service prototype
* Loader: cli, system start hooks
* CI/CD: make happy
* Loader: autorun
* Loader: lock and unlock
* Loader: rearrange code
* Gui, module menu: fix memleak
* Updater test: add timeout
* added update timeouts and max run duration
* Github: revert updater test workflow changes
* Loader: less missleading message in info cli command

Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-04 12:48:13 +09:00
Skorpionm
d2ca67d261
[FL-3242] SubGhz: refactoring app (#2554)
* SubGhz: add SubGhzThresholdRssi
* SubGhz: remove direct reading of subghz-txrx-txrx_state
* SubGhz: remove direct reading subghz->txrx->hopper_state
* SubGhz: remove direct reading subghz->lock
* SubGhz: check load type file
* SubGhz: remove direct reading subghz->txrx->rx_key_state
* SubGhz: remove direct reading subghz->txrx->speaker_state
* SubGhz: refactoring subghz_scene_set_type.c
* SubGhz: moving "txrx" entity to a separate file
* SubGhz: show error tx start
* SubGhz: refactoring RPC
* SubGhz: value get optimizations
* SubGhz: fix name file
* SubGhz: add function description
* SubGhz: fix double back with a blocked transmission in this region and speacker, when a transmission is blocked in this region
* SubGhz: correct spelling
* SubGhz: better naming
* SubGhz: simplify includes

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-05-04 12:04:26 +09:00
Raymond Lucke
71e85ac367
Add HID mouse auto-clicker. (#2627)
* Add HID mouse auto-clicker.

* Add click rate adjustment to HID auto-clicker.

* Fix formatting.

* HidRemote: modify jiggler/clicker event filter and allow repeat to change click rate

---------

Co-authored-by: あく <alleteam@gmail.com>
2023-05-03 15:38:09 +09:00
hedger
c3ececcf96
[FL-3174] Dolphin builder in ufbt; minor ufbt/fbt improvements (#2601)
* ufbt: added "dolphin_ext" target (expects "external" subfolder in cwd with dolphin assets); cleaned up unused code
* ufbt: codestyle fixes
* scripts: fixed style according to ruff linter
* scripts: additional cleanup & codestyle fixes
* github: pass target hw code when installing local SDK with ufbt
* ufbt: added error message for missing folder in dolphin builder
* scripts: more linter fixes
* sdk: added flipper_format_stream; ufbt: support for --extra-define
* fbt: reduced amount of global defines
* scripts, fbt: rearranged imports

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-03 14:48:49 +09:00
Nikolay Minaylov
015ab4a024
[#2591] BadUSB: command parser fix (#2607)
Co-authored-by: あく <alleteam@gmail.com>
2023-05-03 13:39:14 +09:00
Skorpionm
59386f9fa9
WS: add protocol "Wendox W6726" (#2604)
* WS: add protocol  "Wendox"
* WS: add bat status
* WS: add CRC, refactoring
* WS: description added
* WS: fix name file
* WeatherStation: cleanup alien symbols

Co-authored-by: あく <alleteam@gmail.com>
2023-05-03 13:15:47 +09:00
Eric Betts
dfbacd1a47
[#2612] Remove spaces in CSN(#2616)
Co-authored-by: あく <alleteam@gmail.com>
2023-05-03 13:05:24 +09:00
hedger
c5b460b416
[FL-3260] Added API version to device info (#2611)
* hal: device_info: added API version to "firmware.api.major" & "firmware.api.minor"
* FuriHal: bump device info version

Co-authored-by: あく <alleteam@gmail.com>
2023-05-03 12:58:59 +09:00
Lewis Westbury
5c09bc5b2d
Gui: relax some asserts in view (#2623)
* Remove assertion preventing replacement of view input callback
* Gui: relax some asserts in view

Co-authored-by: あく <alleteam@gmail.com>
2023-05-03 12:33:30 +09:00
あく
23c946ef50
Move gauge calibration to separate header, add f18 calibration (#2622) 2023-05-03 06:08:41 +04:00
Georgii Surkov
238005890e
[FL-3294] Fix TERMINFO on Linux systems (#2630)
* Fix TERMINFO on Linux systems
* Set TERMINFO_DIRS only on Linux
* Unset TERMINFO_DIRS if it was not set before
2023-05-03 00:56:25 +03:00
Max Andreev
e42aec68c5
Disable ci/cd on release* branches (#2624) 2023-04-28 23:25:20 +09:00
あく
408edb3e99
Keep HSI16 working in stop mode. (#2621) 2023-04-27 23:01:13 +09:00
あく
0ec8fc4c55
FuriHal: use proper divider for core2 when transition to sleep, remove extra stop mode transition checks, cleanup code. Furi: proper assert and check messages. (#2615) 2023-04-26 00:11:42 +04:00
hedger
d70ba2b740
[FL-3286] Don't reboot on crash in debug builds (#2613)
* furi: never reboot on furi_crash in debug builds
* furi: crash info: added registers
* furi: check and assert optimization, split registers and stack info dump
* furi: macro uppercase

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2023-04-26 01:33:13 +09:00
hedger
1ef70c0bb4
[FL-3280] cubewb: downgraded to v1.15.0 (#2605)
* cubewb: downgraded to v1.15.0
* hal: updated f18 symbols to match LL
* hal: flash: use furi_hal_cortex_timer for timeouts
* scripts: fixed cube version validation from config file
* hal: flash: added 3 seconds timeout when waiting for C2 to unlock flash controller. On timeout, triggers furi_check
* nfc: fixed missing interrupt setup on multiple platformSetIrqCallback() invocations
* hal: gpio: don't trigger furi_check on furi_hal_gpio_add_int_callback() with same parameters
* Reverted NFC fixes - will be in a separate PR
* scripts: storage: fixed exception handler for paths
2023-04-24 16:19:36 +09:00
hedger
4d015a1106
[FL-3271] cubewb: updated to v1.16.0 (#2595)
* cubewb: updated project to v1.16.0
* hal: updated api_symbols for f18
* FuriHal: add missing enterprise sleep and insomnia
* FuriHal: slightly more paranoic sleep mode

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-20 21:57:51 +09:00
hedger
3932503660
[FL-3243] github: testing SDK with ufbt action (#2581)
* github: testing SDK with ufbt action
* github: also build apps with ufbt
* github: fixed dir lookup for ufbt
* ufbt: checks for compatibility on app discovery
* github: Conditional app skip for ufbt
* github: fixed app build flow with ufbt
* extra debug
* github: lint: message capture
* github: testing different output capture method for linters
* shorter version of status check
* github: updated comment actions to suppress warnings
* Reverted formatting changes

Co-authored-by: あく <alleteam@gmail.com>
2023-04-19 20:08:13 +09:00
Astra
e0fa2e7b12
[FL-3089] Raw RFID documentation (#2592)
Co-authored-by: あく <alleteam@gmail.com>
2023-04-19 18:47:01 +09:00
Astra
74fe003f8b
[FL-3171] Introduce stealth mode and auto-selective lock (#2576)
* Introduce stealth mode and auto-selective lock
* Stealth mode status bar icon
* Review fixes
* Fix icon disappearing after reboot
* Support overriding stealth mode
* FuriHal: correct reserved space size in RTC SystemReg

Co-authored-by: あく <alleteam@gmail.com>
2023-04-19 18:33:23 +09:00
Astra
2c7eb53cac
[FL-2505] Active RPC session icon (#2583)
* Active RPC session icon
* Add RpcOwner, don't show the RPC icon when the session was started from BLE
* Fix rpc_test and f18 api
* Bump API version

Co-authored-by: あく <alleteam@gmail.com>
2023-04-19 17:30:26 +09:00
あく
f68c3b2a65
[FL-3264] Various stop mode fixes (#2584)
* BleGlue: log hci_cmd_resp invocation
* BleGlue: increase BleHciDriver stack size
* ble hid app: increase stack
* ble: comment unnecessary hci reset
* BleGlue: stricter checks in communication with core2, cleanup code
* Furi: enter insomnia when executing from RAM
---------
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2023-04-18 21:38:35 +10:00
Eric Betts
de02a0a25a
[#2589] Correctly aborts when correct key is found (#2590) 2023-04-17 14:36:15 +09:00
Georgii Surkov
37fb330b36
[FL-3226] Deep Sleep Idle (#2569)
* Improve RNG error handling
* Sync RTC shadow registers on Stop mode exit
* Implement working STOP2 mode
* Fix formatting
* FuriHal: disable SWD pins if debug is disabled
* Power: cleanup battery info view, handle zero current report from gauge
* Fbt: add command line argument for extra global defines
* FuriHal: cleanup debug defines in power and os, drop deep_insomnia counter.
* Add a setting to disable deep sleep
* Clean up furi_hal_power
* FuriHal,FapLoader,Debug: implement debug in stop mode, workaround resume in stop
* FuriHal: document OS and power subsystems debugging
* Furi: enable debug interface on crash

---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-14 00:47:38 +10:00
あく
5d7bdca835
FuriHal: pwr pulls for some pins (#2579) 2023-04-12 21:45:13 +10:00
Skorpionm
33e8bae78b
Bugfix: ISP Programmer and SubGhz (#2574)
* AVR_ISP: fix NULL pointer dereference
* SubGhz: double back with a blocked transmission in this region
* SubGhz: fix speaker, when a transmission is blocked in this region
* SubGhz: fix speaker
* SubGhz: return region
* AVR Flasher: cleanup code

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-12 15:07:05 +09:00
gornekich
7ac7b70884
[FL-3241] NFC disable EMV support (#2571)
* nfc: remove read emv from extra actions
* nfc: remove read emv

Co-authored-by: あく <alleteam@gmail.com>
2023-04-10 23:51:55 +08:00
hedger
b9ccb274a7
ufbt: project & debugging updates (#2572)
* ufbt: removed warning in "channel=dev" update mode
* ufbt: removed API version warning; added get_blackmagic & get_apiversion targets
* ufbt: updater project template to include blackmagic & jlink targets
* ufbt: project template: fixes & updates
* ufbt: project template: added config update shortcut
* sdk: using fixed names for file components
2023-04-11 00:46:22 +10:00
Skorpionm
6cc5f30c84
Fix gpio state isp programmer (#2567)
* ISP: fix state gpio ISP Programmer
* WS: delete string debug

Co-authored-by: あく <alleteam@gmail.com>
2023-04-07 11:02:29 +08:00
hedger
89161a7a1e
scripts: sconsdist: added stub file artifact for older ufbt (#2568)
* scripts: sconsdist: added stub file artifact for older ufbt
* scripts: sconsdist: not creating dummy SDK archive
2023-04-07 05:37:12 +10:00
あく
0d8518d31d
[FL-3232] FuriHal: fix gpio naming and add explicit pulls for vibro, speaker and ir_tx (#2565)
* FuriHal: fix gpio naming and add explicit pulls for vibro, speaker and ir_tx
* Github: workflow event debug print
* Github: proper PR head commit SHA extraction in get_env.py
2023-04-06 19:06:19 +10:00
Skorpionm
d1ad924216
[AVR_ISP]: add AVR ISP Programmer FAP (#2475)
* [AVR_ISP]: add AVR ISP Programmer FAP
* [AVR_ISP]: add auto detect AVR chip
* [AVR_ISP]: fix auto detect chip
* [AVR_ISP]: fix fast write flash
* AVR_ISP: auto set SPI speed
* AVR_ISP: add clock 4Mhz on &gpio_ext_pa4
* AVR_ISP: fix "[CRASH][ISR 4] NULL pointer dereference" with no AVR chip connected
* AVR_ISP: add AVR ISP Reader
* AVR_ISP: add read and check I32HEX file
* AVR_ISP: add write eerom, flash, fuse, lock byte
* AVR_ISP: add gui Reader, Writer
* Github: unshallow on decontamination
* AVR_ISP: move to external
* API: fix api_symbols
* AVR_ISP: add wiring scene
* GUI: model mutex FuriMutexTypeNormal -> FuriMutexTypeRecursive
* AVR_ISP: add chip_detect view
* AVR_ISP: refactoring gui ISP Programmer
* AVR_ISP: add gui "Dump AVR"
* AVR_ISP: add gui "Flash AVR"
* AVR_ISP: fix navigation gui
* GUI: model mutex FuriMutexTypeRecursive -> FuriMutexTypeNormal
* AVR_ISP: fix conflicts
* AVR_ISP: fix build
* AVR_ISP: delete images
* AVR_ISP: add images
* AVR_ISP: fix gui
* AVR_ISP: fix stuck in navigation
* AVR_ISP:  changing the Fuse bit recording logic
* AVR_ISP: fix read/write chips with memory greater than 64Kb
* AVR_ISP: fix auto set speed SPI
* AVR_ISP: fix gui
* ISP: switching on +5 volts to an external GPIO

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-06 12:13:30 +08:00
Astra
b4ceb55fd2
[FL-2524] Graphics cleanup and icon rotation (#2561)
* Canvas with rotation
* Full icon rotation, cleanup of unused resources
* F18 API update
* Bitmap draw cleanup
* More cleaning up
* Migrate recovery and DFU to canvas
* Make the internal draw function static
* Remove all calls to u8g2_DrawXBM

Co-authored-by: あく <alleteam@gmail.com>
2023-04-06 11:36:12 +08:00
hedger
a91d319839
[FL-3162] Moved ufbt to fbt codebase (#2520)
* scripts: moved ufbt code
* ufbt: fixed tool path
* ufbt: fixed linter/formatter target descriptions
* scripts: ufbt: cleanup
* fbt: moved fap launch target to tools; ufbt fixes
* fbt: fixed missing headers from SDK
* ufbt: removed debug output
* ufbt: moved project template to main codebase
* ufbt: fixed vscode_dist
* ufbt: path naming changes
* fbt: error message for older ufbt versions
* ufbt: docs fixes
* ufbt: fixed build dir location
* fbt: fixes for extapps objcopy
* fbt: extapps: removed extra debug output; fixed formatting
* ufbt: handle launch target for multiple known apps
* ufbt: dropping wrapper; linter fixes
* ufbt: fixed boostrap path
* ufbt: renamed entrypoint
* ufbt: updated vscode config
* ufbt: moved sconsign db location
* ufbt: fixed sconsign path
* fbt: SDK builders rework
* fbt: reworked sdk packaging
* ufbt: additional checks and state processing
* ufbt: fixed sdk state file location
* dist: not packaging pycache
* dump commit json content
* Github: more workflow debug prints
* Github: fix incorrect commit meta extraction in get_env.py
* ufbt, fbt: changed SConsEnvironmentError->StopError
* fbtenv: no longer needs SCRIPT_PATH pre-set
* ufbt: fixed sdk state check
* scripts: exception fixes for storage.py
* scripts: fbtenv: added FBT_TOOLCHAIN_PATH for on Windows for compat
* ufbt: app template: creating .gitkeep for images folder
* ufbt: app template: fixed .gitkeep creation
* docs: formatting fixes for AppManifests; added link to ufbt
* fbt: added link to PyPI for old ufbt versions
* sdk: fixed dir component paths

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-06 10:44:37 +08:00
Sergey Gavrilov
8a021ae48c
[FL-3224] SD Driver: do not cache sd status. (#2560)
* SD Driver: do not cache sd status.
* SD Driver: fix status getter

---------

Co-authored-by: あく <alleteam@gmail.com>
2023-04-06 10:26:33 +08:00
あく
2a26680acb
Furi: more gpio checks in HAL (#2549)
* Furi: more gpio checks in HAL
* Nfc: do not spawn service thread if it is already spawned

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
2023-04-06 10:19:39 +08:00
Anton Chistyakov
4c488bd970
Fixing parsing troika number (#2536)
Co-authored-by: あく <alleteam@gmail.com>
2023-04-05 12:16:20 +08:00
Skorpionm
494002505e
WS: fix protocol TX141TH-BV2 (#2559)
Co-authored-by: あく <alleteam@gmail.com>
2023-04-04 12:37:54 +08:00
Leo Smith
efc52ab469
BdUSBadded WAIT_FOR_BUTTON_PRESS functionality (#2544)
Co-authored-by: p4p1 <p4p1@vivaldi.net>
Co-authored-by: あく <alleteam@gmail.com>
2023-04-04 11:40:19 +08:00
Eric Betts
f98ac4c48a
Add more detail to saved info screen (#2548)
* Add more detail to saved info screen
* PR feedback
* Format sources and add pvs temp files to gitignore

Co-authored-by: あく <alleteam@gmail.com>
2023-04-04 11:21:43 +08:00
hedger
f192ccce2c
FatFS: use rtc for timestamping (#2555)
* fatfs: use rtc
* fatfs: removed duplicate get_fattime declaration
* pvs: fixed warnings for fatfs timestamp
* fatfs: fixed seconds packing
* FuriHal: critical section around RTC datetime access
* FatFS: remove unused configration defines, update documentation
* FuriHal: checks instead of assets in RTC

---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-01 23:50:30 +10:00
Sergey Gavrilov
ae3a3d6336
RPC: increase max message size (#2543)
* RPC: increase max message size
* RPC: do not use magic numbers
2023-03-31 16:15:15 +09:00
Eric Betts
0161d49d80
Elite progress (#2481)
* WIP: builds
* can read standard
* Test standard picopass dictiony during attack
* correctly save diversified key
* read card on success
* more logs
* update file location
* Call setup methods
* backbutton and attempt at skip
* fixed skip
* remove found key state
* rename dictionary attack
* move notification
* center button back to start menu
* wait for card
* Picopass: proper integer formatting
* Picopass: even more proper integer formatting
* remove nextState

Co-authored-by: あく <alleteam@gmail.com>
2023-03-28 17:21:14 +09:00