Commit Graph

957 Commits

Author SHA1 Message Date
あく
5d08b35b54
[FL-1009, FL-1118] Better initialization sequence and V8 hardware support (#406)
* Interrupt manager: add memory barriers.
* ISRs: remove TIM17 dead code.
* API HAL Delay: rename initialization routine and move to API-HAL
* Main: move FURI initialization to the start.
* API HAL GPIO: drop CC1101 shenanigans, COMP inversion for new boards.
* IButton: migrate Cyfral and Metakom to RFID comp routine, make it compatible with new boards.
* RFID: Better keyboard handling and shutdown routines
2021-04-11 16:47:36 +03:00
gornekich
2fe44e1b11
[FL-1108] iButton fix navigation (#404)
* file_select: process zero file counter
* file_select: process file select view for less than 4 files
* ibutton: change application navigation
* ibutton: add read new key submenu
* file_select: use standart MIN() function
* sd-filesystem: remove unused min() define
2021-04-09 11:27:51 +03:00
gornekich
8ce5af1be2
[FL-1050] SD card error view (#399)
* sd-filesystem: add check error to api
* sd-filesystem: call error check from file select
* ibutton: process sd card error on key saving

Co-authored-by: rusdacent <57439765+rusdacent@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2021-04-07 10:37:10 +03:00
its your bedtime
5cd73ac97b
[FL-1110] Status bar height fix (#403)
* fix statusbar height and main screen views, added multiline text framed func
* replace char* arguments with const char*
* small prettify
* move pointer increment to end of loop
2021-04-06 20:09:15 +03:00
あく
33a461e97b
[FL-1100] Input dump: Handle all input events and dump them to console (#401) 2021-04-05 19:54:41 +03:00
あく
0c3a0a3312
[FL-1104] Fix NFC crash and missing NfcMessageTypeDeviceNotFound event (#400)
* Remove asserts from platformProtectST25RComm, fix issue with concurrent access.
* NFC Worker: fix bug in nfc_worker_poll causing worker to skip sending ofNfcMessageTypeDeviceNotFound event
* Fix python linter: stick to old beta
2021-04-04 13:45:55 +03:00
gornekich
78ff0c9fca
[FL-938] Keyboard widget changes (#398)
* inputs: add repeat event
* byte_input: change draw
* text_input, byte_input: process repeat event
2021-04-01 20:10:12 +03:00
あく
37131dbe12
[FL-1092] Make View reusable outside of dispatcher (#396)
* View: replace direct View to ViewDispatcher link with callback. ViewDispatcher: update View usage. ViewHandler: update View usage, handle update signal.
2021-04-01 15:03:02 +03:00
あく
41c3b95f6d
Backport subghz to f4 targret (#395) 2021-04-01 13:03:55 +03:00
あく
6fb6e8bd3f
Consistent furi_assert usage across project. (#392) 2021-03-31 21:05:00 +03:00
あく
81ace53cc1
Api Hal OS/Power: split insomnia and return to where it belongs. (#393) 2021-03-31 20:55:00 +03:00
あく
5439e232cc
[FL-950] CC1101 Stage1, SPI Refactoring, Drivers layer (#386)
* API HAL SPI: refactoring, split into layers, prepare ST HAL separation. API HAL SubGhz: initialize on start. Drivers: add basic cc1101 driver. Update API usage. Debug: increase max debugger port speed. Remove subghz apps.
* CC1101: chip status handling. ApiHalSpi: increase SubGhz bus speed to 8mhz. F4: backport subghz initialization.
* Api Hal SubGhz: rx path and frequency. CC1101: frequency control.
* SubGhz Application: basic tests
* SubGhz app: tone and packet test. API HAL SUBGHZ: update configs, add missing bits and pieces.
2021-03-31 20:52:26 +03:00
gornekich
5309bfae41
[FL-1061] iButton save and load from sd card (#394)
* SD App: fix queue adresses
* sd-filesystem: fix making path on file select event
* ibutton: add key reading from sd card
* ibutton: save ibutton key to sd card
* ibutton: add deleting keys from sd card
* ibutton: remove KeyStore from application
* ibutton: make directory if necessary on key save

Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2021-03-31 20:47:32 +03:00
gornekich
6375f21cf5
[FL-185] Gauge calibration (#391)
* api-hal-power: add design capacity parameter
* bq27220: fix control command and initialization
* bq27220: add cedv configuration
* power: add cedv configuration parameters
* bootloader: add only used drivers sources for build
* main: init DWT before api-hal

Co-authored-by: あく <alleteam@gmail.com>
2021-03-26 14:23:31 +03:00
あく
3252de0f3e
Fix stack overflow in sd_filesystem service (#390) 2021-03-26 11:47:34 +03:00
its your bedtime
372710c31a
[FL-1019] New main screen and graphics (#389)
* new status bar, lock menu and dolphin activities screen

* lock icon indication 

* main screen animation, basic scene switching

* level progression calculations based on icounter value 

Co-authored-by: rusdacent <rusdacentx0x08@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2021-03-25 20:48:58 +03:00
gornekich
610f4f5d73
[FL-41] api-hal doxygen documentation (#387)
* targets/api-hal: rework documentation in doxygen style
* core/api-hal: rework documentation in doxygen style
* core/furi: rework documentation in doxygen style
* drivers: rework documentation in doxygen style

Co-authored-by: あく <alleteam@gmail.com>
2021-03-24 12:35:33 +03:00
SG
cc263d743b
[FL-935] Queue-based SD app cycle. File select widget. (#388)
* SD App: more specific sd api
* Gui: view dispatcher fix api documentation
* Gui: view holder thingy
* SD App: do not sleep when working with sd card bus
* SD App: queue-based lifecycle
* Assets: sd-card assets
* SD App: init file select api

Co-authored-by: あく <alleteam@gmail.com>
2021-03-24 12:30:29 +03:00
あく
5866be8455
GUI: free ViewPort instance on ViewDispatcher free. (#384) 2021-03-24 12:01:00 +03:00
its your bedtime
b85cc7f788
[FL-904] Power info UI (#382)
* New power screen UI
* API HAL Power: add VBUS voltage to API

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-03-19 22:37:52 +03:00
あく
4ae5bd3d75
[FL-944] Preliminary BLE fix: leave PC4 unconfigured. Cleanup code. (#381)
* GPIO: disable CC1101 GD0 pin configuration. API HAL OS: enable sleep. Cleanup interrupts and gpio code.

* API HAL: disable deep sleep, add light sleep, use it instead.
2021-03-19 17:23:53 +03:00
rusdacent
799bc89870
Fix generate pic (#383)
* Add docker for genpic run

* Add docker for genpic run

* Test genpic

* Test genpic

* Restore prod CI settings

Co-authored-by: あく <alleteam@gmail.com>
2021-03-18 14:26:02 +03:00
gornekich
5eba573f43
[FL-300] Launch applications from CLI (#380)
* app_loader: release console after cli start app cmd
* furi: add thread state getter
* app_loader: check thread started before launch with cli
* app_loader: remove view port from app loader
* blink: rework blink plugin to manage view and free resources
* vibro: rework vibro plugin to manage view and free resources
* music_player: rework app to manage exit and free resources
* input_dump: rework app to manage exit and free resources
* coreglitch_demo: add app exit and free resources
* floopper-bloopper: update submodule
* app-loader: remove applications context
* rules.mk: add submodule sync
* gui-test: add exit from application
* applications: exit on back short instead of press event
2021-03-18 10:58:16 +03:00
gornekich
ca9862ef6c
Nfc: add nfc detection cli command (#379)
Co-authored-by: あく <alleteam@gmail.com>
2021-03-12 16:18:01 +03:00
SG
1daef3d025
new iButton app (#328)
* rename old ibutton app to ibutton-test

* more renames

* updated onewire library compilation condition

* add submenu_clean subroutine

* add index for submenu callback

* c++ guard for gui modules

* add released ibutton app

* fix the position of the submenu window if there are too few items

* iButton app basis

* negative icon position info

* fix submenu_clean subroutine

* add ibutton app to applications makefile

* add onewire key read routine to read mode

* rename mode to scene

* rename files and folder (mode to scene)

* rename ibutton view to view manager

* rename get_view to get_view_manager

* cpp guards

* key read, store and notify features

* syntax fix

* make iButtonScene functions pure virtual

* fix syntax

* add text store, add new scene (crc error)

* not a key scene

* syntax fix

* read success scene

* app, switching to the previous scene with the number of scenes to be skipped

* scene whith menu when key is readed

* fix font height calculation, fix offsets

* add key write scene

* view_dispatcher_remove_view subroutine

* generic pause/resume os methods

* fix furi_assert usage

* key store, worker

* fix pointer comparsion

* saved keys, saved key action scenes

* key delete/confirm delete scenes and routines

* use last input subsystem changes

* fix syntax

* fix new model usage in submenu

* fix includes

* use vibro pin

* use stored key name if valid

* emulate scene

* random name generator

* name and save readed key scenes, new icon

* fix icon position

* fix text scene exit

* fix naming, fix text placement, new info scene

* state-driven cyfral decoder

* better cyfral decoder

* better cyfral decoder

* one wire: search command set

* metakom decoder

* more key types

* add next scene to error scenes

* universal key reader

* use new key reader

* syntax fix

* warning fix

* byte input module template

* new thread and insomnia api usage

* New element: slightly rounded frame

* Use elements_slightly_rounded_frame in text input

* Gui test app: byte input usage

* Byte input module: data drawing and selection

* Byte input: comment currently unused fns

* remove volatile qualifier

* base byte input realisation

* App gui test: remove internal fns visibility

* Byne input, final version

* test install gcc-arm-none-eabi-10-2020-q4-major

* test install gcc-arm-none-eabi-10-2020-q4-major

* App iButton: byte input view managment

* App iButton: add key manually scenes

* App iButton: rename scenes, add popup timeout

* App iButton: use new scenes, new fn for rollback to specific prevous scene.

* App iButton: remove byte input view on app exit

* App iButton: edit key scene

* Module byte input: reduce swintch value to uint8_t

* Module byte input: switch from switch-case to if, unfortunately we need compile-time constants to use with switch

* Icons: new small arrows

* Module byte input: new arrangement of elements

* OneWire slave lib: fix deattach sequence

* App iButton: pulse sequencer

* App iButton: add more keys to store

* App iButton: split key worker to separate read/write/emulate entitys

* App iButton: use new read/emulate entities

* fix callback pointer saving

* App iButton: use KeyReader error enum instead of KeyWorker error list handling

* App iButton: do not use insomnia fns in pulse sequencer

* App iButton: use KeyReader error enum in read scene

* OneWire slave lib: more READ ROM command variants, call callback only if positive result

* GPIO resources: add external gpio

* App SD/NFC: removed application

* App iButton-test: update to new light api

* App iButton: update to new light-api

* Outdated apps: add api-light-usage

* Gpio: update SD card CS pin settings

* API-power: added fns to disable/enable external 3v3 dc-dc

* API-gpio: separated SD card detect routines

* Resources: removed sd cs pin

* SD card: low level init now resets card power supply

* App SD-filesystem: use new card detect fns

* SD card: fix low level init headers

* SD card: more realilable low level init, power reset, exit from command read cycle conditionally

* App SD-filesystem: led notifiers, init cycling

* SD card: backport to F4

* Api PWM: add c++ guards

* App iButton: yellow blink in emulate scene, vibro on

* App iButton: one wire keys command set

* App iButton: successful write scene

* App iButton: key writer

* App iButton: syntax fix

* App iButton: notify write success

* App iButton: fix double scene change

* SD card: handle eject in init sequence

* SD card: api to set level on detect gpio

* SPI: api to set state on bus pins

* SD card: set low state on bus pins while power reset

* File select: init

* File select: fix input consuming

* SD Card: fixed dir open api error

* SD-card: replace strncpy by strlcpy. Fix buffer overflow error.

* API HAL OS: replace CMP based ticks with ARR based one, hard reset lptimer on reconfiguration.

* GUI: More stack size for (temporary, wee need to implement sd card api in separate thread)

* GUI: File select module.

* App iButton-test: remove obsolete app

Co-authored-by: rusdacent <rusdacentx0x08@gmail.com>
Co-authored-by: coreglitch <mail@s3f.ru>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-03-12 15:45:18 +03:00
its your bedtime
fc12f91a64
[FL-378] Update usb descriptor to display unique flipper name (#373)
* update usb descriptor to display unique flipper name

* added flip_ prefix for usb descriptor, updated manufacturer string

* include name in ApiHalVersionOTP struct, update assets.py

Co-authored-by: あく <alleteam@gmail.com>
2021-03-12 12:18:13 +03:00
gornekich
f002f117fd
cli_commands: add cmd for gpio control in output mode (#378) 2021-03-11 19:09:21 +03:00
gornekich
0af6c9882e
[FL-580] Prepare BLE for certification (#376)
* api-hal-bt: separate bt init to core init and app start

* bt: add continuous TX and RX tests

* bt: finish rx test on Back button click

* api-hal-bt: check core 2 started, same f4 and f5 implementation

* bt: refactoring, move hopping test logic to main thread

Co-authored-by: あく <alleteam@gmail.com>
2021-03-11 12:31:07 +03:00
あく
b920248693
API HAL OS: replace CMP based ticks with ARR based one, hard reset lptimer on reconfiguration. (#377) 2021-03-11 09:47:07 +03:00
あく
2f14f6dac5
API HAL I2C: add timeout support. Update I2C API usage by drivers. (#374)
* API HAL I2C: add timeout support. Update I2C API usage by drivers.
* F4: Add missing API HAL Vibro implementation.
2021-03-10 16:23:54 +03:00
its your bedtime
468ee09785
[FL-931] keypad test app, canvas draw circle/disc functions (#364)
* new keypad test app, added canvas circle/disc fn
* resources cleanup on exit
* fix - release mutex

Co-authored-by: coreglitch <mail@s3f.ru>
2021-03-10 15:38:01 +03:00
coreglitch
78e1b79139
change codeowner (#375) 2021-03-10 12:33:22 +03:00
SG
fef16a8e7a
SD card v7 BSP (#361)
* Outdated apps: add api-light-usage

* Gpio: update SD card CS pin settings

* API-power: added fns to disable/enable external 3v3 dc-dc

* API-gpio: separated SD card detect routines

* Resources: removed sd cs pin

* SD card: low level init now resets card power supply

* App SD-filesystem: use new card detect fns

* SD card: fix low level init headers

* SD card: more realilable low level init, power reset, exit from command read cycle conditionally

* App SD-filesystem: led notifiers, init cycling

* SD card: backport to F4

* SD card: handle eject in init sequence

* SD card: api to set level on detect gpio

* SPI: api to set state on bus pins

* SD card: set low state on bus pins while power reset

Co-authored-by: coreglitch <mail@s3f.ru>
2021-03-09 14:53:33 +03:00
rusdacent
3f10ce47f0
add option -j for make (#372) 2021-03-08 20:29:44 +03:00
SG
a3b7940baf
Udpate gui_test and app_subghz stack size (#368) 2021-03-08 20:00:56 +03:00
あく
9df4d8e2ed
[FL-635] Enable LSE CSS (#371)
* LSE CSS: explicitly configure and start LSE + LSI1 and enable LSECSS at boot, enable LSECSS interrupt in firmware.
* F4: backport LSE CSS shenanigans.
* Split LSE/HSE CSS handling routines, add TODO for missing notification.
2021-03-08 18:55:51 +03:00
gornekich
73e5379520
[FL-936] CLI commands for vibro, led and display backlight support (#367)
* api-hal: add api-hal-vibro
* cli: add vibro cli command
* cli: add cli commands for led and disp backlight
2021-03-08 18:48:14 +03:00
SG
651c5b35ca
[FL-960] View dispatcher: lock gui when the view tree changes (#369)
* View dispatcher: lock gui when the view tree changes

* View dispatcher: include gui interface

* View dispatcher: lock gui also when view added (view_dispatcher_add_view fn)
2021-03-05 16:13:00 +03:00
SG
7afdd14a4c
Subghz app example (#365)
* Gui: ported submenu and view_dispatcher_remove_view from iButton branch

* App gui-test: use backported submenu api

* App subghz: initial commit

* App subghz: syntax fix

* App gui-test: fix submenu callback

* App subghz: add subfolders to build

* Gui view: c++ verison of with_view_model

* Subghz app: simple spectrum settings view

* Subghz app: add spectrum settings view to view manager

* Subghz app: spectrum settings scene

Co-authored-by: coreglitch <mail@s3f.ru>
2021-03-05 12:47:27 +03:00
あく
025b77ecc1
Prevent device from sleep mode while setuping display (#366) 2021-03-04 20:12:41 +03:00
gornekich
10978c51fd
[FL-943] Add CLI command for input events injection (#363)
* input: add cli commands for input events injection
* input: add short and long events
2021-03-04 15:30:20 +03:00
gornekich
1ebbd2c266
[FL-942] remove 3s delays in reset, dfu and poweroff CLI commands (#362) 2021-03-03 16:07:59 +03:00
あく
f4f8ef59fd
[FL-933] API HAL I2C: initialize bus on start (#360)
* API HAL I2C: initialize bus on start
* API HAL I2C: move timing register to resources, explain its value. Update cube project.
2021-03-03 12:21:14 +03:00
SG
3c088dcf7f
Outdated apps: add api-light-usage (#359) 2021-03-02 23:25:51 +03:00
gornekich
cfa76f19d0
[FL-905] Add battery health state monitoring in power app (#358)
* add battery health reading from gauge
* add battery health reading to api-hal-power
* update battery health in power application

Co-authored-by: あく <alleteam@gmail.com>
2021-03-02 19:07:26 +03:00
あく
38011e88f3
API HAL: takeover i2c initialization and abstraction. Update I2C drivers to match new api. Back port API HAL to bootloader and enable light support for F5. (#356)
Co-authored-by: coreglitch <mail@s3f.ru>
2021-03-02 14:45:47 +03:00
coreglitch
056e6ffa9c
New lf rfid (#342)
* invert inputs
* move RFID RX to IRQ, unstable
* remove critical blink
* supress short carrier, decrease queue
* migrate to stream buffer
* enable state change
* conditions build for invert RFID IN
* move get_rfid_in_level
* use hal function for get comp level, remove duplicate interrupt registration, interrupt unregister on exit
* reinit comparator context on mode change
2021-03-02 13:17:27 +03:00
coreglitch
1af3463897
Rename net names (#355)
* rename some pins
* back-port main.h to cube project
* regenerate code for gpio renaming
* update target
* fix subghz names
2021-03-01 21:44:46 +03:00
あく
67a8aac71c
Calibrate HSE xtal, adjust on-chip load capacitors (#351) 2021-03-01 14:25:04 +03:00
あく
e39e1c3dce
Input: properly cast timer arg pointer to InputPinState (#354)
* Input: properly cast timer arg pointer to InputPinState
* update codeowners
2021-02-26 13:40:54 +03:00