Commit graph

3981 commits

Author SHA1 Message Date
MX
e6c240d363
Merge remote-tracking branch 'OFW/dev' into dev 2024-06-14 17:43:34 +03:00
WillyJL
12c1d10246
Furi: Fix EventLoop state persisting on same thread after free (#3711)
* Furi: Fix EventLoop state persisting on same thread after free
* Furi: clear event loop notification state and value on allocation, report unprocessed events on free
* UnitTests: add multiple event loop runs in one thread test

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-14 15:00:34 +01:00
MX
2cbd058dc2
make NFC emulation loading from favourites faster 2024-06-14 03:48:39 +03:00
MX
ec747892c9
Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-06-13 23:27:27 +03:00
あく
ca8517a1b0
Cli: top (#3707)
* Cli: top command to replace ps. Furi: ThreadList and thread enumeration routine.
* Sync API Symbols
* Cli: cleanup top output, add memory section. Furi: thread enumeration code cleanup. Fix doxygen and make pvs happy.
* Furi: iterator in thread_list instead of M_EACH, fix memory leak
* Update documentation
* Cli: customizable refres interval for top command
* Furi: add consistentency into float declaration in thread list
* FreeRTOSConfig: remove invalid comment

Co-authored-by: Sergei Gavrilov <who.just.the.doctor@gmail.com>
2024-06-13 18:07:13 +01:00
あく
5a8a13639b
[FL-3842] Desktop lockup fix, GUI improvements (#3710)
* Gui: increase ViewDispatcher messages queues size, improves event processing with blocking operations.
* Gui: fix log message text in view dispatcher, loosen some mutexes in view port
2024-06-14 02:47:43 +10:00
Sergei Gavrilov
730026c87a
[FL-3844] Loader: fix crash on "locked via cli loader" (#3706) 2024-06-13 12:38:24 +01:00
SG
4f6aff4bd1
Loader: fix crash on locked via cli loader 2024-06-12 19:55:42 +03:00
MX
ceaf2d4153
add js adc
by jamisonderek

https://github.com/Next-Flip/Momentum-Firmware/pull/143/files
2024-06-12 12:31:10 +03:00
MX
d4d5b1b55a
fix typo 2024-06-11 16:15:18 +03:00
MX
181c59b30f
Merge remote-tracking branch 'OFW/dev' into dev 2024-06-10 22:55:02 +03:00
Astra
cf8c82c451
[FL-3746] Mifare Plus detection support (#3607)
* Initial MFPlus draft
* Proper detection (WIP)
* Mifare Plus detection done
* Bump F18 API
* Alloc takes no arguments
* Fixes from code review
* Remove leftover logging
* Remove stray reminder comment
* Review changes and extra logging
* Fix atqa detection
* Fix incorrect comparison
* ATQA byte swap fix
* mf plus: code clean up
* mf plus: remove unused code
* mf plus: fix read fail event handling
* mf plus: fix return error codes
* mf plus: handle load and save errors
* mf plus: assert -> check in public API funxtion
* Bump API Symbols version
* Fix wrong feature mask
* Skylanders plugin separation
* Fix navigation
* Fix info box size

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-06-10 20:36:46 +01:00
あく
6d8b050eda
[FL-3833] Furi: event loop (#3675)
* Furi: epoll prototype

* Gui: simplify view_dispatcher custom event processing

* Furi: add missing critical sections to epoll

* Furi: add epoll unit tests, fully implement level processing for in and out events

* Furi: properly trigger epoll item event on adding mq, update tests.

* Unit tests: cleanup defines

* Furi: protect epoll from modification in callback

* Furi: rename epoll into event_loop, cleanup api naming

* Sync API Symbols

* Furi: add event loop contract and link api, port mq to new api, cleanup code

* Format Sources

* Furi: cleanup mq and event loop code

* Furi: remove unused staff from message queue

* ApiSymbols: remove event loop from public APIs.

* Fix furi unit tests

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-06-10 20:53:08 +03:00
あく
0bc400a3ae
Code Cleanup: unused includes, useless checks, unused variables, etc... (#3696)
* Remove unnecessary checks
* Sublime: never insert missing headers
* Cleanup furi defines use
* Cleanup startup. Cleanup linker scripts. Explicitly define all interrupts hadlers, including uninmplemented one.
* Startup routine in C
* Drop assembler startup
* Move linker defines to stm32wb55_linker.h, cleanup naming, unify usage. Mpu: protect last 32b of main stack. Document various obscure things.
* Move furi_hal_switch documentation to appropriate place, use 0x0 for updater jump.
* UnitTests: move all temporary test files into tmp folder

---------

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2024-06-11 03:04:29 +10:00
MX
7f05a224be
Merge remote-tracking branch 'OFW/dev' into dev 2024-06-09 16:05:06 +03:00
Skorpionm
ef0300d239
[FL-3840] SubGhz: fix gui "No transition to the "Saved" menu when deleting a SubGHz RAW file" (#3695)
* SubGhz: fix gui "No transition to the "Saved" menu when deleting a SubGHz RAW file"
* SubGhz: remove dead code

Co-authored-by: あく <alleteam@gmail.com>
2024-06-08 15:45:31 +01:00
RebornedBrain
467e973da2
[FL-3810] Felica emulation (#3673)
* Moved some structs and defs from poller to generic felica
* Buffer size increased for transferring more data
* Felica HAL Tx function implemented
* Some structs and fields for listener
* Raw listener implementation
* Added new event for felica activation
* Proper config fot listener added
* Moved some structs from poller in order to use them in listener too
* New function for calculating MAC
* Listener data structures and function definitions
* Private listener functions implementation added
* Raw felica listener logic implementation added
* Fix total sector count both for poller and listener
* Defined type for write handlers
* New logic for write operations added
* Removed old commented code
* Splitted read logic into several separate functions
* New type added and some fields to instance
* New logic of read command implemented
* Defines added for response codes
* Functions moved to private namespace
* Function visibility changed and some cleanups
* Update felica_listener.c, felica_listener_i.c, and felica_listener_i.h
* Some type adjustments
* Moved frame_exchange function to private namespace
* Error handling added
* Function to get data_ptr for write request added
* Missing declaration added
* Add processing of nfc errors
* write_with_mac is a local variable now
* Adjustments to MAC calculation logic
* Values replaced with defines
* Update nfc_transport.c with felica logic
* Sync felica poller added for unit tests
* Felica unit_tests and data dump added
* Fixed proper reading of MAC_A block when it is 1st
* Macro definitions for MC added
* Function simplified
* More defines
* CRC check for incomming packets added
* Readonly logic adjusted
* Block write validation adjusted
* New logic for ID block writing
* Some cleanups
* New logic of moving across the block list with different element length
* Some cleanups
* Adjusted requires_mac logic to cover all blocks needed
* Cleanups and renaming
* New block list validation logic
* Block list logic iteration simplified
* Some asserts and checks added
* Replaced MC[2] checks with macros
* Marked def values as unsigned
* Removed old code
* Removed commented function declarations
* Changed protected block in felica test card dump and adjusted tests
* Fixes after merge
* Moved defines to header
* Now we allocate memory for max possible response pack in any case
* Some renaming and documentation
* Bump api symbols
* Set feature to emulate full for felica
* Removed 'More' button and added MoreInfo feature which adds this button back
* Types renamed
* Removed unnecessary code
* Reformat comments
* Fixing missing signatures
* Replaced crash with error log and return value
* Format doxygen comments

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-08 15:24:51 +01:00
RebornedBrain
ba3beeddeb
[FL-3811] Write to ultralight cards is now possible (#3684)
* Added new function which returns end block for write operation
* Enabled write menu item also for Ultralight 11 and 21
* Fix api_symbols.csv for f18
* Bump Api Symbols

Co-authored-by: あく <alleteam@gmail.com>
2024-06-08 14:38:02 +01:00
WillyJL
2f9ca172e3
RPC: Add TarExtract command, some small fixes (#3685)
* RPC: Add TarExtract command
* Tar: Fix unpack when not at FS root
* RPC: Add missing storage state resets
* Fix dupe state reset
* Bump pb submodule
* Switch to latest protobuf release
* RPC: cleanup excessive furi_record calls in rpc_storage

Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-06-08 14:15:12 +01:00
RebornedBrain
7ff785d71f
[FL-3786] Fixed infinite loop in dictionary attack scene (#3686)
Co-authored-by: あく <alleteam@gmail.com>
2024-06-08 12:51:54 +01:00
Georgii Surkov
418a98c299
[FL-3808] Fix renaming directories with dots in archive (#3692) 2024-06-08 12:32:30 +01:00
Nico Hagelberg
c81d7666a9 BadUSB: Add Finnish keyboard layout 2024-06-06 20:02:02 +03:00
MX
62ab6b7026
cleanup 2024-06-06 02:10:23 +03:00
MX
8dad9468d5
fix deprecated 2024-06-06 01:34:35 +03:00
MX
8938cbfc6e
add subghz protocol - legrand
by user890104

https://github.com/Next-Flip/Momentum-Firmware/pull/120/files
2024-06-06 01:33:47 +03:00
MX
05457b41e4
Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into nfc_mfplus 2024-06-06 01:12:34 +03:00
MX
bde889c338
Reapply "Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into dev"
This reverts commit 6bfa383cea.
2024-06-06 00:55:29 +03:00
MX
528636c814
Merge remote-tracking branch 'RebornedBrain/reborned/infinite_dict_attack_fix' into dev 2024-06-06 00:49:26 +03:00
MX
373f61459a
Merge remote-tracking branch 'RebornedBrain/reborned/ultralight_write' into dev 2024-06-06 00:48:46 +03:00
MX
305bf7273c
fix clock 2024-06-06 00:41:57 +03:00
MX
17dbb4105d
Merge remote-tracking branch 'OFW/dev' into dev 2024-06-06 00:35:40 +03:00
Georgii Surkov
20c4121f25
[FL-3832] Use static synchronisation primitives (#3679)
* Use static mutex
* Add static_assert checks
* Use static semaphore
* Fix formatting
* Use static stream buffer
* Use static timer
* Use static event group
* Increase allocation size for stream buffer
* Remove recursive bit from the mutex before freeing
* Prevent service tasks from ever returning
* Use static threads
* Do not realloc memory when changing stack size
* Use FuriSemaphore instead of raw FreeRTOS one in rpc_test
* Remove redundant includes
* Abolish FreeRTOS dynamic allocation
* Improve FuriMutex
* Improve FuriMessageQueue
* Remove redundant comments and parentheses
* Clean up code more
* Create service threads via a dedicated constructor
* Minor code improvements
* Update docs for FuriThread, FuriTimer
* Fix doxygen typo
* Use a bigger buffer for static StreamBuffer
* Furi: remove timer control block only when timer thread have completed all operations
---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-05 18:04:03 +01:00
Astra
6db3c0c6bc
Merge branch 'dev' into astra/3746-mfp-detect 2024-06-05 18:55:41 +09:00
Astra
9bcd2ecd9b Fix navigation 2024-06-05 18:51:15 +09:00
Astra
4357a1e9d2 Skylanders plugin separation 2024-06-05 18:11:57 +09:00
RebornedBrain
bbece015e0 Fixed infinite loop in dictionary attack scene 2024-06-04 15:37:31 +03:00
RebornedBrain
78f8835cac
Merge branch 'dev' into reborned/ultralight_write 2024-06-03 19:38:15 +03:00
hedger
03196fa110
cleanup of various warnings from clangd (#3682)
* cleanup of various warnings from clangs
* lfrfid_debug: cast fixes
* subghz: binraw: round->roundf
* furi: thread: updated internal stack size variable to size_t
* github: fail faster on unsuccessful build
* unit_tests: double trouble
2024-06-03 14:43:23 +01:00
RebornedBrain
06d44550d9 Enabled write menu item also for Ultralight 11 and 21 2024-06-03 16:26:39 +03:00
Astra
8decc8052e Fix wrong feature mask 2024-06-03 19:28:25 +09:00
MX
303313669a
Merge remote-tracking branch 'OFW/dev' into dev 2024-06-01 22:17:17 +03:00
あく
1d3ee57a02
Merge branch 'dev' into astra/3746-mfp-detect 2024-06-01 17:49:49 +01:00
Filipe Paz Rodrigues
0d4ead8fbd
Add initial ISO7816 support (#3681)
* Add initial ISO7816 support
* Format sources and sync API Symbols version
* Debug: change VID/PID in ccid test app to opensc detectable generic one

Co-authored-by: あく <alleteam@gmail.com>
2024-06-01 17:45:27 +01:00
MX
4b5e7d90d6
Merge remote-tracking branch 'OFW/dev' into dev 2024-06-01 16:55:04 +03:00
Skorpionm
83e4bcc35a
SubGhz: Princeton protocol add custom guard time (#3671)
* SubGhz: Princeton protocol add custom guard time
* SubGhz: fix type var
* SubGhz: fix syntax
* SubGhz: add define PRINCETON_GUARD_TIME_DEFALUT
* Update princeton.c

Co-authored-by: あく <alleteam@gmail.com>
2024-06-01 12:15:24 +01:00
MX
64799b7b10
Merge remote-tracking branch 'OFW/dev' into dev 2024-05-31 12:29:42 +03:00
gornekich
cdcff2faef
Merge branch 'dev' into astra/3746-mfp-detect 2024-05-30 13:04:53 +01:00
あく
3f04d6dd46
Furi: wrap message queue in container, prepare it for epoll. Accessor: disable expansion service on start. (#3672)
* Furi: wrap message queue in container, prepare it for epoll. Accessor: disable expansion service on start.
* Furi: one allocation, smaller message queue struct, type compatibility with FreeRTOS.
2024-05-30 12:58:03 +01:00
gornekich
bf41cc43a1 mf plus: fix read fail event handling 2024-05-29 18:23:34 +01:00
gornekich
8cdb8aafac
Merge branch 'dev' into astra/3746-mfp-detect 2024-05-28 17:11:43 +01:00