* SimpleArray attached to FelicaData
* tx rx done. response parsing done (in log)
* dynamic vector as buffer. rendering begin
* On screen render for directory tree
* flags in render to indicate is_public_readable
* beautify render flags
* format
* offload dynamic vector into individual files
* saving. exposed dir tree writing for double use
* save: additional formatting
* save: clean up and some additional notes
* load done
* delete unnecessary debug log
* Load: safer way to handle backward compatibility
`parsed` being true is only contingent on whether the header (device type, UID, etc) are correctly read. The detailed data can be absent if saved from previous versions.
Side effects:
1. The data format version number must not increment.
2. Newer sections of dumps must be appended in the end of the file.
* format
* handle block reading according to IC type
Old version was aimed for FeliCa Lite dumping, which doesn't apply to FeliCa standard. Thus they need to be diverged in the poller run workflow.
* read block content works. rendering begin
* Render Refactor: dir & dump view from submenu
* Render: show IC type name
* IC parsing function cleanup
* Revert "IC parsing function cleanup"
This reverts commit ee3f7bf125b54b10d238b0aeb657ba15f27f93ba.
* Load: Standard dump. Fully backward compatible
* format
* sync API version
* format saved file
* delete unused variable
* clean ups
* IC type addition
* correction
* beautify attribute parsing
* correction
* Lite save: delete extra line
* correction: FeliCa link in Lite-S mode
* format
* Save: simplify printing
* update IC type parsing
* conform to api standard: const resp ptr to ptr
also slightly faster and more readable block dump loop
* disambiguate workflow type vs ic type
It was too confusing to have the ic name string telling you one thing and ic_type enum saying the other. Might as well use better naming to indicate the use case for the two things
* beautify on device render
* reject dynamic_vector, embrace m-array
* lint
* use full variable name
* partial fix: poller context's data proper init
* edit unit test dump IC code
and a small bug fix for the Lite auth workflow
* unit test felica dump PMm correction
* Fixes for static analysis warnings
---------
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
* Fix Typos
* Tune decoders
* Better parsing, show more data in existing protocols
* Add new protocols
* Update keeloqs
* Add unit tests & raws
* Add honeywell unittest
* Comment until better solution is found
Adding GAPs to be sent first to make signal better suitable for decoder (decoding from only one signal sample) does nothing, needs something else
TODO: Fix encoders?
* suppressed missing issue warning
* subghz: re-enabled failing encoder tests
* Fix two?
3 left
* properly do gangqi and marantec for unit test and real use
* fix unit tests now
* fix possible memory leak
* reset decoder step too
* subghz: extra encoder safety; report random signal test results on failure
* unit_tests: subghz: renamed test file for consistency
* subghz: more explicit buffer position resets
* Fix gangqi samples
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
* Added Dickert MAHS protocol
* Update protocol_items.c
* Added Dickert MAHS protocol reference
* Update protocol_items.h
* Removed logging and some defines
* Reworked the send code to properly adhere to Dickert timings
* Added subghz unit test for Dickert MAHS
* Minor fix in encoding length
* Added Dickert Decoder Test to subghz unit tests and set repeat=10
* SubGhz: cleanup dickert mahs code and documentation
* SubGhz: correct type in for statement in dickert mahs
Co-authored-by: あく <alleteam@gmail.com>
* Update api_symbols.csv
* Ultralight C 3des implementation added
* Access check for Ultralight cards is now splitted into 2 functions one for ULC card and another for common
* Ultralight C authentication command handlers added
* Update api_symbols.csv and api_symbols.csv
* Length added to ultralight encrypt function
* New structure for storing 3des key added
* Reseting of 3des_key added
* des_context init/deinit added to poller
* New poller step for ultralight c auth added
* Added ultralight c des key to application
* Renamed felica unlock scenes to more generic des auth scenes, because they are now used also for ultralight c
* Show different menus for different ultralight card types
* Update api_symbols.csv and api_symbols.csv
* Some macro defines added
* Different amount of pages will be now read for ultralight C and others
* New unit test for ultralight C
* Some comments and macro replacements
* New function added to api
* Now all data read checks mfulC separately
* Adjusted listener to handle missing 3des_key properly
* Now poller populates 3des_key after reading with auth to card data
* Nfc: rename _3des_key to tdes_key
* Bump API Symbols
* Mute PVS Warnings
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
* 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>
* 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>
* add support for Pioneer SR IR remotes
* fix minor issues
* fix repeat
* Fix protocol enumeration order
* Add unit tests for Pioneer IR protocol
* Clean up raw test data
* Add encoder/decoder tests, modify parser
* Remove dead code
* Use loops where appropriate
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
* Add Mastercode SubGHz Protocol
* Add 2 valid raw files and cleanup code
* Add tests to the two Raw Files
* Remove extra test & delete comments
* Fixes pulse length and shows correct Key
Co-authored-by: FlipperZelebro <flipperzelebro [at] gmail.com>
Co-authored-by: あく <alleteam@gmail.com>