Commit graph

399 commits

Author SHA1 Message Date
あく
6d9de25494
Furi,FuriHal: various improvements (#2819)
* Lib: adjust default contrast for ERC displays

* Furi: various improvements in check module

* Format Sources

* FurHal: ble early hardfault detection

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-06-30 13:52:43 +04:00
MX
b0988e4d86
Merge branch 'ofw-dev' into dev 2023-06-29 04:22:51 +03:00
MMX
ee96e34767
Fix furi_hal_bus related crashes in plugins (#2799)
* Fix furi_hal_bus issues in plugins
* Rework pwm is running check
* ApiSymbols: update and sync targets

Co-authored-by: あく <alleteam@gmail.com>
2023-06-28 18:25:07 +09:00
Skorpionm
e52fdcf109
[FL-3388] NFC/RFID detector (#2795)
* Field_Validation: add driver fild_validation_rfid
* Field_Validation: add fild_validation_nfc
* Field_Presence: added field validation functions to furi_hal_nfc
* Field_Presence: added field validation functions to furi_hal_rfid
* Field_Presence: add "NFC/RFID detector" app
* Field_Presence: fix GUI "NFC/RFID detector"
* NFC/RFID detector: add auto turn on backlight when field is detected
* NFC/RFID detector: fix syntax errors
* ApiSymbols: fix incorrect name
* FuriHal: filed detect naming
* FieldDetector: fix grammar

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-06-28 18:05:48 +09:00
MX
ae47b9888f
Rework pwm is running check 2023-06-24 20:23:46 +03:00
gid9798
f9472effe3 Now really block transmission at dangerous freq 2023-06-20 11:02:14 +03:00
gid9798
5eb677aa55 prt2 2023-06-18 20:25:40 +03:00
gid9798
3000b8fd0d prt1 2023-06-18 20:25:16 +03:00
MX
2ba1f80f7b
Merge branch 'ofw-dev' into dev 2023-06-14 18:00:43 +03:00
Leopold
b6dbf25f85
furi_hal_nfc: fix rfalTransceiveBitsBlockingTx's 4th argument to bits count rather than bytes count (#2773) 2023-06-14 19:49:26 +09:00
MX
8bb3092002
Revert BLE gatt characteristics refactoring temporarily 2023-06-14 03:19:18 +03:00
MX
f22624399c
remove unneeded global var 2023-06-14 01:07:07 +03:00
MX
cd9874970a
Merge branch 'ofw-dev' into dev 2023-06-13 23:28:59 +03:00
あく
392bd3cde0
FuriHal: remove clock startup time tracking from clean builds (#2764) 2023-06-13 16:02:12 +04:00
MX
e9fc5f62a5
Merge branch 'ofw-dev' into dev 2023-06-09 14:13:11 +03:00
Sergey Gavrilov
62939dd28b
Core2, SRAM2: provide safety gap (#2754)
* Core2, SRAM2: use ob, provide safety gap
* thread: comment about critical section and scheduler state
2023-06-09 19:49:26 +09:00
MX
af4a48a4bc
Merge branch 'ofw-dev' into dev 2023-06-09 02:41:29 +03:00
あく
bff5921266
FuriHal: always clock SMPS from HSI (#2643)
* FuriHal: always clock SMPS from HSI

* FuriHal: add clock startup time check, ensure that we conform to core2 config value

* FuriHal: set sleep mode to legacy if clock startup time is too high

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-06-08 17:05:35 +04:00
MX
18220515b5
Merge branch 'ofw-dev' into dev 2023-06-08 14:58:46 +03:00
hedger
e3e64e5e83
[FL-3267] ble: refactored bt gatt characteristics setup (#2587)
* ble: refactored bt gatt characteristics setup
* ble: naming fixes, small optimizations
* ble: expanded bitfields; fixed pvs warnings
* ble: fixed pvs warnings for real
* ble: using FlipperGattCharacteristicDataPropsFixed for char[] props
* ble: removed flipper_gatt_characteristic_props_const_char
* ble: gatt: naming changes
* ble: gatt: fixed device_info service constant attrs sizes
* ble: gatt: copy descriptors to char instances; reworked hid chars to be callback-based; moved max size getter to callback with NULL data; added comments
* ble: gatt: removed hid_svc_report_data_callback
* ble: hid svc: better double loop idx naming
* ble: hid svc: simplified hid_svc_update_info
* ble: gatt: removed magic values; fixed type for HidSvcGattCharacteristicInfo
* ble: gatt: moved long uuids to separate files

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-06-08 18:42:02 +09:00
MX
0d394a6f87
Merge branch 'ofw-dev' into dev 2023-06-07 00:29:06 +03:00
あく
b0555d96e9
[FL-3213] f7: add PB9 to debug pins (#2738)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-06-06 21:52:49 +04:00
あく
1e512b6add
[FL-3293] FuriHal: add system setting to device info, bump device info version (#2736) 2023-06-06 21:15:50 +04:00
ClaraCrazy
6d433edc38 Add furi_hal_version_uid_default (Fix TOTP) 2023-06-04 10:48:46 +02:00
MX
67e661ec95
Merge branch 'ofw-dev' into dev 2023-06-03 00:11:39 +03:00
あく
d9a9fa0c10
FuriHal: disable bus re-initialization on early init and extra asserts for AHB1,AHB2,AHB3 which must be left intact on entering to FUS (#2725) 2023-06-03 00:59:19 +04:00
MX
e474b851bf
fix for new bus changes 2023-05-29 21:29:13 +03:00
MX
467f3265e0
bus changes 2023-05-29 21:01:00 +03:00
MX
0ab530e750
Merge branch 'ofw-dev' into dev 2023-05-29 20:33:12 +03:00
hedger
8d2ea14f06
[FL-3330] fbt: added hooks for build & dist environments; added FW_ORIGIN_* macro for apps & SDK (#2705)
* fbt: added hooks for build & dist environments
* Moved env hooks to an optional file
* Fixed var name
* Added fw origin to device info
* Bumped device info version
* fbt: added FIRMWARE_ORIGIN option. Different implementation for FW_ORIGIN_* C macro.
* api: bumped versions
* fbt: added fbt_options_local.py
* gitignore: cleanup

Co-authored-by: あく <alleteam@gmail.com>
2023-05-30 01:40:56 +09:00
あく
3de856f8d5
[FL-3295] FuriHal: add bus abstraction (#2614)
* FuriHal: add bus abstraction and port some subsystem to it
* Make PVS happy, cleanup code
* Update API symbols for f18
* F18: backport bus changes from f7
* Revert to STOP2 sleep mode
* Fix downgrading the firmware via updater
* Port iButton TIM1 to furi_hal_bus
* Port Infrared TIM1 and TIM2 to furi_hal_bus
* Just enable the timer bus
* Port furi_hal_pwm to bus API
* Fix include statement
* Port furi_hal_rfid to bus API
* Port furi_hal_subghz and others to bus API
* Remove unneeded include
* Improve furi_hal_infrared defines
* Reset LPTIM1 via furi_hal_bus API
* Crash when trying to enable an already enabled peripheral
* Better defines
* Improved checks
* Lots of macro wrappers
* Copy spi changes for f18
* Fix crashes in LFRFID system
* Fix crashes in NFC system
* Improve comments
* Create FuriHalBus.md
* Update FuriHalBus.md
* Fix crash when launching updater
* Documentation: couple small fixes in FuriHalBus
* FuriHal: fix copypaste in furi_hal_rfid_tim_reset
* FuriHal: reset radio core related peripherals on restart
* FuriHalBus: is enabled routine and bug fix for uart
* RFID HAL: accomodate furi hal bus

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
Co-authored-by: SG <who.just.the.doctor@gmail.com>
2023-05-30 01:05:57 +09:00
micolous
363f555ed7
Implement support for reading Opal card (Sydney, Australia) (#2683)
* Implement support for reading Opal card (Sydney, Australia)
* stub_parser_verify_read: used UNUSED macro
* furi_hal_rtc: expose calendaring as functions
* opal: use bit-packed struct to parse, rather than manually shifting about
* Update f18 api symbols

Co-authored-by: あく <alleteam@gmail.com>
2023-05-29 20:55:55 +09:00
MX
36102b8ee0
Merge branch 'ofw-dev' into dev 2023-05-26 12:03:49 +03:00
Nikolay Minaylov
12dc5b186f
USB HID report timeout (#2682)
Co-authored-by: あく <alleteam@gmail.com>
2023-05-25 23:50:13 +09:00
Georgii Surkov
ed1ebf9b93
[FL-3322] Infrared: respect carrier frequency and duty cycle settings (#2677)
* Make infrared_worker respect carrier frequency and duty cycle
* Update comments

Co-authored-by: あく <alleteam@gmail.com>
2023-05-25 23:38:56 +09:00
nminaylov
8ee959e1af
USB HID report timeout 2023-05-20 10:22:11 +03:00
gid9798
64817ac216 Move dangerous_settings check 2023-05-18 10:59:08 +03:00
MX
c2713eff87
New way of changing device name
Settings scene, char Validator, Idea -> by Willy-JL
Implemented by me

Kod plohoi, ochen plohoi, kto mozhet - sdelaite kak nado, esli smozhete :)
Ya luche varianta ne pridumal poka 4to
2023-05-14 05:38:00 +03:00
MX
849f14e480
Bad BT plugin, Submenu locked elements, API updates, etc.
Thanks to WillyJL, ClaraCrazy, and XFW contributors
2023-05-13 00:14:22 +03:00
MX
054245c980
Remove unneeded include 2023-05-11 02:32:53 +03:00
MX
face4bd3c7
Merge branch 'fz-dev' into dev 2023-05-09 18:28:46 +03: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
MX
6b186622cb
Merge branch 'fz-dev' into dev 2023-05-05 16:10:00 +03: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
MX
cae4790ef2
Merge branch 'fz-dev' into dev 2023-05-03 17:15:59 +03: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
あく
23c946ef50
Move gauge calibration to separate header, add f18 calibration (#2622) 2023-05-03 06:08:41 +04:00
MX
de3ad734f9
Merge branch 'fz-dev' into dev 2023-04-27 17:10:34 +03:00
あく
408edb3e99
Keep HSI16 working in stop mode. (#2621) 2023-04-27 23:01:13 +09:00
MX
6c0c0bd0be
Merge branch 'fz-dev' into dev 2023-04-25 23:30:44 +03: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
MX
ab669b26da
Fix very old and funny subghz bugs
Fixed Frequency Ananyzer issues
Fixed read mode issues
Fixed re-inits in HAL
2023-04-25 01:42:20 +03: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
MX
8cb3b67295
Fix external radio SPI handlers 2023-04-24 01:56:43 +03:00
MX
5d98d2703b
Fix external subghz module 2023-04-23 02:21:10 +03:00
MX
ba0efda2aa
hal: gpio: don't trigger furi_check on furi_hal_gpio_add_int_callback() with same parameters 2023-04-23 01:57:07 +03:00
MX
05fab99f42
Merge remote-tracking branch 'flipperdevices/hedgetr/stack15' into dev 2023-04-23 00:46:39 +03:00
hedger
ffae861bc2
hal: flash: added 3 seconds timeout when waiting for C2 to unlock flash controller. On timeout, triggers furi_check 2023-04-23 00:48:47 +04:00
hedger
d537e21c65
hal: flash: use furi_hal_cortex_timer for timeouts 2023-04-22 20:56:43 +03:00
hedger
b0fa913fa2
hal: flash: use furi_hal_cortex_timer for timeouts 2023-04-22 21:49:00 +04:00
MX
1bb3ab8715
New option to save signal names with timestamps 2023-04-21 06:46:10 +03:00
MX
57d9cdb3c4
Merge branch 'fz-dev' into dev 2023-04-20 16:08:09 +03: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
MX
a304e9c3fa
Revert "Revert Deep Sleep due to BLE issues and other random freezes"
This reverts commit addf909287.
2023-04-18 14:35:32 +03:00
MX
addf909287
Revert Deep Sleep due to BLE issues and other random freezes
Waiting for proper fix
2023-04-14 14:45:35 +03:00
MX
6b70e37ae3
Merge branch 'fz-dev' into dev 2023-04-13 20:25:26 +03: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
MX
0a844e0b62
Merge branch 'fz-dev' into dev 2023-04-12 14:51:58 +03:00
あく
5d7bdca835
FuriHal: pwr pulls for some pins (#2579) 2023-04-12 21:45:13 +10:00
MX
114e8d5b6a
Merge branch 'fz-dev' into dev 2023-04-10 18:41:22 +03:00
MX
a116dbc358
Revert checks temporarily 2023-04-06 23:25:30 +03: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
MX
aac7654ca3
Merge branch 'fz-dev' into dev 2023-04-06 07:14:48 +03: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
MX
d4a20bc37a
Merge branch 'fz-dev' into dev 2023-04-01 17:41:05 +03: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
MX
ae3481ef6c
Merge branch 'fz-dev' into dev 2023-03-28 22:44:35 +03:00
Sergey Gavrilov
8b2dfea925
Improved thread lifecycle (#2534)
* Core, Thread: mark thread to join from prvDeleteTCB
* USB HAL: move vars to MEM2
* Core, Thread: cleanup sources
* Cli: add magic delays on rx pipe error, prevent cli from consuming processor time
* Furi: update thread documentation

Co-authored-by: あく <alleteam@gmail.com>
2023-03-28 16:34:49 +09:00
MX
001e00d84a
fbt format, aprimatic fixes 2023-03-26 14:59:21 +03:00
MX
795c8eeef7
Merge branch 'fz-dev' into dev 2023-03-22 21:13:39 +03:00
あく
7bf0a4786c
[FL-3152] Screen streaming improvements (#2498)
* Rpc: reserve some bandwidth when screen streaming
* Move furi_hal_compress to toolbox/comporess
* Lib: heatshrink as external submodule, compile warnings fixes, better buffer management
* Lib: cleanup compressor definitions
* Rpc: add canvas orientation support
* Format Sources
2023-03-23 03:00:48 +10:00
MX
a81b794475
Merge branch 'fz-dev' into dev 2023-03-22 18:36:59 +03:00
Nikolay Minaylov
1f236ede0e
[#2501] Disable UART IRQs by default (#2523)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-22 23:41:14 +09:00
MX
0d03039c19
Merge branch 'fz-dev' into dev 2023-03-21 18:05:13 +03:00
Sam Edwards
6089e9210f
BadUSB: implement boot protocol (#2496)
* BadUSB: remove unused out EP
* BadUSB: do not use iad for a single interface
* BadUSB: implement the boot protocol
* BadUSB: implement SET_PROTOCOL
* Improve HID report descriptor readability
* CODEOWNERS update

Co-authored-by: nminaylov <nm29719@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-03-21 23:53:07 +09:00
MX
df8a57c972
Merge branch 'fz-dev' into dev 2023-03-21 01:38:41 +03:00
Nikolay Minaylov
0444a80f19
[FL-3134] BadUSB: Script interpreter refactoring (#2485)
* Script command and character tables
* Non-blocking stringdelay, docs update
* altchar/altstring fix
* Layout select UI fix
* Remove debug print

Co-authored-by: あく <alleteam@gmail.com>
2023-03-21 02:22:03 +09:00
MX
5660111b28
Merge branch 'fz-dev' into dev 2023-03-20 20:04:22 +03:00
Sergey Gavrilov
f7024cff78
SD Driver: reinit sd card on error (#2493)
* SD Driver: reinit sd card on error
* SD Driver: cleanup fatfs bindings
* Storage: optimized glue
* Storage: move fatfs initialization to appropriate subsystems, minor code cleanup
* SD Driver: minor code cleanup

Co-authored-by: あく <alleteam@gmail.com>
2023-03-20 22:09:10 +09:00
MX
58d4f3b531
OFW PR: 2493 - SD Driver: reinit sd card on error
No issues was found during my own testing and running sd benchmarks, sorry for rushing, I may miss something, usually I prefer to wait for official review
2023-03-18 02:50:05 +03:00
MX
c560394358
External module power bug fixes 2023-03-13 18:43:50 +03:00
MX
1249ce9b94
Option to disable auto 5v power for external radio module
Now you can use 3.3v modules without wasting a battery (bonus a bit low noise on power line)
2023-03-09 04:02:31 +03:00
MX
16df48bac6
Fix external module power disable 2023-03-09 01:23:57 +03:00
MX
ab91dc1882
External module 5v power issues fixes 2023-03-08 01:09:17 +03:00
MX
6511252140
Fix external module power init 2023-03-06 14:23:59 +03:00
MX
f25af91d23
Fix issues with external module 5v power 2023-03-06 10:08:59 +03:00
MX
5b0c5a82c0
Merge branch 'fz-dev' into dev 2023-02-26 21:24:38 +03:00
Shane Synan
09edf66a2a
FuriHal, Power, UnitTests: fix, rename battery charging voltage limit API (#2228)
* FuriHal, Power, UnitTests: rename battery charge voltage limit API
* FuriHal: bump API, power info major versions
* Power: fix battery charge voltage limit for > 7.935v

Co-authored-by: あく <alleteam@gmail.com>
2023-02-27 02:23:39 +09:00
MX
b53924c27a
Infrared debug settings - output pin 2023-02-26 05:23:26 +03:00