Commit Graph

559 Commits

Author SHA1 Message Date
m7i-org
7e09f4b774 Sub-GHz: Added Vauno-EN8822 weather station (#262)
* feat(subghz): Added Vauno-EN8822 weather station

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-10-20 07:27:03 +02:00
Derek Jamison
e682b6b19e JavaScript: Add I2C support (#259)
* JavaScript: Add I2C support

* Format

* Check input bytes, allow arraybuf write input

* Add comment

* Return arraybuf, remove unnecessary malloc and memset

* More meaningful var names for code readability, fix some bugs

* Remove unnecessary state

* Fix build

* Update changelog

* Add typedefs

* toString() updates in example script

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-10-20 07:24:44 +02:00
Willy-JL
b171470536 Fix changelog 2024-10-19 01:43:45 +01:00
Willy-JL
bb6c015235 JS: Second batch of OFW PR changes 2024-10-19 01:17:22 +01:00
Willy-JL
ec5bafbfaf Update apps
- Seader: Show error for timeout, fix wrong LRC logging (by bettse)
2024-10-18 04:56:56 +01:00
Willy-JL
019d896075 Merge remote-tracking branch 'ofw/dev' into js-backport-of-backport 2024-10-18 04:38:56 +01:00
Willy-JL
4a0dfa8de9 JS: First batch of OFW PR review changes 2024-10-18 04:35:27 +01:00
Willy-JL
d26bed5c58 Update changelog (not final) 2024-10-18 00:51:33 +01:00
Willy-JL
d8ef57ccb7 Merge remote-tracking branch 'ul/dev' into js-backport-of-backport 2024-10-16 18:57:58 +01:00
Willy-JL
b4c035d933 Merge remote-tracking branch 'ofw/dev' into js-backport-of-backport 2024-10-16 18:26:38 +01:00
MX
9c20bdc287 upd changelog 2024-10-16 19:55:25 +03:00
MX
1df18417fa upd changelog 2024-10-16 18:23:54 +03:00
Willy-JL
87924ec0cd Update changelog, JS changes still missing 2024-10-16 02:14:21 +01:00
sommermorgentraum
2f22fad58b Infrared: Add option to "Load from Library File" for Universal Remotes (#255)
* 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>
2024-10-12 02:08:20 +01:00
m7i-org
925481ffd0 Sub-GHz: Nexus-TH weather station protocol improvements on detection (#256)
* 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>
2024-10-12 02:07:53 +01:00
Willy-JL
c52e7a8107 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-10-10 01:23:38 +01:00
MX
2c70dd51a1 upd changelog 2024-10-09 23:14:06 +03:00
yappr3
3aa97e69de New (and improved!) "Updating" Icon (#253)
* 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>
2024-10-09 05:03:23 +02:00
jay candel
8348510476 [IR] Bluray/DVD Universal Remote (#250)
* 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>
2024-10-09 04:55:58 +02:00
Willy-JL
8461a95ac6 Update changelog 2024-10-09 03:26:12 +01:00
Luu
eef9c42be7 Power: Suppress Shutdown on Idle While Charging / Plugged In (#244)
* Update power.c

* Update power.c

Co-authored-by: WillyJL <49810075+Willy-JL@users.noreply.github.com>

* Update power.c

Co-authored-by: WillyJL <49810075+Willy-JL@users.noreply.github.com>

* Format

* Also restart timer when plugged in but fully charged

avoids the 'it is now safe to unplug cable' screen

* Update changelog

---------

Co-authored-by: WillyJL <49810075+Willy-JL@users.noreply.github.com>
2024-10-08 06:17:05 +02:00
m7i-org
ae70945238 Sub-GHz: Fix GPS "Latitute" typo, switch to "Lat" and "Lon" in .sub files (#246)
* 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>
2024-10-08 06:10:07 +02:00
Willy-JL
ff87fbee37 Forgot to add thsi to changelog --nobuild 2024-10-08 04:25:26 +01:00
Willy-JL
24869788d2 Merge remote-tracking branch 'ul/dev' into mntm-dev --nobuild 2024-10-08 03:01:19 +01:00
m7i-org
ca668ee006 Bresser 3CH protocol: added V0 message format (#245)
* 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>
2024-10-07 05:22:25 +02:00
MX
d2226bd383 upd changelog 2024-10-07 06:09:16 +03:00
Willy-JL
ba605e1c03 Merge remote-tracking branch 'ul/dev' into mntm-dev
Only partially merged 1ceb1eb256 and 09d6e4ee30
Changes to login in cc1101_ext.c and adding setting are ignored
2024-10-07 04:00:01 +01:00
Willy-JL
5f3a9e5cc2 Merge commit '0469ef0e5529' into mntm-dev 2024-10-07 02:44:57 +01:00
MX
ae14e8d3f0 upd changelog 2024-10-05 10:32:24 +03:00
Willy-JL
c65c2d5c01 Update apps
- Solitaire: App rewrite, Added quick solve, New effects and sounds, Removed hacky canvas manipulation (by doofy-dev)
2024-10-05 01:16:17 +01:00
jay candel
b90e8fcf33 Infrared: New MNTM Specific Universal Remote Additions (#240)
* 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>
2024-10-04 23:26:49 +02:00
Willy-JL
cf5a251c3c Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-10-04 22:17:11 +01:00
Willy-JL
5cb1decd05 Update changelog 2024-10-01 14:49:36 +01:00
MX
73172b1090 upd changelog 2024-09-29 04:11:53 +03:00
Willy-JL
fb4d0032e6 Remove Mifare Nested (superseded by NFC app with OFW 3822) 2024-09-27 04:50:06 +01:00
Willy-JL
fecd5c8fe3 BLE Spam: Fix menu index callback 2024-09-27 04:14:10 +01:00
WillyJL
f8688d7e94 Merge pull request #207 from Next-Flip/ofw-3822-nestednonces
OFW PR 3822 (MIFARE Classic Key Recovery Improvements)
2024-09-27 03:54:22 +01:00
Willy-JL
7c98f74294 Update changelog 2024-09-27 03:43:51 +01:00
RocketGod
a8ea95ed2c Add support for NTAG I2C Plus 1k and 2k chips (#237)
* 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>
2024-09-27 03:35:35 +02:00
Willy-JL
f937e5b7ef Update apps
- ESP Flasher: Support more board types (by xMasterX)
2024-09-27 01:54:59 +01:00
Willy-JL
8b8d3b2833 Merge remote-tracking branch 'ul/dev' into mntm-dev 2024-09-27 01:48:29 +01:00
MX
50ae431a48 upd changelog 2024-09-26 21:59:07 +03:00
MX
b03d9f313b upd changelog 2024-09-26 19:44:29 +03:00
Willy-JL
6ef49ea8a7 Add Games: Umpire Indicator (by RocketGod-git) 2024-09-24 05:55:14 +01:00
Willy-JL
66cdb9ad78 Update apps
- NFC Playlist: Error screen for item already in playlist, general improvements (by acegoal07)
- CLI-GUI Bridge: Fixes and improvements (by ranchordo)
- Seader: Enable T=1 (by bettse)
- UL: Sub-GHz Bruteforcer: Use FW functions for top buttons (by DerSkythe)
2024-09-24 05:49:37 +01:00
Willy-JL
62ce89e41e Merge remote-tracking branch 'ul/dev' into mntm-dev 2024-09-24 05:47:20 +01:00
MX
42ab90b19b upd changelog 2024-09-21 04:10:17 +03:00
Willy-JL
97879c3bf3 Update apps
- NFC Playlist: Add playlist already exists error, general improvements (by acegoal07)
2024-09-18 02:11:30 +01:00
jay candel
65df2e4d1f NFC: SmartRider Parser (#203)
* 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>
2024-09-18 03:00:49 +02:00
m7i-org
df273950cc Sub-GHz: Show satellites count with an icon (#215)
* 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>
2024-09-18 01:43:30 +02:00