Commit Graph

1507 Commits

Author SHA1 Message Date
MX fb6070f29d Merge remote-tracking branch 'OFW/dev' into dev 2024-05-19 03:45:07 +03:00
WillyJL c673b53e21 JS: Add math module (#3598)
* JS: Add math module
* Double constants
* Error on argument type mismatch
* Fix missing returns
* Using sin, exp from c library
* asin, acos, pow, sqrt too
* Js: tests for math module and various fixes.

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: nminaylov <nm29719@gmail.com>
2024-05-17 17:45:40 +01:00
MX 51bb9c0a0a Merge remote-tracking branch 'OFW/dev' into dev 2024-05-17 17:15:48 +03:00
gornekich 217bfac2fc NFC: add Slix capabilities (#3652)
* iso15693 listener: fix inventory cmd and buffer overflow
* iso15 listener: fix read multiple blocks command
* slix: print password
* slix: add capabilities field
* slix listener: skip password validation for special capability
* slix: fix capability name
* slix: add capabilities handler to verify and reset
* nfc test: introduce slix tests
* fbt: change toolchain back to 33 version
* slix: fix saving capablities comment
* unit tests: add slix files to resources
* slix: fix set passwrd signature
* nfc tests: add set correct password test
* nfc test: complete slix password tests
* nfc test: add slix file test
* nfc test: handle errors in worker callback
* iso15693_3: code clean up
* iso15693_listener: fix incorrect afi handling
* slix: chage capabilities format to one word camel case
* unit tests: update nfc files with new slix format

Co-authored-by: あく <alleteam@gmail.com>
2024-05-17 12:58:32 +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
MX 97d5b8b6f6 subghz plugin ext only load 2024-05-16 03:54:20 +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
Leptopt1los a86aeface5 electra lfrfid protocol implemented (#3640) 2024-05-15 00:27:35 +10:00
gornekich 5f9b300ab2 NFC: Mf Desfire fix reading big files (#3616)
* mf desfire: fix incorrect long files reading
* nfc app: trim record size for mf desfire render
* mf desfire: rework reading long record files
* mf desfire: more robust size check

Co-authored-by: あく <alleteam@gmail.com>
2024-05-14 13:34:27 +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
Samar Sunkaria 8ffee678c6 Add support for R_ARM_REL32 relocations. (#3631)
It is fairly straightforward to correctly resolve an R_ARM_REL32 relocation as described in
in the "Relocation types" section of ARM ELF Specification
(https://developer.arm.com/documentation/espc0003/1-0/?lang=en). The documentation provides
the following formula:

```
S - P + A
```

where `S` is the value of the symbol (symAddr), `P` is the address of the place being
relocated (relAddr), and `A` is the addend (value extracted from the storage unit being
relocated, in this case).

I encountered the R_ARM_REL32 relocation type as part of my work for building apps written
in Swift for the Flipper Zero. I have manually tested that this relocation works correctly
by building and running multiple apps that depend on this relocation.

Co-authored-by: あく <alleteam@gmail.com>
2024-05-13 16:21:28 +01:00
MX a89a67d103 fix naming 2024-05-03 23:04:58 +03:00
Methodius d73832a5dd Merge remote-tracking branch 'origin/dev' into electra 2024-05-03 22:17:14 +03: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
Methodius bf721d7a5f Merge remote-tracking branch 'origin/dev' into electra 2024-05-01 21:12:14 +03:00
Methodius 7077d588c7 electra protocol rename. again 2024-05-01 21:12:06 +03:00
MX 75ece9b697 add temp fix since no proper fix exist at the moment 2024-05-01 19:07:57 +03:00
MX a57dbe446e update DS1420 for latest ibutton changes 2024-05-01 16:53:49 +03:00
MX 9b377e6f80 Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into dev 2024-05-01 16:49:53 +03:00
MX 1736a8a7c2 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-30 22:31:39 +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
MX c157ca9879 Merge remote-tracking branch 'OFW/gornek/desfire_long_files' into dev 2024-04-27 15:09:21 +03:00
Astra 379e8d2a6a Fix cyfral crashes 2024-04-27 15:53:19 +09:00
Astra 42c69b076a iButton: fix crash when deleting some keys 2024-04-26 19:07:51 +09:00
gornekich 0e3cbb4911 mf desfire: rework reading long record files 2024-04-25 20:01:32 +01:00
gornekich e5f9af3b43 mf desfire: fix incorrect long files reading 2024-04-25 18:13:52 +01:00
MX 3108f07a4b faac rc add button B 2024-04-23 15:04:20 +03:00
MX c3b59a9dba add todo 2024-04-23 14:54:56 +03:00
Astra 2987a46322 Alloc takes no arguments 2024-04-23 11:00:37 +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
Methodius 70cdd26855 electra cleanup, protocol description added 2024-04-21 21:03:10 +03:00
Methodius 0a7e258c1a Merge remote-tracking branch 'origin/dev' into electra 2024-04-21 12:31:55 +03:00
MX f88a916ccc Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-04-21 11:42:57 +03:00
Methodius 5bf16e7e0e no more hardcoded epilogue (for now, whitelist will be great if it is possible) 2024-04-19 23:17:18 +03:00
Methodius 7b99f0b0bb Merge remote-tracking branch 'origin/dev' into electra 2024-04-19 18:07:23 +03:00
Leopold 286fd796e7 add support for S(WTX) request in iso14443_4a_poller (#3590)
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-04-19 21:11:22 +09:00
Astra 9042009b0b Proper detection (WIP) 2024-04-19 20:43:18 +09:00
MX 4422a03ae9 Merge remote-tracking branch 'OFW/dev' into dev 2024-04-18 17:22:36 +03: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
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 f4ffd29bbc Allow no prefix usage of name_generator_make_detailed_datetime
Remove extra check for NULL since check is present in code already
2024-04-12 20:16:42 +03: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