Commit Graph

962 Commits

Author SHA1 Message Date
Oleg Schwann
68274b6c27
Add Snake game (#829)
* Add snake game
* Applications: Added a classic game https://en.wikipedia.org/wiki/Snake_(video_game_genre)
* Snake Game: Making it impossible to lose button presses
* Use more native press button event
* Snake Game: use low level InputTypePress event instead of InputTypeShort high level unpredictable event

Co-authored-by: LionZXY <nikita@kulikof.ru>
Co-authored-by: あく <alleteam@gmail.com>
2021-11-23 19:07:46 +03:00
tonyfreeman
e54e4a6d77
RPC: Add data field to ping request & response (#836)
* Update protobuf
* Send ping data back
* Add check for has_next, more readability
* Fix nullptr dereference

Co-authored-by: Tony Freeman <tonyfreeman@users.noreply.github.com>
Co-authored-by: Albert Kharisov <albkharisov@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2021-11-23 11:30:54 +03:00
Oleg Schwann
949079cb74
All strange time constants are now frequency multipliers (#834) 2021-11-22 21:49:57 +03:00
Nikolay Minaylov
efded63bcb
USB-UART: New GUI (#826)
* USB-UART: new gui
* Furi: use furi_console for logging instead of printf.
* CDC: calling open/close callbacks on interface change
* fix vcp_tx block on disconnect
* USB mode set by struct pointer
* FuriHal: proper event sequence on vcp reconnect
* disable debug prints
* HAL: add context to UART IRQ's
* Context usage in UART IRQ and CDC callbacks
* USB-UART: geting rid of baudrate limitations
* FuriHal: remove struct pollutant in usb api.

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2021-11-21 18:17:43 +03:00
gornekich
a5052a0375
[FL-2053] BLE MTU processing #830
Co-authored-by: あく <alleteam@gmail.com>
2021-11-21 17:47:54 +03:00
SG
013ed64cbb
UART echo app (#831)
* HAL: add context to UART IRQ's
* Apps: uart echo/log application
* Sync api
* Another api sync
2021-11-20 01:19:31 +03:00
Anna Prosvetova
4303945748
Simpler build, less dependencies (#827)
* Simpler build, less dependencies
* Follow ugly python linter
* Introduce Brewfile & Update Readme
* Make dist.sh target-specific
* Tidy up make output
* Get rid of cat and truncate (I still love cats tho)
* Suppress dd output
* Long live the cat
2021-11-18 11:46:47 +03:00
gornekich
cc044c5033
Fix incorrect RPC session termination on BLE disconnect #828 2021-11-17 21:15:58 +03:00
Skorpionm
6792e24b6e
SubGhz: Add new man key (#817)
* SubGhz: fix kelog pattern
* SubGhz: add Keloog Secure Learning
* SubGhz: add man NICE_Smilo, NICE_MHOUSE, DEA, Genius, FAAC_RC,XT, Came_Space, DTM

Co-authored-by: あく <alleteam@gmail.com>
2021-11-17 16:52:06 +03:00
あく
22e8da7108
SubGhz: remove debug log (#825) 2021-11-16 21:52:49 +03:00
あく
65e6ab5b8b
[FL-2017] Gui: correct empty folder handling in file_select. #824 2021-11-16 17:10:06 +03:00
SG
4cb986b534
[FL-1904] LFRFID: dedicated reading modes (#823)
* LFRFID: dedicated reading modes
* LFRFID: normal and indala mode
2021-11-16 11:47:49 +03:00
あく
b3d8f0b950
[FL-2038] Power off and auto power off on first start screen (#821)
* Power: change power_off signature to match implementation

* Desktop: auto power off on first start screen and with ok button.

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2021-11-16 03:12:30 +03:00
あく
516a437305
Storage: move factory reset to the place it belongs, add gui version. (#822) 2021-11-16 03:04:33 +03:00
あく
7f814b5197
FuriHal: fix LPUART crash (#820) 2021-11-15 23:36:57 +03:00
あく
1571d4ec54
Project: enum cast fix. Makefile: blackmagic rule in global makefile (#819) 2021-11-15 22:55:25 +03:00
あく
2e46ec36a7
Lib: update m-lib to latest release. Update m-lib usage across project. (#818) 2021-11-15 20:09:40 +03:00
あく
b2356c7318
BleGlue: reorder initialization sequence, move core2 start to early stage. (#816) 2021-11-13 05:41:54 +03:00
あく
70d0519178
Subghz: fix crash on arg free (#815) 2021-11-12 18:45:51 +03:00
Anna Prosvetova
558fa5670b
RPC: Add Virtual Display & Unify log tags (#814)
* RPC: Update protobuf sources
* RPC: Add Virtual Display
* Unify log tags
* RPC: Virtual Display placeholder
* Rpc: clear frame buffer callback before confirm.
* Firmware: full assert for hal, move fatfs initialization to furi hal.
* FuriHal: VCP optimizations, thread safe console. Rpc: adjust buffer sizes.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-11-12 16:04:35 +03:00
Nikolay Minaylov
b564e8eb38
[FL-2010] furi-hal-vcp rework (#812)
* [FL-2010] furi-hal-vcp rework
* Fix connect state change on vcp enable
* New thread naming scheme and stack size adjustment.
* Applications: rename worker threads to match new naming scheme.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-11-11 19:17:50 +03:00
Skorpionm
ac8b1457f2
[FL-1931, FL-2005] SubGhz: migration in flipper file format (#807)
* SubGhz: add save key in flipper file format
* [FL-2005] SubGhz: fix stored signals cannot be deleted
* SubGhz: add load key in flipper file format
* SubGhz: fix syntax
* SubGhz: fix bad file upload
* Storage: add function to get the next free filename
* SubGhz: add save RAW  in flipper file format
* SubGhz: add load RAW in flipper file format
* SubGhz: refactoring protocol
* SubGhz: refactoring scene
* SubGhz: fix SubGhzNotificationState define
* Makefile: proper comapre for FORCE

Co-authored-by: あく <alleteam@gmail.com>
2021-11-11 15:49:19 +03:00
あく
5209701add
[FL-1991] Rewrite flash driver (#813)
* Toolbox: fix null pointer dereference in manchester decoder.
* FuriHal: use MPU to protect from null pointer dereference, replace flash driver with our own implementation.
2021-11-10 12:53:00 +03:00
gornekich
90d450368c
[FL-1919] NFC rework with Flipper File Format (#756)
* nfc: allocate nfc device on heap
* nfc: rework save with flipper file format
* nfc: rework nfc device load with flipper file
* nfc: save AID length and data
* nfc: remove file worker usage
* nfc: format sources
* nfc: rework with flipper file format addons
* assets: update EMV resources with flipper file format
* nfc: rework EMV resources parsing with new file format
* assets: fix EMV AID file format
* nfc: fix nfc_device usage

Co-authored-by: あく <alleteam@gmail.com>
2021-11-09 00:55:06 +03:00
gornekich
54dc16134d
[FL-1922] BLE buffer overflow (#789)
* rpc: increase RPC buffer size. Add get available buffer size API
* bt: add flow control characteristic to serial service
* ble: change updating flow control characteristic logic
* rpc: add buffer is empty callback
* bt: add notification about empty RPC buffer
* ble: add more debug info
* serial_service: add mutex guarding available buffer size
* ble: remove debug logs in serial service
2021-11-08 22:41:40 +03:00
coreglitch
4e9e9f32d7
Use NFC device format when NFC app runs with args #810 2021-11-05 15:38:59 +03:00
Nikolay Minaylov
f8d3cc251c
[FL-1984, FL-2004, FL-2010] USB CDC Fixes (#801)
* [FL-1984, FL-2004] USB-UART Fixes, test with high timer task priority
* added forgotten file
* switch from EventFlags to ThreadFlags
* [FL-1984, FL-2010] USB-UART and furi-hal-vcp rework
* Scripts: modernize string formatting.

Co-authored-by: あく <alleteam@gmail.com>
2021-11-04 22:33:28 +03:00
gornekich
3225f40870
[FL-1952] BLE bonding fix (#805)
* furi-hal-bt: add mutex guarding core2 state
* ble-glue: configure ble keys storage in SRAM2
* bt: add load and save ble keys in internal storage
* bt: improve work furi_hal_bt API
* bt: rework app_entry -> ble_glue
* bt: apply changes for f6 target
* desktop: remove furi check
* ble-glue: comment NVM in SRAM2 configuration
* FuriHal: fix flash controller state corruption, fix incorrect semaphore release, implement C1-C2 flash controller access according to spec. Gui: change logging level.
* Libs: better lfs integration with lfs_config.
* Ble: switch C2 NVM to RAM.
* FuriHalCrypto: ensure that core2 is alive before sending shci commands
* Ble: fix incorrect nvm buffer size

Co-authored-by: あく <alleteam@gmail.com>
2021-11-04 20:26:41 +03:00
SG
bb9c464a13
Storage: internal error getter (#806)
* Storage: internal error getter

Co-authored-by: あく <alleteam@gmail.com>
2021-11-04 13:46:45 +03:00
SG
7f94ef3179
[FL-1926] Flipper File Format addons (#753)
* Flipper file format: remove C wrapper
* Flipper file format: open append, float, uint32_t as array, delete key, value count
* Flipper file format: fix scratchpad location
* Flipper file format: add EOL on append
* SubGHZ keystore: update encryption type read and write
* Flipper File Format: enhanced version
* Flipper File Format: fix naming
* Flipper File Format: fix "open" subset naming
* Flipper File Format: tests
* Flipper File Format: file helper naming
* SubGHZ keystore: merge with current state of flipper file format
* Flipper File Format:  update make recipe
* Flipper File Format: open new file method
2021-11-04 13:06:13 +03:00
Albert Kharisov
0c1bcf144b
[FL-1994] Add Saved Struct (#804)
Co-authored-by: あく <alleteam@gmail.com>
2021-11-03 20:22:49 +03:00
Skorpionm
6d548637f2
SubGhz: reading keys from encrypted files (#803)
* SubGhz: add file with manufactory codes, and the ability to add your own manufactory codes for KeeLog
* SubGhz: add encrypt RAW data, add decrypt and get RAW data
* SubGhz: add encrypt  magic_xor_atomo
* SubGhz: parsing atomo using file encrypt
* SubGhz: fix calculating the size of the read buffer
* SubGhz: parsing Nice FLOR S using file encrypt
* SubGhz: add file encrypt nice_flor_s_tx, fix name load file
* SubGhz: fix checking read buffer size
* Update subghz_keystore.c
* SubGhz: fix calculating the size of the read buffer

Co-authored-by: あく <alleteam@gmail.com>
2021-11-03 19:41:07 +03:00
あく
300302cb7c
Fix gpio debug (#802) 2021-11-02 02:49:48 +03:00
Anna Prosvetova
e9e76e144c
RPC: Implement storage_stat_request (#800)
* RPC: Update protobuf sources
* RPC: Implement storage_stat_request
* RPC: Test storage_stat_request
* FuriRecord: fix use after free in destroy method.
* Furi: refactor PubSub and it's usage. Fix allocation in RPC.
* FuriCore: fix memory leak in pubsub
* FuriCore: update unsubscribe method signature in pubsub, make subscription structure lighter.
* FuriCore: remove dead code

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-11-01 23:35:54 +03:00
Albert Kharisov
b397442d89
[FL-1705] Fix IRDA SD eject (#799)
Removing SD card during brut-force causes endless loop.
This is because calling a string_t destructor invalidates
variable, but we did checking string_size() after.

Co-authored-by: あく <alleteam@gmail.com>
2021-11-01 20:17:01 +03:00
Albert Kharisov
63fe452746
[FL-1854] NEC42ext displaying (#796)
* Add correct key-reading asset
* IRDA: correct NEC42ext displaying
* IRDA App: correct vibro

There are no double vibro, but 1 vibro for any successful
new signal read, and 1 for sending just read signal.

Co-authored-by: あく <alleteam@gmail.com>
2021-11-01 19:34:50 +03:00
Anna Prosvetova
86bced5b2c
RPC: Screen streaming & Input injection (#794)
* RPC: Screen stream
* Move callback to rpc_screen, implement graceful stop
* RPC: Implement input injection
* Update protobuf submodule
* Gui: thread safe frame buffer callback setter.
* RPC: Keep gui record open

Co-authored-by: あく <alleteam@gmail.com>
2021-11-01 19:26:37 +03:00
あく
22a4bac448
[FL-1934] Core: wipe memory after free. SubGhz: key encryption tool. (#797)
* Core: wipe memory after free. RFID,iButton: fix iterator use after invalidation.

* Debug: support unix wildcards for register matching in svd, update MCU description file and minify it.

* Toolbox: getter for File in FlipperFile.

* Makefile: conditional flashing

* SubGhz: keeloq_mfcodes encryption tool.

* FuriHal: proper IV handling on CBC in crypto. SubGhz: add support for encrypted keeloq keys. Makefile: move formatting to top Makefile.

* SubGhz: rename some function names to match naming scheme.

* SubGhz: encryption tool, fix windows line endings

Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2021-11-01 16:11:25 +03:00
Skorpionm
3f93a0ae46
SubGhz: add potocol Hormann HSM 868Mhz (#795)
* SubGhz: add decoder Normann
* SubGhz: rename normann -> hormann
* SubGhz: add encoder hormann
* SubGhz: delete comment

Co-authored-by: あく <alleteam@gmail.com>
2021-10-28 16:09:59 +03:00
gornekich
146cd51894
[FL-1497] GUI textbox element and widget (#792)
* canvas: add font parameters
* elements: add text box element
* widget: add text box element
* nfc: rework delete and info scene with text box widget
* gui: update documentation
* gui: fix canvas_get_font_params return

Co-authored-by: あく <alleteam@gmail.com>
2021-10-27 21:55:03 +03:00
Skorpionm
26c53f3dfd
SubGhz: Refactoring Read RAW (#791)
* SubGhz: rename save_raw -> read_raw
* SubGhz: add manually saving files to read_raw, confirming that saving is unnecessary, refactoring
* Format sources
* SubGhz: fix runglish

Co-authored-by: あく <alleteam@gmail.com>
2021-10-27 20:37:11 +03:00
Albert Kharisov
10c65daad7
RPC CLI: Change ParallelSafe cli command (#793)
Starting RPC session is parallel safe.
Launching application command do lock check inside.
2021-10-27 18:20:08 +03:00
Nikolay Minaylov
732b9546fc
[FL-1984] USB-UART improvements and fixes (#785)
* [FL-1984] USB-UART fixes
* FuriHal: fix SOF wait on CDC0
* FuriHal: fixed stuck in UART IRQ with ORE event

Co-authored-by: あく <alleteam@gmail.com>
2021-10-26 21:41:56 +03:00
its your bedtime
fae8d8f23c
[FL-1968] Pin code locking (#788)
* Gui: code input module
* Gui: fix size to fit frame
* Desktop: PIN config and lock option
* Gui: code input: cleanup, offset input fields if no header present
* Desktop: move code unlock to desktop_locked scene
* Desktop: fix unlock with back key
* Desktop: bump settings version
* Desktop: correct scene usage.

Co-authored-by: あく <alleteam@gmail.com>
2021-10-26 21:34:31 +03:00
Albert Kharisov
400d672e81
[FL-1955] CLI RPC (#781)
- RPC: added CLI command to start session - all input bytes goes into RPC, all RPC output goes into VCP
- RPC: added command to close session (actually it only notifies transport layer)
- RPC: added recursive rmdir
- RPC: hard-coded listing for root directory (any, ext, int)
- Fixed CLI leak
- Fixed furi_record_delete leak
- Unit tests: repaired
- Unit tests: corrected output - remove excess, change dots with progress spinner
- Unit tests: added leak check
- Unit tests: SD mount check before start

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-26 19:05:28 +03:00
Anna Prosvetova
f8542af653
[FL-1989] CI: bootloader & firmware JSON manifests (#786)
* [FL-1989] CI: bootloader & firmware JSON manifests
* CI: reorder steps

Co-authored-by: あく <alleteam@gmail.com>
2021-10-26 18:33:38 +03:00
あく
122e0a89ab
Scripts: remove padding from cli output detection (#790) 2021-10-26 18:29:03 +03:00
あく
ae016ce464
[FL-1990] Correct release type in copro manifest and rename boot to bootloader (#787)
* World: rename boot to bootloader.
* Scripts: correct release type in copro bundler.
2021-10-26 15:24:14 +03:00
Lesha Lomalkin
d9d33a0213
otp.py: fix return code mistype (#784)
Co-authored-by: あく <alleteam@gmail.com>
2021-10-25 18:19:48 +03:00
Skorpionm
9d952ed855
[FL-1913, FL-1963] SubGhz: save raw signal, add came atomo decoder (#783)
* File_Worker: getting the name of a new file with an index
* SubGhz: add decoder RAW protocol
* SubGhz: add view Save RAW
* SubGhz: refactoring subghz custom event
* SubGhz: fix syntax
* SubGhz: fix error build
* SubGhz: test build
* SubGhz: refactoring subghz, add rename, delete, start and emulate RAW signal
* SubGhz: fix triangle glitch in save raw view
* SubGhz: fix receiver config scene
* SubGhz: fix transfer after returning from save scene
* Canvas: add font rotation
* SubGhz: raw protocol encoder
* SubGhz: fix error completion of transfer raw encoder
* SubGhz: increased the speed of reading RAW data from a flash drive, displaying the name of the saved file in the Save RAW scene
* Canvas: fix font rotation
* SubGhz: fix navigation save RAW  scene
* SubGhz: add decode came atomo
* Git: renormalize
* Cleanup sources and enums
* Gui: add font direction to canvas reset, canvas init sequence cleanup.
* SubGhz: reorder menu.
* Gui: correct canvas_set_font_direction signature

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-25 17:37:14 +03:00