upd changelog and docs

This commit is contained in:
MX
2026-02-05 01:48:58 +03:00
parent 67e191b135
commit 97eaee54c8
3 changed files with 11 additions and 10 deletions
+2
View File
@@ -17,6 +17,7 @@
* SubGHz: KeeLoq **display decrypted hop** in `Hop` instead of showing encrypted as is (encrypted non byte reversed hop is still displayed in `Key` field)
* SubGHz: **BFT KeeLoq** try decoding with **zero seed** too
* SubGHz: KeeLoq **display BFT programming mode TX** (when arrow button is held)
* SubGHz: KeeLoq **add counter mode 7 (sends 7 signals increasing counter with 0x3333 steps)** - may bypass counter on some receivers!
* SubGHz: Add signals button editor and real **remote simulation** (full signal transmit with just one click) (PR #956 | by @Dmitry422)
* JS: feat: add IR capabilities to the JS engine (PR #957 | by @LuisMayo)
* NFC: Handle PPS request in ISO14443-4 layer (by @WillyJL)
@@ -28,6 +29,7 @@
* Desktop: Disable winter holidays anims
* OFW PR 4333: NFC: Fix sending 32+ byte ISO 15693-3 commands (by @WillyJL)
* NFC: Fix LED not blinking at SLIX unlock (closes issue #945)
* SubGHz: Added some RAM
* SubGHz: Fix documentation link for HT12A protocol (by @carlogrisetti)
* SubGHz: Improve docs on low level code (PR #949 | by @Dmitry422)
* SubGHz: Fix Alutech AT4N false positives
+6
View File
@@ -127,6 +127,12 @@ CounterMode: 1
**Mode 6:**
- Counter freeze - do not increment
**Mode 7:**
- Incremental mode: `+0x3333` 5 times to current counter and return original value back adding +1 - 2 times - 7 signals in pack total
- Might work with Doorhan, seen in some "universal remotes"
- One click of Send button on flipper may bypass receiver counter, wait for full transmission
---
### 5. V2 Phoenix (Phox)
+3 -10
View File
@@ -202,10 +202,6 @@ static bool subghz_protocol_keeloq_gen_data(
uint64_t man = 0;
uint64_t code_found_reverse;
int res = 0;
// No mf name set? -> set to ""
if(instance->manufacture_name == 0x0) {
instance->manufacture_name = "";
}
// programming mode on / off conditions
if(strcmp(instance->manufacture_name, "BFT") == 0) {
@@ -543,10 +539,8 @@ static size_t subghz_protocol_encoder_keeloq_encode_to_timings(
size_t index) {
furi_assert(instance);
// Generate new key
if(subghz_protocol_keeloq_gen_data(instance, btn, counter_up, false)) {
// OK
} else {
return false;
if(!subghz_protocol_keeloq_gen_data(instance, btn, counter_up, false)) {
return 0;
}
uint32_t gap_duration = subghz_protocol_keeloq_const.te_short * 40;
@@ -1411,8 +1405,7 @@ static uint8_t subghz_protocol_keeloq_get_btn_code(uint8_t last_btn_code) {
// Set custom button
// Basic set | 0x1 | 0x2 | 0x4 | 0x8 | 0xA or Special Learning Code |
if((custom_btn_id == SUBGHZ_CUSTOM_BTN_OK) && (original_btn_code != 0) &&
(keeloq_counter_mode != 7)) {
if((custom_btn_id == SUBGHZ_CUSTOM_BTN_OK) && (original_btn_code != 0)) {
// Restore original button code
btn = original_btn_code;
} else if(custom_btn_id == SUBGHZ_CUSTOM_BTN_UP) {