Commit graph

182 commits

Author SHA1 Message Date
MX
8a58fc1ca7
Merge remote-tracking branch 'OFW/dev' into dev 2024-05-23 00:33:57 +03:00
hedger
807bec14b1
Replaced obsolete-format delay (#3660) 2024-05-22 19:13:28 +01:00
gornekich
11070c9e5e
Text Box: fix displaying text with end text focus (#3658)
* text box: fix reset text offset state after initial text iteration
* debug: add tests for text box view debug app
* hal: flash: removed redundant #else

Co-authored-by: hedger <hedger@nanode.su>
2024-05-22 18:14:33 +01:00
MX
6a91588f52
Merge remote-tracking branch 'OFW/dev' into dev 2024-05-21 01:34:05 +03:00
あく
e0797131ec
FuriHal: add flash ops stats, workaround bug in SHCI_C2_SetSystemClock (#3657)
* FuriHal: add flash ops stats, workaround bug in SHCI_C2_SetSystemClock
* hal: flash: added FLASH_OP_DEBUG to enable latency measurement

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-05-20 19:17:01 +01:00
hedger
9e42e00ead
Icons: compression fixes & larger dimension support (#3564)
* toolbox, gui: fixes for compressed icon handling
* ufbt: fixes for generated vscode project
* scripts: increased max dimensions for image converter
* icon type changes
* linter fixes; api sync
* gui: docs fix
* toolbox: fixed potential decoder buffer overflow
* minor cleanup
* fbt: sdk: suppressed deprecation warnings in API table
* toolbox: compress: added unit tests
   vscode: now installs resources for unit_tests
   unit_tests: now loads subghz region data
* toolbox: compress: review fixes, pt 1
* compress: now passes decoder buffer size as constructor argument; auto-resize decoder buffer; crash on failed icon decompression
* PVS fixes
* pvs fixes, pt2
* doxygen fixes
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* investigating unit test failures
* UnitTests: move all tests into plugins, brakes testing
* UnitTests: add plugin API and update plugin entrypoints
* UniTests: Test runner that works with plugins
* fbt: extra filtering for extapps to include in build
* UnitTests: filter tests by name
* loader: restored API table for unit_test build config
* Add various missing symbols to API table
* UnitTest: fail on plugin load error
* UnitTests: cleanup plugin api and reporting
* unit_tests: composite resolver
* UnitTests: remove unused declaration
* unit_tests, nfc: moved mock nfc implementation to libnfc
* unit_tests: api: removed redundant #define
* toolbox: compress: removed size_hint for icons; triggering furi_check on oversized icons
* gui: icon, icon_animation: removed size hit APIs
* Format Sources. Cleanup code.
* loader: refuse to start .fal as app
* toolbox: compress: fixed memory corruption in operations with small destination buffer; added unit tests for that case
* unit_tests: proper test skipping; better selective test interface
* unit_tests: moved 'loading' logging to proper location

Co-authored-by: あく <alleteam@gmail.com>
2024-05-20 18:23:47 +01:00
MX
7c5111e29f
Merge remote-tracking branch 'OFW/dev' into dev 2024-05-16 23:37:03 +03:00
WillyJL
63403bbae2
JS: Add submenu module (#3601)
* JS: Add submenu module
* Using view_holder instead of view_dispatcher

Co-authored-by: nminaylov <nm29719@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-05-16 18:55:08 +01:00
あく
7c63bf7574
Revert "TLSF memory allocator. Less free flash, moar free ram. (#3572)" (#3651)
* Revert "TLSF memory allocator. Less free flash, moar free ram. (#3572)"

This reverts commit 1d17206e23.

* Fix PVS warnings

* github: logging for ticket number checks to stdout

* memgr: removed offending todo

---------

Co-authored-by: hedger <hedger@nanode.su>
2024-05-16 18:43:27 +04:00
MX
0ae78dfcdd
Revert TLSF
This reverts commit 5dddb075ac
2024-05-16 05:41:16 +03:00
Sergei Gavrilov
5dddb075ac
TLSF memory allocator. Less free flash, moar free ram. (#3572)
* add tlsf as submodule
* libs: tlsf
* Furi: tlsf as allocator
* Furi: heap walker
* shmal fixshesh
* f18: tlsf
* PVS: ignore tlsf
* I like to moving
* merge upcoming changes
* memmgr: alloc aligned, realloc
* Furi: distinct name for auxiliary memory pool
* Furi: put idle and timer thread to mem2
* Furi: fix smal things in allocator
* Furi: remove aligned_free. Use free instead.
* aligned_malloc -> aligned_alloc
* aligned_alloc, parameters order
* aligned_alloc: check that alignment is correct
* unit test: malloc
* unit tests: realloc and test with memory fragmentation
* unit tests: aligned_alloc
* update api
* updater: properly read large update file

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-05-16 03:51:45 +03:00
Sergei Gavrilov
1d17206e23
TLSF memory allocator. Less free flash, moar free ram. (#3572)
* add tlsf as submodule
* libs: tlsf
* Furi: tlsf as allocator
* Furi: heap walker
* shmal fixshesh
* f18: tlsf
* PVS: ignore tlsf
* I like to moving
* merge upcoming changes
* memmgr: alloc aligned, realloc
* Furi: distinct name for auxiliary memory pool
* Furi: put idle and timer thread to mem2
* Furi: fix smal things in allocator
* Furi: remove aligned_free. Use free instead.
* aligned_malloc -> aligned_alloc
* aligned_alloc, parameters order
* aligned_alloc: check that alignment is correct
* unit test: malloc
* unit tests: realloc and test with memory fragmentation
* unit tests: aligned_alloc
* update api
* updater: properly read large update file

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-05-15 16:47:21 +01:00
MX
1afa3f7ef3
Merge remote-tracking branch 'OFW/dev' into dev 2024-05-15 18:22:54 +03:00
Astra
e3f95a326b
[FL-3797] Settings menu refactoring (#3632)
* Settings menu refactoring
* Update F18 api
* Wording changes
* Update certification icon
* Desktop: optimize settings save routine, fix navigation lag
* Gui: add submenu position getter. Desktop: proper menu index preservation.
* Gui: proper index getter for submenu. Desktop: cleaner settings navigation.

Co-authored-by: あく <alleteam@gmail.com>
2024-05-14 19:58:09 +01:00
あく
b9966a50d9
Ble: new connection parameters negotiation scheme (#3644)
* Ble: new connection parameters negotiation scheme

* Ble: finer connection parameters negotiation flow

* Ble: naming and grammar

* gap: typo fix & field init

---------

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-05-13 21:54:59 +04:00
あく
9648da951a
FuriHal: move version init to early stage (#3647) 2024-05-13 21:32:28 +04:00
MX
6bfa383cea
Revert "Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into dev"
This reverts commit 9b377e6f80, reversing
changes made to 1736a8a7c2.
2024-05-03 14:50:58 +03:00
MX
9b377e6f80
Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into dev 2024-05-01 16:49:53 +03:00
Astra
7414e6d4df
[FL-3817] iButton: fix crash when deleting some keys (#3617)
* iButton: fix crash when deleting some keys
* Fix cyfral crashes
* Better data formatting
* Remove void returns
2024-04-29 19:56:15 +09:00
MX
e7ef923729
Merge remote-tracking branch 'OFW/astra/3817-ibutton-crash' into dev 2024-04-27 15:09:25 +03:00
Astra
42c69b076a iButton: fix crash when deleting some keys 2024-04-26 19:07:51 +09:00
Astra
fb018ec170 Bump F18 API 2024-04-23 10:54:11 +09:00
Astra
85fc0a2dd3
Merge branch 'dev' into astra/3746-mfp-detect 2024-04-23 10:39:34 +09:00
Astra
83ff6fb8bf Mifare Plus detection done 2024-04-22 21:09:06 +09:00
MX
4422a03ae9
Merge remote-tracking branch 'OFW/dev' into dev 2024-04-18 17:22:36 +03:00
WillyJL
12112e70bc
BLE: Add GapPairingNone support (#3596)
* BLE: Add GapPairingNone support
* FuriHal: cleanup naming in ble gap, remove useless config options

Co-authored-by: あく <alleteam@gmail.com>
2024-04-18 10:26:58 +09:00
Astra
4883383b20
[FL-3679] iButton new UI (#3471)
* iButton new UI
* UI final touches
* Satisfy PVS

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-04-18 08:05:37 +09:00
あく
70f93a48f5
[FL-2969] FuriHal: add ADC API (#3583)
* Examples: remove unused context
* FuriHal: add simple ADC API
* Examples: add ADC example app
* FuriHal: add extended configuration options for ADC API
* FuriHal: add ADC clock configuration, fix calibration routine for single ended mode, new optimized parameters, documentation.
* FuriHal: add FuriHalAdcChannelTEMPSENSOR sampling time note
* FuriHal: update FuriHalAdcChannelVBAT description.
* FuriHal: use insomnia while ADC is acquired.
* Examples: cleanup example_adc a little bit
2024-04-18 00:17:40 +09:00
Astra
7189026335 Initial MFPlus draft 2024-04-17 11:00:51 +09:00
MX
b079b46681
Merge remote-tracking branch 'OFW/dev' into dev 2024-04-16 22:46:32 +03:00
gornekich
1a40fae003
[FL-3750] Mf Desfire multiple file rights support (#3576)
* mf desfire: remove unused type
* mf desfire: continue reading after failed get free mem cmd
* mf desfire: fix processing read master key settings command
* mf desfire: don't read applications if they are auth protected
* mf desfire: handle multiple rights
* mf desfire: fix PVS warnings
* mf desfire: fix print format
* mf desfire: fix logs
* mf classic: add send frame functions to poller
* unit tests: add test from mfc crypto frame exchange
* mf classic: add documentation
* mf classic: fix incorrect name
* target: fix api version
2024-04-16 14:55:24 +09:00
MX
b3151c563f
Merge remote-tracking branch 'OFW/dev' into dev 2024-04-10 15:18:09 +03:00
RebornedBrain
fb9728d570
[FL-3772] Felica poller (#3570)
* New types for felica poller
* New functions for felica data transmissions
* Felica memory map extended with new fields
* Init/deinit of mbedtls context added for felica encryption
* Functions for session key and mac calculations added
* Raw felica_poller implementation added
* Removed MAC type parameter from check_mac function
* Replaced all data fields needed for auth with context structure
* Clean up felica_poller.c
* Now RC block is filled with random numbers
* New parameter for counting well-read blocks
* Some cleanups
* Felica file save and load logic added
* Now we use card key from context for session key calculation
* Copying card key to card block from auth context when both authentications succeeded, otherwise decrement blocks count by 1
* New felica poller event added
* Moved some data structions to public namespace
* FelicaAuthenticationContext struct moved to felica.h
* Field type and name changed for better ones
* Helper functions for felica_auth added to the app
* New scene for felica card key input added
* Logic for felica key input added
* Auth context request processing added
* Added block index definitions and replaced all index numbers with them
* More macro defines
* Replace nesting with do while block
* New function for write operations mac calculation added
* Replace nesting with do while block
* Make functions static for now because they are used internally
* Wrote some comments
* Raw felica render implementation
* New felica scenes
* Adjusted felica dump rendering according design requirements
* New felica scene added
* Helper for switching scene during unlock added
* Added warning scene and transfer to it
* Moved unlock scene logic to separate files
* Magic number changed
* New felica render logic
* Felica scenes adjusted according to design requirements
* Felica poller cleanups
* Some asserts added and some fixed
* Replcaed asserts to checks in public api
* Fixed pvs warnings in felica_poller
* New event for felica_poller added for incomplete read actions
* Handling of new poller event added
* Update SConscript with felica files
* Update api_symbols.csv with felica functions
* Sync API versions

Co-authored-by: あく <alleteam@gmail.com>
2024-04-10 18:51:36 +09:00
MX
95da39ba88
Merge remote-tracking branch 'OFW/dev' into dev 2024-04-09 20:33:52 +03:00
WillyJL
e3ca293eee
Desktop/Loader: Unload animations before loading FAPs (#3573)
* Desktop: Unload animations before FAP is loaded
* Loader: Add API to start detached (returns instantly, queues event)
* Desktop: Fix early animation unload deadlocks
* Loader: remove redundant event
* Bump api symbols

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: SG <who.just.the.doctor@gmail.com>
2024-04-09 22:42:03 +09:00
あく
88a6860913
Update radio stack to v1.19.0 (#3545)
* Update radio stack to v1.19.0
* Ble: set max connection interal same as min, kinda speedups everything
2024-04-09 16:01:55 +09:00
MX
c9909467f9
Merge remote-tracking branch 'OFW/dev' into dev 2024-04-09 03:24:16 +03:00
Astra
27e61eb808
Move crypto1 to helpers, add it to the public API (#3567)
* Move crypto1 to helpers, add it to the public API
* F18 API version bump

Co-authored-by: あく <alleteam@gmail.com>
2024-04-07 23:47:48 +09:00
WillyJL
16b34c6e4d
Explain RNG differences, add FURI_HAL_RANDOM_MAX (#3565)
* Explain RNG differences, add FURI_HAL_RANDOM_MAX
* Mark FURI_HAL_RANDOM_MAX unsigned

Co-authored-by: あく <alleteam@gmail.com>
2024-04-07 23:11:23 +09:00
WillyJL
c31b60c7b7
IR: Fix crash on duty_cycle=1 (#3568)
* IR: Fix crash on duty_cycle=1
* Infrared: use float around duty_cycle

Co-authored-by: あく <alleteam@gmail.com>
2024-04-07 22:21:25 +09:00
MX
ef29ed149d
better subghz settings and more anim unload fixes
by Willy-JL
2024-04-05 06:36:35 +03:00
MX
a830d6b511
rework subghz settings, enable tx-rx state on unused gpio pin by default 2024-04-05 04:02:33 +03:00
MX
ec4b8b8f5e
Various fixes
fixes by Willy-JL
nfc parser by zacharyweiss
js widget and path globals by jamisonderek
2024-04-05 01:25:03 +03:00
MX
45e7913435
after merge fixes
add void
2024-04-04 22:55:39 +03:00
MX
3ccb2956f3
Merge remote-tracking branch 'OFW/dev' into dev 2024-04-02 17:02:56 +03:00
hedger
096a26b07d
fbt: added -Wstrict-prototypes for main firmware (#3557)
* fbt: added -Wstrict-prototypes for main firmware (excludes extapps)
* unit_tests: fixed declarations using strict prototypes
* furi_hal: ble: changed gap stop log level to debug

Co-authored-by: あく <alleteam@gmail.com>
2024-04-02 02:02:45 +09:00
MX
e436ea275a
Merge remote-tracking branch 'OFW/dev' into dev 2024-03-29 14:05:07 +03:00
Georgii Surkov
64bd2f9c84
[FL-3677, FL-3798] RFID Improvements (#3524)
* Update saved_info and read_success scenes
* Update EM4100 rendering
* Update HIDExt rendering
* Update Gallagher rendering
* Update HidProx rendering
* Update IOProx rendering
* Update H10301 rendering
* Update PAC/Stanley rendering
* Add strcasecmp() to API, better manufacturer/name handling
* Update Viking rendering
* Update FDX-A rendering
* Update Pyramid rendering
* Update Indala26 rendering
* Update Idteck rendering
* Update Keri rendering
* Update Nexwatch rendering
* Update Jablotron rendering
* Update Paradox rendering
* Truncate long Hex string on scene_read_suceess
* Fix formatting
* Update AWID rendering
* Update FDX-B rendering
* Tweak string formatting in various screens
* More read_success view tweaks
* Fix formatting
* Fix Pyramid brief rendering
* Reset saved key menu when going back
* Reset other menus on back where applicable
* Update confirmation scenes
* Update emulation scene
* Update delete scene
* Update raw read info screen
* Update raw read scene, fix crash
* Update raw read success scene
* Update write scene
* Always return to SceneSelectKey after saving
* Update SceneWriteSuccess and SceneDeleteSuccess
* Replace closing parens with dots
* FL-3798: Fix special formatting in text_box
* Simplify SceneReadSuccess
* Fix crash when having a trailing newline in text_box
* Bump API symbols version
* Make PVS happy
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2024-03-29 12:32:43 +09:00
MX
a6aa441edc
add missing void 2024-03-25 23:20:48 +03:00
MX
ae84992f25
Merge remote-tracking branch 'OFW/dev' into dev 2024-03-25 23:20:46 +03:00