Commit Graph

442 Commits

Author SHA1 Message Date
Albert Kharisov
5f6aff2255
[FL-1472, FL-1596, FL-1673] IRDA: stability improvements (#655)
- Restrict with 31 bytes length for remote and signal name
- Don't stuck for 0 PWM cycle timings
- Support timings > 65535 PWM cycles
- Fix remote file open error
- Add IRDA TX debug redirect
- Add remote parse error print, improve parsing, support tabs
- Fix stucks with uncorrect RAW signal values, long strings in remote file, etc
- Fix HAL signals capturing (save previous read value)
- Fix leak in case of failed parsing
2021-08-19 03:18:42 +03:00
SG
9d38f28de7
[FL-1682] Faster file receiving function. Storage management scripts. (#647)
* Storage-cli: the file write function is splitted into a function for working with text and function for raw data
* Storage-cli: read_chunks, renamed write_raw to write_chunk
* Storage-cli: fix typo
* SD Hal: fixed wrong read/write block address
* HAL-console: printf
* Storage benchmark: more popular sizes
* Toolbox: md5
* Storage-cli: better read_chunks function, md5 hash function
* Notification: fixed incorrect error message when loading settings
* Storage-cli: stat command
* Storage-cli: stat, "/" is also storage
* Scripts: add storage managment script
* Scripts, storage lib: send command with known response syntax instead of SOH
* Scripts: python3 from env
* Storage-cli: fixed mess with error texts
* Storage-cli: write, show welcome message only if we didn't have any errors
* Storage: poorly fixed folders copying
* Storage: close an old file if an error occurred while opening a new file
* Storage-cli: fixed storage info spacing
* Scripts: use positional arguments in storage.
* Scripts: explicit string encoding and decoding, documentation in comments.

Co-authored-by: あく <alleteam@gmail.com>
2021-08-19 01:06:18 +03:00
あく
d04deb48b8
Dolphin: fix archive double start crash (#659) 2021-08-18 18:06:55 +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
its your bedtime
1f192c4a48
[FL-1675] Dolphin scene and included apps removed #638
Co-authored-by: あく <alleteam@gmail.com>
2021-08-17 00:53:35 +03:00
gornekich
c122317468
[FL-1526] Mifare Ultralight emulation (#645)
* rfal: add discovery parameter for passing listen activation
* nfc: add discovery parameter to furi_hal_nfc_listen
* mifare_ul: add emulation parsing commands
* nfc: add mifare ul emulation
* nfc: switch to mifare ultralight emulation form menu
* furi-hal-nfc: add first frame reception in emulation mode
* nfc: change argument check
* nfc: rework nfc worker and mifare ul lib
* mifare_ul: add write and cnt increment commands
* nfc: add card modification check
* mifare_ul: add data changed flag
* nfc: add shodow files
* nfc: add restore original file

Co-authored-by: あく <alleteam@gmail.com>
2021-08-17 00:45:04 +03:00
its your bedtime
e1d80d5402
responsive ui for not implemented features in lock menu (#648)
Co-authored-by: あく <alleteam@gmail.com>
2021-08-16 23:50:49 +03:00
Skorpionm
a024e470b7
SubGhz: read and save static remotes. Create new static and dynamic remotes. (#646)
* SubGhz: the functions of saving loading KeeLog have been modified, saving KeeLog is prohibited
* SubGhz: Fix displaying Nice FlorS in the Raed scene
* SubGhz: Fix displaying Faac SLH in the Raed scene
* SubGhz: Fix displaying iDo in the Raed scene
* SubGhz: Fix displaying Star Line in the Raed scene
* SubGhz: Fix displaying Nice Flo in the Raed scene, added save and load functions. (testing needed, no remote control)
* SubGhz: subghz_beginadded common encoder upload signal
* SubGhz: add Came encoder
* SubGhz: modified pricenton encoder, fix view transmitter hide the "Send" button if there is no encoder
* SubGhz: add nice flo encoder, need testing no remote control
* SubGhz: add gate_tx encoder
* SubGhz: add nero_sketch encoder
* SubGhz: add keelog encoder
* SubGhz: add long upload upload while the button is pressed while releasing the transfer is over, with a check for sticking (maximum 200 upload repetitions)
* SubGhz: fix max upload
* SubGhz: Fix structure subghz add encoder
* SubGhz: add generating and sending a dynamic keelog key, refactoring the code
* SubGhz: add notifications
* SubGhz: add creating a new remote control (Pricenton, Nice Flo 12bit, Nice Flo 24bit, CAME 12bit, CAME 24bit, Gate TX, DoorHan)
* SubGhz: Fix load file, fix scene start
* Subghz: Fix show key
* SubGhz: Fix subghz_cli
* SubGhz: Fix furi-hal-subghz
* Format sources
* SubGhz: standard notification scheme, fix broken assert in DMA.
* SubGhz: move level alignment logic to furi-hal-subghz, fix spelling, cleanup.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-08-16 22:56:23 +03:00
あく
129031e779
Cli: ctrl+c reset buffer (#639) 2021-08-13 16:18:13 +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
あく
37d7870e52
[FL-1666] Bootloader: info screen when we going to DFU. FuriHal: port SPI to LL. Cleanup. (#634)
* FuriHal: port spi to ll. Bootloader: add spi and display.
* Makefile: rollback disabled freertos introspection
* FuriHal: spi lock asserts. F6: minor cleanup port sdcard shenanigans to furi_hal_gpio.
* SdCard: port missing bits to furi-hal-gpio
* FuriHal: fix broken RX in SPI, update SPI API usage. RFAL: more asserts in SPI platform code.
* GUI: clear canvas on start. FuriHal: no pullup on radio spi bus.
* FuriHal: use check instead of assert in spi lock routines
* FuriHal: remove timeouts
* SdHal: add guard time to SDCARD CS PIN control.
* FuriHal: proper name for SPI device reconfigure routine. SdHal: one more enterprise delay and better documentation.
* Bootloader: update DFU text and add image.
* FuriHal: drop unused ST HAL modules.
* SdHal: fixed swapped hal_gpio_init_ex arguments
* SpiHal: fixed swapped hal_gpio_init_ex arguments
* IrdaHal: use hal_gpio_init instead of hal_gpio_init_ex
* RfidHal: fixed swapped hal_gpio_init_ex arguments

Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2021-08-12 11:48:05 +03:00
Albert Kharisov
5ed9bdbc37
[FL-1652, FL-1554] IRDA: Continuous transmitting (#636)
* [FL-1652] IRDA: Continuous transmitting
* continuous encoding and sending signals by pressing button on menu
* fast buttons scrolling in remote menu
* bruteforce: stop reading file if progress == 100%
* IRDA: .hpp -> .h
* [FL-1554] IRDA: xTaskNotify -> osEventsFlagSet
* IRDA: some stability fixes
* Irda: minor cleanup, api-hal to furi-hal rename.

Co-authored-by: あく <alleteam@gmail.com>
2021-08-11 20:51:06 +03:00
its your bedtime
f465220066
[FL-1632] Dolphin: feed mini game (#627) 2021-08-11 19:55:56 +03:00
Anna Prosvetova
b05453ecff
RFID: Fix various EM-Marin typos (#635) 2021-08-11 02:09:51 +03:00
SG
b8b0417374
[FL-1629] Better RFID writing (#632)
* RFID: ground the antenna when writing
* RFID: forced switch to indala mode
2021-08-09 15:33:13 +03:00
SG
c799fcf416
Storage: fixed internal info if name is null (#631) 2021-08-09 04:27:51 +03:00
あく
0a97d6913c
Rename api-hal to furi-hal (#629) 2021-08-08 21:03:25 +03:00
あく
7907cb232b
Applications: unified entry point naming scheme, drop dead code, cleanup. (#628) 2021-08-07 19:54:42 +03:00
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
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
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
あく
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
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
81080a3a8b
[FL-1191] Storage: CLI mkdir command #603
Co-authored-by: あく <alleteam@gmail.com>
2021-07-25 14:55:23 +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
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
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
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
あく
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
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
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
あく
c3fda0c8c3
[FL-1491] Gui: input injection in screen stream (#573)
* Gui: input injection in screen stream
* Cli: expose ASCII table in public header
2021-07-09 05:16:54 +03:00
gornekich
20fe544b4f
[FL-1501] NFC: read Mifare Ultralight (#571)
* nfc: add scripts menu scene
* canvas: add glyph width api
* app_scene: add state to Scene template
* gui: introduce TextBox view
* nfc: add mifare ultralight read scenes
* nfc: add mifare ultralight menu scene
* nfc: fix scene functions declaration
* Gui: use size_t for sizes.

Co-authored-by: あく <alleteam@gmail.com>
2021-07-08 23:41:34 +03:00
Albert Kharisov
9f6e14d005
[FL-1398] IRDA: Implement timings encoder, add RC-6 (#570)
* Add RC-6 protocol
* Implement timings Encoder
* Remove Unit-tests from build
2021-07-08 21:20:13 +03:00
Skorpionm
4ce41a3e6f
Skorp subghz capture refactoring (#569)
* SubGhz: changing the operation of the capture timer, and the logic of the work of parsers
* Add toolbox lib. Move levels to toolbox. Subghz switch to levels.
* Subghz: update worker signatures
* SubGhz: pluggable level duration implementations.
* SubGhz : test drawing pictures in Gui
* SubGhz: Added a callback with the parser structure as argument
* SubGhz: copy protocol data to model
* SubGhz: refactoing code
* SubGhz: cleanup and format sources
* SubGhz: remove comments

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2021-07-07 22:49:45 +03:00
あく
a7283280ef
GUI: Icons and IconsAnimation refactoring. Switch assets to new Icon Api (#566)
* GUI: Icons and IconsAnimation refactoring. Switch assets to new Icon API.
* Gui: icon and animation draw now do not accept null pointer
* Format Sources
* Fix no debug build
* Furi: stricter checks in memmgr
2021-07-07 11:57:49 +03:00
あく
607e873404
BLE: fix incorrect RSSI calculation. Firmware: don't mark system as tainted on test releases. (#567)
* BLE: correct RSSI calculation routine.
* Firmware: only guard boot on production releases.
* BLE: proper float formatting in cli
* BLE: faster RSSI refresh
2021-07-07 00:23:59 +03:00
SG
54114553c1
[FL-1517] Maximum heap block stat for os_info cli cmd. (#564)
* Memmgr: heap_get_max_free_block function. Add "Maximum heap block" to os_info cmd.
* Cli: split os_info into ps and free commands

Co-authored-by: あく <alleteam@gmail.com>
2021-07-05 16:01:02 +03:00
SG
f153a745eb
[FL-1320] Fix archive memleak (#565)
* iButton: fix timer initialization
* Archive: fix strings memleak
* Archive: optimize string handling
* Archive: fix strings non-memleak
2021-07-05 15:34:58 +03:00
SG
29da0e360c
[FL-1329] Settings (#563)
* Menu: secondary menu rendering
* Manu: reset window position on enter to new menu
* App-loader: settings menu
* Applications: add settings app list
* App backlight-control: all work related to turning off the display is now in the notification app
* App notification: settings save and load
* Gui: variable item list module
* App: new notification settings app
* Display: backlight is now fully serviced in the notification app
* Gui: update variable item list module documentation
2021-07-05 01:03:56 +03:00
SG
7734fb4018
[FL-1371][FL-1502] Lfrfid app: fixes. (#555)
* Gui module byte-input: changed api
* Gui: changed font height in multiline text according to guideline
* Apps lrfid, nfc: changed send and receive icon
* App lfrfid: fix text, fix scene switсh
* Elements: multiline text framed, fix paddings
* Gui: remove duplicate definition of elements_multiline_text_framed
* App NFC: update byte_input callback signature
* App subghz: fix text lines in capture scene
* App subghz: position of the text is aligned with the guidelines and other scenes
* App subghz: removed mockup

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-07-04 19:01:16 +03:00
あく
f82a4a2260
Cli: add timestamp to device_info command (#562) 2021-07-02 19:03:23 +03:00
あく
721f83dd83
[FL-1516] Fix name read on device without OTP (#561)
* Fix name read on device without OTP
* Dolphin: proper name handling.
2021-07-02 18:12:05 +03:00
gornekich
602c125ef5
[FL-1499] NFC App: save and load from SD card (#560)
* nfc: add save name and save success scenes
* applications: increase nfc app stack size to 4k
* nfc: move nfc device data to separate file
* nfc: add nfc device save to SD card
* nfc: add file select scene
* nfc: add saved key menu scene
* nfc: add manual SAK, ATQA, UID enter
* nfc: add manual enter
* nfc scenes: remove typedef in SubmenuIndex enu
* nfc_device: close file_worker after load data

Co-authored-by: あく <alleteam@gmail.com>
2021-07-02 16:44:10 +03:00
Skorpionm
88be176fcf
SubGhz: Nice FlooR S improvements, cli stack overflow fix, code documentation, new key data formatting (#559) 2021-07-02 16:25:49 +03:00
Albert Kharisov
df9a6673da
[FL-1513] Fix IRDA crash (#557) 2021-07-02 15:46:13 +03:00
its your bedtime
c388458462
[FL-1281] Unlocked screen fix+ (#556)
* Dolphin app: fix "Unlocked" popup  timeout on menu enter

* FL-1404: fix word wrap index
2021-07-02 14:30:30 +03:00
あく
5d14dce013
[FL-1464] Cli: merge version and hwinfo into device_info (#553)
* Cli: merge version and hwinfo and form machine/human readable key value set.
* Backport F6 changes to F5. Add readme to cli_command_device_info rountine
* Cli: return proper order to radio stack version in device_info command

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2021-07-02 03:58:31 +03:00
あく
d088c28659
Power: rename reset to reboot (#552) 2021-07-02 01:53:20 +03:00
its your bedtime
c27d76d664
[FL-1510] Archive: OK fix (#551) 2021-07-01 19:35:57 +03:00
SG
b09f68c43d
Removed app floopper-bloopper and font FontGlyph (#549)
* Remove app floopper-bloopper and FontGlyph
* Gui: proper viewport allocator declaration

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-07-01 14:33:43 +03:00
あく
8211432685
Clang formatter: add indent to wrapped functions names. (#548) 2021-07-01 03:45:20 +03:00
gornekich
a0e1e42f2d
[FL-1479] New NFC app (#544)
* view: add custom event callback
* nfc: rework nfc worker
* gui: introduce view navigator
* nfc_scences: introduce nfc scenes
* nfc: add start scene
* lib: add C application scene template
* nfc: move nfc views to separate directory
* view_dispatcher: add support for view_navigator
* nfc views: rework nfc views
* nfc scenes: add nfc application scenes
* nfc: rework nfc main thread
* view_dispatcher: add separate event for search back scene
* nfc: set worker result address at worker start
* nfc: update read nfc scenes
* view_navigator: rework with M-LIB container
* view_dispatcher: check that all views were freed
* nfc: add debug menu with all functions
* nfc read scene: add notification on success
* api-hal-nfc: add API for UID emulation
* nfc: add nfc emulation UID scene
* assets: add NFC assets
* nfc: update read and emulate scenes UI
* nfc: fix memory leak
* rfal: set custom analog configuration
2021-06-30 20:43:29 +03:00
SG
7a13391b2b
[FL-1371] New LF-RFID app. Second encounter. (#547)
* File worker: file operations helper.
* Notification app: removed yield
* File worker: write operations, calls to system file widgets
* App ibutton: use file worker
* Lfrfid: generic key loading, add path helper and hex conversion to lib
* FileWorker: plain C verison
* FileWorker: add to lib.mk
* FileWorker: add to C sources, instead of CPP
* Lfrfid: save scene
* App lfrfid: add key scene, saved key menu
* App lfrfid: saved key info scene
* App lfrfid: delete key scene
2021-06-30 15:02:46 +03:00
あく
e8211226f3
[FL-1496] SubGhz: Library, Cli, Application (#543)
* ApiHal: set frequency and path in one go. Drivers: proper frequency registers calculation for CC1101. Update subghz cli to match new api.
* SubGhz: preparation for parsers porting, tim2 sharing
* ApiHal: add interrupts API, move all TIM2 related things there.
* SubGhz: refactor protocol lib and add keeloq.
* SubGhz: proper init_set for keeloq manafacture key
* SubGhz: port more protocols to lib
* SubGhz: load keeloq manufacture keys from sd card (if any).
* SubGhz: format output from protocols.
* SubGhz: use default frequency in subghz_rx cli command.
* SubGhz: keeloq key types
* Fix compillation error when internal storage disabled
* SubGhz: minor cleanup
* SubGhz: properly handle timeout and reset signal in subghz_rx
* SubGhz: Worker, Capture View. Furi: emulate thread join.
* SubGhz: free strings on keeloq key load end
* SubGhz: update protocols reporting API, app refactoring and capture view, update API HAL usage.
* SubGhz: update dump formatting
* ApiHal: backport subghz preset to F5
* ApiHal: backport subghz frequency range to F5
2021-06-30 00:19:20 +03:00
SG
dce3665f63
File worker helper. Slightly optimized iButton app code size. (#545)
* File worker: file operations helper
* Notification app: removed yield
* File worker: write operations, calls to system file widgets
* App ibutton: use file worker
* App ibutton: small save fix, forgotten byte
2021-06-29 16:08:45 +03:00
SG
22e1ecb642
New LF-RFID app (#534)
* Hal lfrfid: add read timer pulse and period config fns
* New debug application for lfrfid subsystem
* New lfrfid: app, fix naming
* App lfrfid: assets
* Container view module
* App ibutton: remove unused header
* App lfrfid scenes
* App notification, add yield to blocking operations, add speaker volume control
* App lfrfid: reading key scene
* Assets: placeholder icon
* App lfrfid: reworked container view module
* App lfrfid: new scenes
* App lfrfid: write scene
* App lfrfid: write hid
* App lfrfid: emulate scene
* App lfrfid: save name scene
* App lfrfid: add missing file
2021-06-28 17:42:30 +03:00
its your bedtime
9d23602968
[FL-1477] Archive improvements (#541)
* various small issues fixes
* proper fadding to favourites
* cleanups
* fix infrared extension
* allow subdirs in app tabs
* fix elements_scrollbar args
* bugfixes, looping list, halfbaked pinning
* pinning
* ui updates

Co-authored-by: あく <alleteam@gmail.com>
2021-06-25 19:57:42 +03:00
Albert Kharisov
c583cce5bd
[FL-1401] Add Universal TV remote (#539)
* Remove excess headers
* Add ButtonPanel
* Add Popup
* Move FileReader to standalone object
* Universal remote (part 1)
* Universal remote (part 2)
* Global rename tranciever/file_parser
* Compile assets
* syntax fix
* English: rename tranceiver to transceiver.

Co-authored-by: あく <alleteam@gmail.com>
2021-06-25 16:52:27 +03:00
Albert Kharisov
5e08674663
[FL-1437] Replace stringstream with sscanf (#540)
Do this to save space. Stringstream is very heavy.
2021-06-25 15:25:03 +03:00
Albert Kharisov
158c859bdc
[FL-1486] Fix leaks and leak-sanitizer (#538)
* [FL-1486] Fix leaks and leak-sanitizer
* Move free_heap to AppLoaderState
* App-loader: better heap logging.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-06-24 16:16:03 +03:00
gornekich
8cc0a9a998
[FL-1475] iButton emulate shortcat (#535)
* ibutton: run emulation when launched with argument
* app-loader: set NULL context when starting application from menu
* ibutton: change p to argc
* ibutton: fix load key data from file
* ibutton: fix memory leak
2021-06-24 14:32:33 +03:00
gornekich
5b8f147882
[FL-1447] NFC application refactoring (#532)
* nfc: add separate nfc_detect
* nfc_worker: add callback and context
* api-hal-nfc: return busy if rfal worker is running
* nfc: introduce nfc_detect, change nfc_worker API, rework main nfc task
* nfc_emulate: introduce nfc_emulate module
* nfc: introduce nfc_emv module
* nfc: introduce nfc_mifare_ul module
* nfc: remove unused nfc_views
* nfc: separate messages and models
* nfc: remove unused nfc message types
* nfc: remove message_queue from common api
* view_dispatcher: delete internal queue in destructor
* api-hal-nfc: fix rfal worker initialization condition

Co-authored-by: あく <alleteam@gmail.com>
2021-06-24 11:46:37 +03:00
あく
4cf000f270
[FL-1465] Archive application bug fixes. Gui: update TextInput API. (#530)
* Update MLib to latest master.
* Archive: update string_t usage, add unsafe usage TODO, change model type to blocking and fix invalid usage.
* Gui: update text_input API and it's usage.
* fix blocking model issues
* fix  unsafe string_t usage

Co-authored-by: Igor Baranov <bedtimeposts@gmail.com>
Co-authored-by: its your bedtime <23366927+itsyourbedtime@users.noreply.github.com>
2021-06-24 00:46:52 +03:00
あく
ed75bc2c39
[FL-1483] Cli: add time set feature to time command (#536)
* Cli: add time set feature to time command
* Cli: better time set function feedback
2021-06-23 23:06:57 +03:00
あく
961d61807c
[FL-1478] Fix setting PA0 high confirmation dialog #533 2021-06-23 19:41:05 +03:00
あく
8116bfcbab
[FL-1443, FL-1289] Move assets compilation to separate Makefile. Add scripts folder. Add OTP flashing with DFU. (#531)
* Assets: move assets compilation to separate Makefile. Move all scripts to scripts folder. Add scripts ReadMe. Add precompiled assets.
* Split assets.py into separate entities. Option bytes for FL-1289 and checker/setter.
* Cli: explicitly initialize variable befor use in api_hal_vcp_rx_with_timeout
* Rename ob_check script to ob.
2021-06-23 17:58:44 +03:00
あく
359bbdfe69
[FL-1326] Move heap4 allocator to furi core and add allocation tracing capability (#529)
* Move heap memory allocator to furi core
* Newlibc: add malloc guards
* Furi: add cmsis thread id getter
* Core: add tracing capability to heap allocator. Add heap tracing support to furi thread. Add heap trace support to app-loader.
2021-06-23 17:48:44 +03:00
its your bedtime
6ec9c6cc49
[FL-1404] iButton long names fix (#528)
* ibutton: long names partial fix\
* ibutton: limit max filename length to 22 chars
* elwrapping long names to a new line
* Proper m-string size usage

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-06-22 12:56:57 +03:00
gornekich
8605f53c28
view_dispatcher: add custom events (#526)
Co-authored-by: あく <alleteam@gmail.com>
2021-06-20 11:15:48 +03:00
Albert Kharisov
c54653223e
[FL-1413] Fix boot/fw version mix #524 2021-06-18 14:08:13 +03:00
SG
2084f83eb5
App iButton: fix cli delete command bug, use RAII records (#523)
Co-authored-by: あく <alleteam@gmail.com>
2021-06-18 11:04:53 +03:00
SG
89dd1ff925
[FL-1419] new iButton cli (#521)
* iButton, helpers: add destructor
* iButton app: new approach to cli commands, cli read
* iButton app: cli write
* iButton app: cli emulate
* iButton app: remove old cli commands
* iButton app: use unique_ptr for worker
* iButton app: remove obsolete cli help
* iButton app: fix help and key type parsing
2021-06-17 14:13:37 +03:00
gornekich
9943c93189
[FL-1442] Fix nfc emulation (#520)
* api-hal-nfc: rework nfc detection
* nfc: increase nfc detection timeout
* api-hal-nfc: add 2 emulation parameters for mifare and emv
* nfc: choose emulation parameters
2021-06-16 17:45:35 +03:00
あく
9e69164b1b
[FL-1441] ApiHalVcp: use DTR signal for ready flag. Fix memory leak in subghz. (#519)
* ApiHalVcp: use DTR signal for ready flag. Fix memory leak in subghz.
* Backport VCP fix to F5
2021-06-16 09:14:59 +03:00
gornekich
a0fdc559c9
[FL-662] Read Mifare Ultralight (#518)
* nfc: add read mifare ultralight to menu
* emv_decoder: add pragma once
* nfc: add mifare ultralight reader
* nfc: add mifare ultralight read draw
* nfc: add mifare ultralight type checker
* nfc: rework menu callback
* mifare ultralight: change type names

Co-authored-by: あく <alleteam@gmail.com>
2021-06-15 17:54:09 +03:00
SG
0b14db4fb3
C++ apps: templated scene controller (#517)
* C++ apps: templated scene controller
* templated app: fix type names
* templated app: text store component
* Applications: add "Templated Scene" application
* templated app: refractoring
* Gui module byte input: fix docs
* templated app: new byte input scene
* templated app: dialog ex view module
* templated app: popup view module
* templated app: dialog-ex view module, fix docs
* templated app: text input view module
* Gui module text input: fix docs
* Furi: duplicated include
* templated app: record holder (controller) class
* templated app: view modules can now be accessed via cast
* templated app: remove unused includes
* templated app: fix return code
2021-06-15 14:01:56 +03:00