Commit graph

873 commits

Author SHA1 Message Date
Albert Kharisov
ba399abb5d
IRDA: Use DMA for async TX (#608) 2021-08-06 00:11:35 +03:00
its your bedtime
9c38efd4ef
[FL-1427] Dolphin: new assets and engine rework (#546) 2021-08-05 23:49:04 +03:00
gornekich
5741ed2bd5
[FL-1595] Add EMV tags (#625)
* nfc: add expiration date tag to emv parser
* nfc: add expiration date save and display
* nfc: add long apdu test command
2021-08-04 21:58:11 +03:00
gornekich
841804026e
[FL-1619] NFC long APDU emulation (#623)
* nfc: add apdu sequence exchange debug scene
* api-hal-gpio: fix GPIO initialization
* nfc: pull down nfc chip IRQ pin

Co-authored-by: あく <alleteam@gmail.com>
2021-08-03 20:24:20 +03:00
SG
15592682ad
Notification settings: correctly count values with a zero index (#621) 2021-08-03 20:07:39 +03:00
あく
bf6c9fe114
Applications: add stack_size to keypad_test and assert in furi thread (#620) 2021-08-02 18:32:15 +03:00
あく
93caf84c80
[FL-1631] SubGhz: add tim2 clocking and NVIC initialization routines #618 2021-08-02 17:03:12 +03:00
SG
95f44f4d33
[FL-1625] Overcurrent monitoring. Cli command for external 3.3v dcdc control. (#615)
* Apps: power observer for overcurrent monitoring
* Power: cli command for enable\disable externat 3.3v dcdc

Co-authored-by: あく <alleteam@gmail.com>
2021-08-02 14:15:24 +03:00
gornekich
35c441f031
nfc rfal: increase modulation depth in rfal config (#617) 2021-08-02 12:38:37 +03:00
SG
6926cf8b7e
[FL-1449] Indala reading and writing (#616)
* Rfid: indala 40134 validation and decoding
* Rfid: show indala info
* Rfid: decoder to output comparator signal on gpio pins
* Rfid: working indala 40134 decoder
* HAL: added function to change rfid timer parameters on the fly
* RFID: Indala reading, card detection, card verification
* Rfid: indala writing
2021-08-02 01:11:18 +03:00
SG
fb80f9537f
[FL-1616] RFID: fix HID emulation (#610)
* Rfid: fixed HID emulation by adding zero pulse every 4 bits
* Rfid: HID emulation fixed with DSP based FSK oscillator.
2021-07-30 14:12:36 +03:00
あく
e9e29e0e0c
ApiHal: initialize clock in parallel, switch LSE driving to high, enable EXTI line 18 to fix LSECSS, move some interrupts service routines to api-hal-interrupts. (#614) 2021-07-30 13:13:18 +03:00
あく
4c85bfedca
[FL-1620] Cli command list crash fix. Correct name validation in scripts. (#613)
* Scripts: fix incorrect name validation regexp.
* Cli: fix command list iteration.
2021-07-29 18:27:06 +03:00
あく
12113b480d
ApiHal: update HSE tuning to match EVT samples (#612) 2021-07-29 14:19:18 +03:00
gornekich
91c1eaf5a8
[FL-1543] Scene manager search scene API (#611)
* scene_manager: search -> search_and_switch_to previous_scene
* scene_manager: add search and switch to another scene API
* scene_manager: Navigation -> Back event
2021-07-28 17:52:00 +03:00
あく
1c58de24f5
Nfc: switch to HAL ticks. ApiHal: small cleanup and refactoring. (#609) 2021-07-28 11:45:42 +03:00
あく
4c1ac2a13d
[FL-1590] SubGhz: fix incorrect limits on frequency that were causing crashes #607 2021-07-27 14:47:45 +03:00
its your bedtime
2313b948c6
[FL-1613] First start screen assets update #606 2021-07-26 21:08:41 +03:00
SG
653295df6f
[FL-1609] Redirected malloc, calloc, realloc and free functions from newlib to freertos heap. (#604)
* Core: newlib-nano heap management functions replaced with freertos functions
* Core: replace newlib heap management functions for firmware only, not for bootloader
* Core, Linker: automatically determine available heap size at linking.

Co-authored-by: あく <alleteam@gmail.com>
2021-07-25 15:37:43 +03:00
SG
81080a3a8b
[FL-1191] Storage: CLI mkdir command #603
Co-authored-by: あく <alleteam@gmail.com>
2021-07-25 14:55:23 +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
gornekich
ebd158a823
[FL-1542], [FL-1603] Generate random name (#602)
* Lib: add random name library
* Text_input: add default text clearing
* All: rework all applications with new text_input API
* Nfc: fix removing dev file on save_name scene enter
* Lib: move all free radicals to toolbox and update API usage.

Co-authored-by: あく <alleteam@gmail.com>
2021-07-25 14:34:54 +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
its your bedtime
413e3d5013
[FL-1435] correct text position for "Successfully written" msg #600
Co-authored-by: あく <alleteam@gmail.com>
2021-07-23 16:42:48 +03:00
its your bedtime
d25dabe025
[FL-1606] Hide "Unlocked" message on any user interaction #599
Co-authored-by: あく <alleteam@gmail.com>
2021-07-23 16:15:25 +03:00
gornekich
3f640e8f1c
[FL-1549] Gui Widget module (#598)
* gui_widget: rework with mlib container
* widget: rename gui_widget-> widget; gui_element->widget_element
* gui: move widget from nfc to gui/modules
* nfc: rework widget usage
* nfc: return to ReadEmvAppSuccess scene after ReadEmvDataSuccess exit

Co-authored-by: あく <alleteam@gmail.com>
2021-07-23 16:09:34 +03:00
SG
ad421a81bc
[FL-1191][FL-1524] Filesystem rework (#568)
* FS-Api: removed datetime manipulation functions and most of the file flags
* Filesystem: common proxy api
* Filesystem: renamed to Storage. Work has begun on a glue layer. Added functions for reentrance.
* Storage: sd mount and sd file open
* Storage: sd file close
* Storage: temporary test app
* Storage: free filedata on close
* Storage: sd file read and write
* Storage: added internal storage (LittleFS)
* Storage: renamed internal commands
* Storage: seek, tell, truncate, size, sync, eof
* Storage: error descriptions
* Storage: directory management api (open, close, read, rewind)
* Storage: common management api (stat, fs_stat, remove, rename, mkdir)
* Dolphin app and Notifications app now use raw storage.
* Storage: storage statuses renamed. Implemented sd card icon.
* Storage: added raw sd-card api.
* Storage settings: work started
* Assets: use new icons approach
* Storage settings: working storage settings
* Storage: completely redesigned api, no longer sticking out FS_Api
* Storage: more simplified api, getting error_id from file is hidden from user, pointer to api is hidden inside file
* Storage: cli info and format commands
* Storage-cli: file list
* Storage: a simpler and more reliable api
* FatFS: slightly lighter and faster config. Also disabled reentrancy and file locking functions. They moved to a storage service.
* Storage-cli: accommodate to the new cli api.
* Storage: filesystem api is separated into internal and common api.
* Cli: added the ability to print the list of free heap blocks
* Storage: uses a list instead of an array to store the StorageFile. Rewrote api calls to use semaphores instead of thread flags.
* Storage settings: added the ability to benchmark the SD card.
* Gui module file select: uses new storage api
* Apps: removed deprecated sd_card_test application
* Args lib: support for enquoted arguments
* Dialogs: a new gui app for simple non-asynchronous apps
* Dialogs: view holder for easy single view work
* File worker: use new storage api
* IButton and lfrrfid apps: save keys to any storage
* Apps: fix ibutton and lfrfid stack, remove sd_card_test.
* SD filesystem: app removed
* File worker: fixed api pointer type
* Subghz: loading assets using the new storage api
* NFC: use the new storage api
* Dialogs: the better api for the message element
* Archive: use new storage api
* Irda: changed assest path, changed app path
* FileWorker: removed unused file_buf_cnt
* Storage: copying and renaming files now works between storages
* Storage cli: read, copy, remove, rename commands
* Archive: removed commented code
* Storage cli: write command
* Applications: add SRV_STORAGE and SRV_DIALOGS
* Internal-storage: removed
* Storage: improved api
* Storage app: changed api pointer from StorageApp to Storage
* Storage: better file_id handling
* Storage: more consistent errors
* Loader: support for NULL icons
* Storage: do nothing with the lfs file or directory if it is not open
* Storage: fix typo
* Storage: minor float usage cleanup, rename some symbols.
* Storage: compact doxygen comments.

Co-authored-by: あく <alleteam@gmail.com>
2021-07-23 15:20:19 +03:00
あく
a81203941b
[FL-1430] ApiHal: add regions and colors enums #597 2021-07-22 12:44:52 +03:00
あく
ac8387e372
[FL-1581] I2C fast mode #596 2021-07-22 11:44:15 +03:00
gornekich
49af516ec7
[FL-1547], [FL-1500] NFC app v1 (#593)
* nfc: remove mifare read debug view and scene
* nfc: change mifare ultralight data structure
* mifare_ultralight: add more commands
* nfc: add emulate mifare ul scene
* nfc: rework data structures, remove debug scenes and views
* nfc: add read emv scenes
* nfc: mifare emulation wip
* nfc cli: increase detecting time
* nfc: save nfc files with new format
* nfc: store Mifare Ultralight
* nfc: start loading mifare ultralight
* nfc: add delete scenes
* nfc: add edit UID and name
* nfc: finish parsing uid and mifare ul data
* nfc: delete success fix
* gui_widget: introduce GuiWidget
* gui_widget: add string element
* gui_widget: add button element
* gui_widget: move free elements into gui_widget
* nfc: rework info scene with GuiWidget
* nfc: rework device info scene
* nfc: rework delete scene gui
* nfc: add compatible script support
* nfc: rework emv reading scenes
* nfc: rework bank card save
* nfc: add bank card custom view
* gui_widget: add icon element
* nfc: add icon to bank card
* nfc: start worker after switching view

Co-authored-by: あく <alleteam@gmail.com>
2021-07-22 09:05:07 +03:00
あく
7ca89256eb
[FL-1430] New OTP format #595 2021-07-22 05:49:23 +03:00
Albert Kharisov
769ab2aef2
[FL-1489] IRDA: move to FileWorker (#594)
* [FL-1489] IRDA: move to FileWorker, fixes

* Use FileWorker
* Use file_select to select remotes
* Fix some crashes
* Add RAW parsing restrictions
* Remove excess scene (LearnDoneAfter)
* Move all file system logic to standalone object
2021-07-22 03:07:00 +03:00
Albert Kharisov
b886ae17b6
IRDA: fix NVIC setup (#592)
LF-RFID uses HAL functions to deinit TIM2, which also
disables NVIC for TIM2.

Co-authored-by: あく <alleteam@gmail.com>
2021-07-20 20:44:16 +03:00
あく
f25d000d53
[FL-1558] Technical Debt: console, bootloader, targets, stdglue, etc... (#590)
* ApiHal: console abstraction, change uart baud rate to 230400. Bootloader: drop F5. Furi: prevent thread local output to serial console in stdglue.
* ApiHal: take control over system initialization, reorder some subsystems in a hope of fixing USB issues.
* Main: cleanup dead code. ISR: take care of HSECSS by our self. USB: leave clock configuration alone.
* F6 cube: switch RCC to LL.
* Cli: rollback return behavior.
2021-07-20 20:14:42 +03:00
its your bedtime
0dc4081b85
[FL-1493] text input: fix "up" key behaviour #591 2021-07-20 04:56:51 +03:00
あく
3a88386aae
Cli: rename stack free size to stack watermark (#589) 2021-07-19 04:07:50 +03:00
あく
66bd59b3cd
Cli: give input command CliCommandFlagParallelSafe flag (#588)
* Cli: give input command CliCommandFlagParallelSafe flag
2021-07-19 03:16:15 +03:00
あく
b6f6378628
Cli: insomnia safe flags and better insomnia handling in cli (#587) 2021-07-18 22:08:26 +03:00
あく
ddfdbc0530
[FL-1530] Cli: better Сtrl-С polling (#586) 2021-07-18 21:52:04 +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
あく
fbb81483ae
[FL-1555] Cli: update motd (#584)
* Cli: update motd
* Cli: autocomplete and cursor.
* Cli: one line history.
* Cli: minor cleanup, remove double flush, remove prompt on empty autocomplete
2021-07-17 17:14:34 +03:00
Albert Kharisov
30ae16c2e1
[FL-1470] Support archive for IRDA (#582)
Co-authored-by: あく <alleteam@gmail.com>
2021-07-16 19:50:18 +03:00
Albert Kharisov
13c5a8cb20
[FL-1505] Add RAW format (#576)
* Add RAW format
* F5 stubs for build to pass
* Fix saving decoded signal error
* Irda: set ISR before starting timer, remove explicit NVIC configuration

Co-authored-by: あく <alleteam@gmail.com>
2021-07-16 19:43:54 +03:00
Skorpionm
a2dfa33a9f
SubGhz: update capture configuration (#583)
* SubGhz: CC1101 setting, Rx Filter BW 270kHz, Tx Power 10dBm, AGC modification
* SubGhz: fix merge artifacts, add missing keystore.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-07-16 18:51:47 +03:00
Skorpionm
1a039a86f8
Skorp sub ghz add protocol (#581)
* SubGhz: Add Star Line protocol
* Rollback ReadMe changes
* SubGhz: add shared keystore for keeloq derived protocols.
* SubGhz: add missing key load routine

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-07-16 18:37:48 +03:00
gornekich
a837bc5d00
[FL-1537] NFC launch from archive (#580)
* archive: pass full file path as App argument
* nfc: add starting emulation from Archive
* nfc, ibutton: rework setting key name with path lib
* archive: revert launching app with full file path

Co-authored-by: あく <alleteam@gmail.com>
2021-07-16 00:39:21 +03:00
あく
851a44dc59
[FL-1528] SubGhz: dma send (#579)
* Gui: input injection in screen stream
* Cli: expose ASCII table in public header
* SubGhz: dma output draft
* SubGhz: output initialization cleanup
* SubGhz: update dma send routine, add subghz_tx cli command.
* SubGhz: proper register address for DMA
* SubGhz: proper, fully working dma+tim2 configuration
* SubGhz: transmit PT with cli.
* Drivers: fix invalid size in CC1101 PA_TABLE loading routine.
* Interrupts: configurable DMA isrs.
* F5: backport fixes.
* SubGhz: free buffer after use
* SubGhz: use sleep instead of reset at the end
* SubGhz: async tx repeat with circular DMA
* SubGhz: disable dma channel on complete, adjust PT send timings
* SubGhz: backport function singature change to F5
* SubGhz: add tx debug gpio
2021-07-15 16:54:11 +03:00
Skorpionm
5df346aebe
Skorp sub ghz add protocol (#578)
* SubGhz: add HCS101 protocol
* SubGhz: add GateTx protocol
* GubGHz: keeLog, key re-acceptance check, do not decrypt repeated messages
* SubGhz: add iDo 117/111 protocol
* SubGhz: add Faac SLH protocol
* SubGhz: fix KeeLog, serial number on display
* SubGhz: fix Faac SLH, serial number on display. Refactoring code parser
* SubGhz: add Nero Sketch protocol
* SubGhz: fix showing serial key, Gate Tx protocol

Co-authored-by: あく <alleteam@gmail.com>
2021-07-13 14:47:27 +03:00
SG
e31999b116
[FL-1371] Lfrfid app: add manufacturers to "Add manually" scene (#577)
* Lfrfid app: add manufacturers to "Add manually" scene
* Lfrfid app: fix submenu name size
2021-07-13 12:06:54 +03:00
gornekich
3571b58d0a
[FL-1448], [FL-1529] Introducing Scene Manager, NFC App refactoring and bug fixes (#575)
* gui: refactore ViewNavigator -> SceneManager
* view_dispatcher: remove scene controller, add custom and navigation cb
* scene_manager: rework scene controller, move AppScene from lib
* nfc: rework nfc scenes with new scene controller API
* view_dispatcher: crash on free if not all views were freed
* nfc: introduce scene declaration
* scene_manager: allocate and configure application scenes
* nfc: rework nfc with new Scene Manager API
* scene_manager: remove dublicated scene handlers allocation
* nfc: rework nfc app with new scene manager API
* view_dispatcher: add tick event
* scene_manager: add tick event type and handler
* nfc: rework notifications with tick event
* scene_manager: remove scene id from scene structure
* scene_manager: rename array -> stack, add documentation
* api-hal-nfc: remove listen activation processing
* nfc_scene_start: shorter submenu call
* nfc: fix nfc file name
* nfc: fix Retry in mifare ul success read
* nfc_cli: fix read timeout in nfc_detect CLI command

Co-authored-by: あく <alleteam@gmail.com>
2021-07-12 21:56:14 +03:00