mirror of
https://protopirate.net/ProtoPirate/ProtoPirate.git
synced 2026-08-29 10:48:23 +00:00
button is still broken
FAP Build / ufbt: Build for Momentum dev (push) Successful in 38s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 38s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 37s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 37s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 47s
FAP Build / ufbt: Build for Momentum release (push) Successful in 59s
FAP Build / ufbt: Build for Momentum dev (push) Successful in 38s
FAP Build / ufbt: Build for OFW dev channel (push) Successful in 38s
FAP Build / ufbt: Build for OFW release channel (push) Successful in 37s
FAP Build / ufbt: Build for Unleashed dev (push) Successful in 37s
FAP Build / ufbt: Build for Unleashed release (push) Successful in 47s
FAP Build / ufbt: Build for Momentum release (push) Successful in 59s
This commit is contained in:
+17
-10
@@ -67,14 +67,20 @@ static const uint32_t vag_tea_key_schedule[] = {0x0B46502D, 0x5E253718, 0x2BF93A
|
||||
|
||||
static const char* vag_button_name(uint8_t btn) {
|
||||
switch(btn) {
|
||||
case 1:
|
||||
case 0x1:
|
||||
return "Unlock";
|
||||
case 2:
|
||||
case 0x2:
|
||||
return "Lock";
|
||||
case 4:
|
||||
return "Trunk";
|
||||
case 0x4:
|
||||
return "Boot";
|
||||
case 0x10:
|
||||
return "Unlock";
|
||||
case 0x20:
|
||||
return "Lock";
|
||||
case 0x40:
|
||||
return "Boot";
|
||||
default:
|
||||
return "Unknown";
|
||||
return "Unkn";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1111,14 +1117,14 @@ static uint8_t vag_btn_to_byte(uint8_t btn, uint8_t vag_type) {
|
||||
return btn;
|
||||
} else {
|
||||
switch(btn) {
|
||||
case 1:
|
||||
case 0x1:
|
||||
return 0x10;
|
||||
case 2:
|
||||
case 0x2:
|
||||
return 0x20;
|
||||
case 4:
|
||||
case 0x4:
|
||||
return 0x40;
|
||||
default:
|
||||
return 0x20;
|
||||
return btn;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1671,13 +1677,14 @@ void subghz_protocol_decoder_vag_get_string(void* context, FuriString* output) {
|
||||
output,
|
||||
"%s %dbit\r\n"
|
||||
"Key1:%08lX%08lX\r\n"
|
||||
"Key2:%04X Btn:%s\r\n"
|
||||
"Key2:%04X Btn:%0X - %s\r\n"
|
||||
"Ser:%08lX Cnt:%06lX\r\n",
|
||||
vehicle_name,
|
||||
instance->data_count_bit,
|
||||
(unsigned long)(key1 >> 32),
|
||||
(unsigned long)(key1 & 0xFFFFFFFF),
|
||||
key2,
|
||||
instance->btn,
|
||||
vag_button_name(instance->btn),
|
||||
(unsigned long)instance->serial,
|
||||
(unsigned long)instance->cnt);
|
||||
|
||||
@@ -108,6 +108,18 @@ static uint8_t
|
||||
}
|
||||
// VAG
|
||||
else if(strstr(protocol, "VAG")) {
|
||||
if(original == 0x10 || original == 0x20 || original == 0x40) {
|
||||
switch(key) {
|
||||
case InputKeyUp:
|
||||
return 0x20; // Lock
|
||||
case InputKeyOk:
|
||||
return 0x10; // Unlock
|
||||
case InputKeyDown:
|
||||
return 0x40; // Boot
|
||||
default:
|
||||
return original;
|
||||
}
|
||||
}
|
||||
switch(key) {
|
||||
case InputKeyUp:
|
||||
return 0x2; // Lock
|
||||
|
||||
Reference in New Issue
Block a user