* init
* comments
* remove trash
* remove code that mistakenly added from merging conflicts
* remove code that mistakenly added from merging conflicts
* format
* remove header that added during debugging
* ecit name
* Revert some whitespace changes to avoid future conflicts
* get_button_count()
* Use same index values
* Use common functions where possible
* Unroll long if into guard check
* Fix furi check failed due to inflated button index
* Show "assets" folders
* Load DB file only once and show loading animation
* Add bool for auto_detect_buttons
* Show error when tryingto load remote file as universal library
* Remove unnecessary includes
* Fix inputs
* more_devices -> from_file
* Consistency
* Remember last selected library file
* Update changelog
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
* feat(subghz): Nexus-TH improvements on detection
Added detection improvements for Nexus-TH as in 00bd97c63a/src/devices/nexus.c (L63-L78) :
- If hum==0% there's no humidity sensor, so don't overwrite to 20%
- If the Rubicson check matches, then it's probably not a Nexus-TH
- Check temp range beween -50C and 100C
* Update changelog
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
* Delete assets/icons/Update/Updating_32x40.png
* New "Updating" Logo
Concept by Mr.House, original art by Vale, design(s) by Pr3, feedbacks by nescap, extra designs/pr3's inspiration by Kuronons :)
- Kuronons, 2024
* Delete assets/icons/Update/Updating_32x40.png
removed old logo in favour of improved one.
* New(er) Updating Logo
* Double border (?)
* Update changelog
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
* New Bluray/DVD Remote Icons
* add Bluray/DVD Universal Remote
* update api_symbols v73.2
* Delete api_symbols.csv
* update api_symbols v73.2
* update f18 api_symbols v73.2
* update api_symbols v73.2 fr this time
* add new bluray universal db
* update api_symbols to LF
* convert icons to 1-bit B&W
* fbt format
* Must be in line with OFW
* Tweak buttons a little
* add ok button icons
* change 'stop' button to 'ok'
* add new ok icons
* update ok icons to 1bit b&w
* update f7 api_symbols
* update bluray_dvd.ir
* update bluray universal remote
changed stop to 'ok'
changed next & prev to fast f and fast b
* new icons
* update icons to 1-bit BW
* fbt format
* Delete applications/main/infrared/infrared_scene_universal_bluray.c
* Add files via upload
* Add files via upload
* change ok icon to a tick
* the last commit.
gotta remember to format icons as 1bit BW lmao
* Update changelog
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
* fix(subghz): s/Latitute/Latitude/
* feat(subghz): using Lat,Lon with fallback to older values
* Some speedup and fix fallbacks
* Update changelog
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
* feat(subghz): added V0 message format to Bresser 3CH protocol
Improved the Bresser 3CH recognition, as some sensors send multiple message types at the same time.
* Update changelog
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
* new validated signals (from IRDB)!
* add last updated line
* small monitor.ir format fixes
* Update changelog
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
* Add support for NTAG I2C Plus 1k and 2k chips so my Dangerous Things xSIID implant scans and displays NDEF properly.
* Update changelog
* Format
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
* adding smartrider_parser
* adding SmartRider parser
new parser for SmartRider cards, a public transport smart card system used in Western Australia.
extracts and interprets key information from the card, including:
-Current balance
-Card serial number
-Concession type
-Purchase cost
-Details of the last two trips (including tag on/off status, cost, route, transaction number, and journey number)
* optimising
- removed all logging to simplify output.
- used early returns for clearer error handling.
- optimized setups outside loops to improve memory use.
- simplified flows by removing unnecessary loops.
- placed variables closer to their use for better readability.
- cached data blocks to streamline data handling.
- added a helper function for parsing trips, reducing redundancy.
- corrected loop counter types to avoid compile-time errors.
* cleaning displayed data
- removed transaction (txn) and journey (jrn) numbers to declutter the trip details.
- shortened "previous trip" to "prev trip" to optimize screen space usage.
* added and refined displayed data
added auto load field "threshold amount / reload amount"
changed serial to display first two digits as SR0 for consistency with physical card.
* Format
* Improved Verification Process
- Added definitions for STANDARD_KEY_2 and STANDARD_KEY_3
- Enhanced smartrider_verify function to check for all three specific keys:
- STANDARD_KEY_1 in Sector 0 as Key A
- STANDARD_KEY_2 in Sector 6 as Key A
- STANDARD_KEY_3 in Sector 6 as Key B
- Implemented read operations to verify actual key values stored on the card
- Added comparisons between read key data and expected key values
- Improved debug logging for each step of the verification process
* Integrated Verification into Parse Function
- Added key verification for sectors 0 and 6
- Implemented do-while loop structure for early exit on verification failure
- Moved block readability checks inside verification process
- Added parsed flag to indicate successful parsing
- Updated return value to reflect parsing success
- Maintained existing parsing logic and output format
* fixed false positives
recieved some cuid cards today so was able to test for myself can confirm works... finally
changes made:
-updated key assignment in smartrider_read
-simplified key verification in smartrider_parse
-improved error handling and logging
-streamlined data parsing process
-corrected key checking logic
-added checks for required block readability
-improved flow control with strategic breaks
-adjusted block data access method
* small optimizations
- refactored `smartrider_verify` and `smartrider_read` by abstracting repeated key operations into `authenticate_and_read` function for improved code maintainability.
- optimized `smartrider_read` by introducing a loop for key setup, reducing redundancy and improving efficiency.
- streamlined error handling in `smartrider_read` by replacing do-while loop with conditional checks.
- changed standard key references to use `standard_keys` array indices
* formatting
* Delete duplicate smartrider.c
* updated smartrider.c
* found 'fbt format'
* transaction parsing updates
-removed last trip/prev trip wording and replaced with "Trip History" header
-added date in front of each transaction
-only shows transaction cost if it's higher than 0
-changed tag on/tag off to +/- to save room
-added 8 more transactions to Trip History
-verified still working and formatted with fbt
* fixed reboot with partially unlocked card
-added bounds checking for all block accesses to prevent out-of-range memory access
-implemented improved error handling with an error_occurred flag
-introduced a maximum iteration count for date calculation to prevent infinite loops
-used snprintf with size limits for all string operations to avoid buffer overflows
-added validation for trip count to ensure it doesn't exceed the maximum allowed
-implemented checks to skip unread or out-of-range blocks during trip parsing
-added safeguards against corrupted or invalid timestamp data
* optimized SmartRider card parsing and verification
- replaced do-while loop with direct error checks in smartrider_parse
- optimized key verification using direct memcmp in smartrider_verify
- introduced inline functions for common operations (e.g., set_key, read_le16)
- replaced bubble sort with insertion sort for trip data
- simplified date calculation using a lookup table for days in month
- used uint_fast8_t for loop counters to allow compiler optimization
- added __attribute__((hot)) to key functions for aggressive optimization
- removed redundant variable declarations and function calls
- optimized memory usage with static const arrays for required blocks
- simplified error handling in smartrider_read and authenticate_and_read
- used __builtin_memcpy and __builtin_memcmp for potential compiler optimizations
- tested and formatted with fbt
* small fixes
-renamed "Trip History" to "Tag On/Off History"
-fixed date calculation to account for leap years
-misc changes
* Update changelog
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
* feat(subghz): show satellites if enabled
Replaces the display of the number of satellites during SubGHz scanning. If GPS is enabled (an an external module connected) it will blink a GPS icon with the number of sats currently in range (even if zero).
Using a 10x10px "positioning" icon that replaces the SubGHz icon on the bottom right.
* Revert api version to ofw release
* f18 too
* Tweak icon a little
* Update changelog
* Format
---------
Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>