Merge branch 'Eng1n33r:dev' into feat/playlist

This commit is contained in:
Daniel 2022-08-11 01:34:10 +02:00 committed by GitHub
commit b67dfb5821
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 867 additions and 193 deletions

View file

@ -28,6 +28,7 @@ struct SubGhzFrequencyAnalyzerWorker {
SubGhzSetting* setting;
float filVal;
float trigger_level;
SubGhzFrequencyAnalyzerWorkerPairCallback pair_callback;
void* context;
@ -154,7 +155,7 @@ static int32_t subghz_frequency_analyzer_worker_thread(void* context) {
(double)rssi_min);
// Second stage: fine scan
if(frequency_rssi.rssi_coarse > SUBGHZ_FREQUENCY_ANALYZER_THRESHOLD) {
if(frequency_rssi.rssi_coarse > instance->trigger_level) {
furi_hal_subghz_idle();
subghz_frequency_analyzer_worker_load_registers(subghz_preset_ook_58khz);
//for example -0.3 ... 433.92 ... +0.3 step 20KHz
@ -189,7 +190,7 @@ static int32_t subghz_frequency_analyzer_worker_thread(void* context) {
}
// Deliver results fine
if(frequency_rssi.rssi_fine > SUBGHZ_FREQUENCY_ANALYZER_THRESHOLD) {
if(frequency_rssi.rssi_fine > instance->trigger_level) {
FURI_LOG_D(
TAG, "=:%u:%f", frequency_rssi.frequency_fine, (double)frequency_rssi.rssi_fine);
@ -205,7 +206,7 @@ static int32_t subghz_frequency_analyzer_worker_thread(void* context) {
instance->context, frequency_rssi.frequency_fine, frequency_rssi.rssi_fine);
}
} else if( // Deliver results coarse
(frequency_rssi.rssi_coarse > SUBGHZ_FREQUENCY_ANALYZER_THRESHOLD) &&
(frequency_rssi.rssi_coarse > instance->trigger_level) &&
(instance->sample_hold_counter < 10)) {
FURI_LOG_D(
TAG,
@ -255,6 +256,7 @@ SubGhzFrequencyAnalyzerWorker* subghz_frequency_analyzer_worker_alloc(void* cont
SubGhz* subghz = context;
instance->setting = subghz->setting;
instance->trigger_level = SUBGHZ_FREQUENCY_ANALYZER_THRESHOLD;
return instance;
}
@ -297,3 +299,13 @@ bool subghz_frequency_analyzer_worker_is_running(SubGhzFrequencyAnalyzerWorker*
furi_assert(instance);
return instance->worker_running;
}
void subghz_frequency_analyzer_worker_set_trigger_level(
SubGhzFrequencyAnalyzerWorker* instance,
float value) {
instance->trigger_level = value;
}
float subghz_frequency_analyzer_worker_get_trigger_level(SubGhzFrequencyAnalyzerWorker* instance) {
return instance->trigger_level;
}

View file

@ -56,3 +56,19 @@ void subghz_frequency_analyzer_worker_stop(SubGhzFrequencyAnalyzerWorker* instan
* @return bool - true if running
*/
bool subghz_frequency_analyzer_worker_is_running(SubGhzFrequencyAnalyzerWorker* instance);
/** Set RSSI trigger level
*
* @param instance SubGhzFrequencyAnalyzerWorker instance
* @param value RSSI level
*/
void subghz_frequency_analyzer_worker_set_trigger_level(
SubGhzFrequencyAnalyzerWorker* instance,
float value);
/** Get RSSI trigger level
*
* @param instance SubGhzFrequencyAnalyzerWorker instance
* @return RSSI trigger level
*/
float subghz_frequency_analyzer_worker_get_trigger_level(SubGhzFrequencyAnalyzerWorker* instance);

View file

@ -13,11 +13,10 @@
#define TAG "frequency_analyzer"
#define RSSI_MIN -101
#define RSSI_MIN -97
#define RSSI_MAX -60
#define RSSI_SCALE 2
#define TRIGGER_STEP 1
#define TRIGGER_MIN RSSI_MIN + RSSI_SCALE * 2
static const NotificationSequence sequence_hw_blink = {
&message_blink_start_10,
@ -43,8 +42,7 @@ struct SubGhzFrequencyAnalyzer {
bool locked;
float rssi_last;
uint32_t frequency_last;
float trigger;
bool triggered;
uint32_t frequency_last_vis;
NotificationApp* notifications;
};
@ -75,11 +73,11 @@ void subghz_frequency_analyzer_draw_rssi(
uint8_t y) {
// Current RSSI
if(rssi) {
if(rssi > RSSI_MAX) rssi = RSSI_MAX;
rssi = (rssi - RSSI_MIN) / RSSI_SCALE;
if(rssi > 20) rssi = 20;
uint8_t column_number = 0;
for(size_t i = 1; i < (uint8_t)rssi; i++) {
if(i % 4) {
for(size_t i = 0; i <= (uint8_t)rssi; i++) {
if((i + 1) % 4) {
column_number++;
canvas_draw_box(canvas, x + 2 * i, y - column_number, 2, 4 + column_number);
}
@ -88,26 +86,21 @@ void subghz_frequency_analyzer_draw_rssi(
// Last RSSI
if(rssi_last) {
int max_x = (int)((rssi_last - RSSI_MIN) / RSSI_SCALE - 1) * 2;
if(rssi_last > RSSI_MAX) rssi_last = RSSI_MAX;
int max_x = (int)((rssi_last - RSSI_MIN) / RSSI_SCALE) * 2;
//if(!(max_x % 8)) max_x -= 2;
int max_h = (int)((rssi_last - RSSI_MIN) / RSSI_SCALE - 1) + 4;
int max_h = (int)((rssi_last - RSSI_MIN) / RSSI_SCALE) + 4;
max_h -= (max_h / 4) + 3;
if(max_x > 38) max_h = 38;
if(max_h > 19) max_h = 19;
if(max_x >= 0 && max_h > 0) {
canvas_draw_line(canvas, x + max_x + 1, y - max_h, x + max_x + 1, y + 3);
}
canvas_draw_line(canvas, x + max_x + 1, y - max_h, x + max_x + 1, y + 3);
}
// Trigger cursor
if(trigger >= RSSI_MIN + RSSI_SCALE * 2) {
trigger = (trigger - RSSI_MIN) / RSSI_SCALE;
uint8_t tr_x = x + 2 * trigger - 2;
canvas_draw_dot(canvas, tr_x, y + 4);
canvas_draw_line(canvas, tr_x - 1, y + 5, tr_x + 1, y + 5);
}
trigger = (trigger - RSSI_MIN) / RSSI_SCALE;
uint8_t tr_x = x + 2 * trigger;
canvas_draw_dot(canvas, tr_x, y + 4);
canvas_draw_line(canvas, tr_x - 1, y + 5, tr_x + 1, y + 5);
canvas_draw_line(canvas, x + 2, y + 3, x + 39, y + 3);
canvas_draw_line(canvas, x, y + 3, x + (RSSI_MAX - RSSI_MIN) * 2 / RSSI_SCALE, y + 3);
}
void subghz_frequency_analyzer_draw(Canvas* canvas, SubGhzFrequencyAnalyzerModel* model) {
@ -121,7 +114,7 @@ void subghz_frequency_analyzer_draw(Canvas* canvas, SubGhzFrequencyAnalyzerModel
// RSSI
canvas_draw_str(canvas, 33, 62, "RSSI");
subghz_frequency_analyzer_draw_rssi(
canvas, model->rssi, model->rssi_last, model->trigger, 55, 58);
canvas, model->rssi, model->rssi_last, model->trigger, 57, 58);
// Frequency
canvas_set_font(canvas, FontBigNumbers);
@ -164,24 +157,20 @@ bool subghz_frequency_analyzer_input(InputEvent* event, void* context) {
if(((event->type == InputTypePress) || (event->type == InputTypeRepeat)) &&
((event->key == InputKeyLeft) || (event->key == InputKeyRight))) {
// Trigger setup
float trigger_level = subghz_frequency_analyzer_worker_get_trigger_level(instance->worker);
switch(event->key) {
case InputKeyLeft:
instance->trigger -= TRIGGER_STEP;
if(instance->trigger < RSSI_MIN + RSSI_SCALE * 2) instance->trigger = TRIGGER_MIN;
trigger_level -= TRIGGER_STEP;
if(trigger_level < RSSI_MIN) trigger_level = RSSI_MIN;
break;
default:
case InputKeyRight:
if(instance->trigger < RSSI_MIN + RSSI_SCALE * 2)
instance->trigger = TRIGGER_MIN;
else
instance->trigger += TRIGGER_STEP;
if(instance->trigger > RSSI_MAX) instance->trigger = RSSI_MAX;
trigger_level += TRIGGER_STEP;
if(trigger_level > RSSI_MAX) trigger_level = RSSI_MAX;
break;
}
if(instance->trigger > RSSI_MIN)
FURI_LOG_I(TAG, "trigger = %.1f", (double)instance->trigger);
else
FURI_LOG_I(TAG, "trigger disabled");
subghz_frequency_analyzer_worker_set_trigger_level(instance->worker, trigger_level);
FURI_LOG_I(TAG, "trigger = %.1f", (double)trigger_level);
need_redraw = true;
}
@ -191,7 +180,8 @@ bool subghz_frequency_analyzer_input(InputEvent* event, void* context) {
instance->view, (SubGhzFrequencyAnalyzerModel * model) {
model->rssi_last = instance->rssi_last;
model->frequency_last = instance->frequency_last;
model->trigger = instance->trigger;
model->trigger =
subghz_frequency_analyzer_worker_get_trigger_level(instance->worker);
return true;
});
}
@ -217,27 +207,24 @@ void subghz_frequency_analyzer_pair_callback(void* context, uint32_t frequency,
if((rssi == 0.f) && (instance->locked)) {
notification_message(instance->notifications, &sequence_hw_blink);
instance->triggered = false;
instance->frequency_last_vis = instance->frequency_last;
}
if((rssi != 0.f) && (frequency != 0)) {
// Threre is some signal
FURI_LOG_I(TAG, "rssi = %.2f, frequency = %d Hz", (double)rssi, frequency);
frequency = round_int(frequency, 3); // Round 299999990Hz to 300000000Hz
if((instance->trigger <= RSSI_MIN + RSSI_SCALE * 2) || (rssi >= instance->trigger)) {
if(!instance->triggered) {
// Triggered!
instance->triggered = true;
instance->rssi_last = rssi;
notification_message(instance->notifications, &sequence_hw_blink_stop);
notification_message(instance->notifications, &sequence_success);
FURI_LOG_D(TAG, "triggered");
}
// Update values
if(rssi > instance->rssi_last) instance->rssi_last = rssi;
if(!instance->locked) {
// Triggered!
instance->rssi_last = rssi;
notification_message(instance->notifications, &sequence_hw_blink_stop);
notification_message(instance->notifications, &sequence_success);
FURI_LOG_D(TAG, "triggered");
}
// Update values
if(rssi >= instance->rssi_last) {
instance->rssi_last = rssi;
instance->frequency_last = frequency;
} else {
instance->triggered = false;
}
}
@ -247,8 +234,8 @@ void subghz_frequency_analyzer_pair_callback(void* context, uint32_t frequency,
model->rssi = rssi;
model->rssi_last = instance->rssi_last;
model->frequency = frequency;
model->frequency_last = instance->frequency_last;
model->trigger = instance->trigger;
model->frequency_last = instance->frequency_last_vis;
model->trigger = subghz_frequency_analyzer_worker_get_trigger_level(instance->worker);
return true;
});
}
@ -273,8 +260,8 @@ void subghz_frequency_analyzer_enter(void* context) {
instance->rssi_last = 0;
instance->frequency_last = 0;
instance->trigger = TRIGGER_MIN;
instance->triggered = false;
instance->frequency_last_vis = 0;
subghz_frequency_analyzer_worker_set_trigger_level(instance->worker, RSSI_MIN);
with_view_model(
instance->view, (SubGhzFrequencyAnalyzerModel * model) {
@ -282,7 +269,7 @@ void subghz_frequency_analyzer_enter(void* context) {
model->rssi_last = 0;
model->frequency = 0;
model->frequency_last = 0;
model->trigger = instance->trigger;
model->trigger = RSSI_MIN;
return true;
});
}
@ -330,4 +317,4 @@ void subghz_frequency_analyzer_free(SubGhzFrequencyAnalyzer* instance) {
View* subghz_frequency_analyzer_get_view(SubGhzFrequencyAnalyzer* instance) {
furi_assert(instance);
return instance->view;
}
}

View file

@ -1,5 +1,5 @@
V:0
T:1660063645
T:1660152040
D:badusb
D:dolphin
D:infrared
@ -242,8 +242,8 @@ F:f267f0654781049ca323b11bb4375519:581:dolphin/L3_Lab_research_128x54/frame_9.bm
F:41106c0cbc5144f151b2b2d3daaa0527:727:dolphin/L3_Lab_research_128x54/meta.txt
D:infrared/assets
F:0620df2adc5e12f2a9d9c3ac29826ce3:60950:infrared/assets/ac.ir
F:a0ac7ed0629a93b234d1790bf8bfb4c6:26781:infrared/assets/audio.ir
F:45d36ceeac6be64eea3a0615a612ccbc:107466:infrared/assets/tv.ir
F:19f64b475c0f07b11fe6745fae540956:25521:infrared/assets/audio.ir
F:291a966df726aee2164a4f1068eaf8c5:130988:infrared/assets/tv.ir
F:a157a80f5a668700403d870c23b9567d:470:music_player/Marble_Machine.fmf
D:nfc/assets
F:81dc04c7b181f94b644079a71476dff4:4742:nfc/assets/aid.nfc

View file

@ -4,8 +4,9 @@ Version: 1
# This file has all the Speakers, SoundBars and Audio Receivers. POWER and MUTE buttons ONLY
# from https://github.com/UberGuidoZ/Flipper-IRDB
# Some Buttons was labeled PowerToggle,Pwr, Sleep or Off. These was assumed to be POWER functions.
# While Care was taken to remove all possible duplicates, some may still be lurking,
# If you find any duplicates just @ me on discord
# While Care was taken to remove all possible duplicates, some may still be lurking.
#
# Last Updated: 10th August 2022
#
# | SPEAKERS |
#
@ -203,35 +204,10 @@ command: 16 00 00 00
#
# | SOUNDBARS |
#
# Audac
#
name: Power
type: parsed
protocol: NECext
address: 86 FF 00 00
command: 1C E3 00 00
#
name: Mute
type: parsed
protocol: NECext
address: 86 FF 00 00
command: 1D E2 00 00
#
# BOSE
#
name: POWER
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 1004 1513 481 515 487 1478 516 505 487 510 482 1484 510 1481 513 508 484 512 490 1475 509 513 489 1477 507 1484 510 511 481 515 487 1479 515 1474 510 50774 1005 1484 510 513 489 1476 508 513 489 508 484 1482 512 1479 515 506 486 511 481 1483 511 512 490 1475 509 1483 511 510 482 515 487 1504 490 1475 509 50777 1013 1503 491 506 486 1505 489 507 485 512 490 1501 483 1508 486 510 482 514 488 1503 481 515 487 1504 490 1500 484 512 490 506 486 1506 488 1502 482
#
name: MUTE
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 1014 1477 507 514 488 508 484 512 490 505 487 509 483 513 489 507 485 1480 514 1477 517 1475 509 1483 511 1480 514 1477 517 1475 509 1482 512 508 484 50774 1004 1486 508 513 489 507 485 511 491 504 488 508 484 513 489 505 487 1479 515 1476 508 1484 510 1481 513 1478 516 1475 509 1482 512 1480 514 507 485 50771 1007 1507 487 509 483 513 489 507 485 511 481 515 487 508 484 513 489 1502 482 1483 511 1481 513 1479 515 1476 508 1484 510 1481 513 1478 516 506 486
#
name: POWER
type: parsed
protocol: NECext
address: BA A0 00 00
@ -287,39 +263,14 @@ protocol: NECext
address: 83 22 00 00
command: 08 F7 00 00
#
name: MUTE
type: parsed
protocol: NECext
address: 83 22 00 00
command: 0C F3 00 00
#
# KLIPSCH
#
name: POWER
type: parsed
protocol: NEC
address: 80 00 00 00
command: 1E 00 00 00
#
name: MUTE
type: parsed
protocol: NEC
address: 80 00 00 00
command: 01 00 00 00
#
# LG
#
name: POWER
type: parsed
protocol: Samsung32
address: 2C 00 00 00
command: 1E 00 00 00
#
name: MUTE
type: parsed
protocol: Samsung32
address: 2C 00 00 00
command: 1F 00 00 00
#
# ONN
#
@ -419,6 +370,20 @@ frequency: 38000
duty_cycle: 0.330000
data: 4555 4483 516 516 488 519 495 512 492 515 489 1525 493 1519 489 518 496 511 493 1521 487 1525 493 1520 488 1524 494 513 491 517 487 520 494 514 490 4501 519 513 491 516 488 520 494 513 491 517 487 521 493 514 490 518 486 1527 491 1522 496 1517 491 516 488 1525 493 1520 488 1525 493 1520 488 519 495 512 492 516 488 1525 493
#
# SENNHEISER
#
name: POWER
type: parsed
protocol: RC5
address: 13 00 00 00
command: 0B 00 00 00
#
name: MUTE
type: parsed
protocol: RC5
address: 13 00 00 00
command: 0C 00 00 00
#
# SONY
#
name: POWER
@ -636,3 +601,15 @@ type: parsed
protocol: NECext
address: 7A 85 00 00
command: 1C E2 00 00
#
name: POWER
type: parsed
protocol: NEC
address: 78 00 00 00
command: 0F 00 00 00
#
name: POWER
type: parsed
protocol: NEC
address: 78 00 00 00
command: 4F 00 00 00

View file

@ -4,8 +4,11 @@ Version: 1
# Recompiled Universal Remote for ALL buttons!
# (Now includes Volume and Channel brute forcing)
#
# Compiled by Hyper_Mash with support/testing from UberGuidoZ
# Compiled by Hyper_Mash
# Support/testing/additions from UberGuidoZ
# Thank you to ChaoticDynamic aka c-nagy for cleanup
#
# Updated on 10th August 2022
#
name: POWER
type: parsed
@ -141,42 +144,6 @@ command: 02 00 00 00
#
name: POWER
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: E6 00 00 00
#
name: VOL+
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 07 00 00 00
#
name: VOL-
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 0B 00 00 00
#
name: CH+
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 12 00 00 00
#
name: CH-
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 10 00 00 00
#
name: MUTE
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 0F 00 00 00
#
name: POWER
type: parsed
protocol: NEC
address: 50 00 00 00
command: 17 00 00 00
@ -337,6 +304,43 @@ protocol: NEC
address: 00 00 00 00
command: 01 00 00 00
#
#
name: POWER
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: E6 00 00 00
#
name: VOL+
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 07 00 00 00
#
name: VOL-
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 0B 00 00 00
#
name: CH+
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 12 00 00 00
#
name: CH-
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 10 00 00 00
#
name: MUTE
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 0F 00 00 00
#
name: POWER
type: raw
frequency: 38000
@ -1915,12 +1919,6 @@ protocol: NEC
address: 04 00 00 00
command: 01 00 00 00
#
name: VOL-
type: parsed
protocol: NECext
address: 86 05 00 00
command: 0C F3 00 00
#
name: MUTE
type: parsed
protocol: NEC
@ -2191,42 +2189,6 @@ frequency: 38381
duty_cycle: 0.330000
data: 8885 4455 573 573 573 1641 573 573 573 1641 573 573 573 1641 573 1641 573 1641 573 573 573 1641 573 573 573 573 573 573 573 573 573 1641 573 1641 573 1641 573 573 573 573 573 573 573 573 573 1641 573 1641 573 573 573 573 573 1641 573 1641 573 1641 573 1641 573 573 573 573 573 1641 573 38196 8885 4507 573 573 573 1641 573 573 573 1641 573 573 573 1641 573 1641 573 1641 573 573 573 1641 573 573 573 573 573 573 573 573 573 1641 573 1641 573 1641 573 573 573 573 573 573 573 573 573 1641 573 1641 573 1641 573 573 573 1641 573 1641 573 1641 573 1641 573 573 573 573 573 573 573 38196
#
name: VOL+
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 07 00 00 00
#
name: VOL-
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 0B 00 00 00
#
name: MUTE
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 0F 00 00 00
#
name: POWER
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: E6 00 00 00
#
name: CH+
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 12 00 00 00
#
name: CH-
type: parsed
protocol: Samsung32
address: 07 00 00 00
command: 10 00 00 00
#
name: POWER
type: parsed
protocol: Samsung32
@ -2430,9 +2392,729 @@ type: parsed
protocol: NEC
address: 04 00 00 00
command: 1A 00 00 00
######################START OF NEW IR's######################
#
# BAIRD
#
name: POWER
type: parsed
protocol: NEC
address: 01 00 00 00
command: 10 00 00 00
#
name: VOL+
type: parsed
protocol: NEC
address: 01 00 00 00
command: 0E 00 00 00
#
name: VOL-
type: parsed
protocol: NEC
address: 01 00 00 00
command: 0F 00 00 00
#
name: CH+
type: parsed
protocol: NEC
address: 01 00 00 00
command: 0C 00 00 00
#
name: CH-
type: parsed
protocol: NEC
address: 01 00 00 00
command: 0D 00 00 00
#
name: MUTE
type: parsed
protocol: NEC
address: 01 00 00 00
command: 17 00 00 00
# BRANDT
#
name: POWER
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 9028 4480 593 1667 589 541 597 532 596 534 594 562 566 564 564 539 589 567 571 558 570 1663 594 1666 591 1696 571 1662 595 1666 591 1669 598 1662 595 562 566 563 565 539 589 567 571 1661 596 561 567 563 565 564 564 1669 598 1662 595 1691 566 1668 599 558 570 1663 594 1692 565 575 1669
#
# BUSH
#
name: POWER
type: parsed
protocol: NEC
address: 08 00 00 00
command: D7 00 00 00
#
name: VOL+
type: parsed
protocol: NEC
address: 08 00 00 00
command: 80 00 00 00
#
name: VOL-
type: parsed
protocol: NEC
address: 08 00 00 00
command: 8E 00 00 00
#
name: CH+
type: parsed
protocol: NEC
address: 08 00 00 00
command: 83 00 00 00
#
name: CH-
type: parsed
protocol: NEC
address: 08 00 00 00
command: 86 00 00 00
#
name: MUTE
type: parsed
protocol: NEC
address: 08 00 00 00
command: DF 00 00 00
#
# CONTINENTAL
#
name: POWER
type: parsed
protocol: RC5
address: 01 00 00 00
command: 0C 00 00 00
#
name: MUTE
type: parsed
protocol: RC5
address: 01 00 00 00
command: 0D 00 00 00
#
name: VOL+
type: parsed
protocol: RC5
address: 01 00 00 00
command: 10 00 00 00
#
name: VOL-
type: parsed
protocol: RC5
address: 01 00 00 00
command: 11 00 00 00
#
name: CH+
type: parsed
protocol: RC5
address: 01 00 00 00
command: 20 00 00 00
#
name: CH-
type: parsed
protocol: RC5
address: 01 00 00 00
command: 21 00 00 00
#
# DENVER
#
name: MUTE
type: parsed
protocol: NECext
address: 00 7F 00 00
command: 50 AF 00 00
#
name: VOL+
type: parsed
protocol: NECext
address: 00 7F 00 00
command: 1E E1 00 00
#
name: VOL-
type: parsed
protocol: NECext
address: 02 7D 00 00
command: 0C F3 00 00
address: 00 7F 00 00
command: 5F A0 00 00
#
name: CH+
type: parsed
protocol: NECext
address: 00 7F 00 00
command: 1F E0 00 00
#
name: CH-
type: parsed
protocol: NECext
address: 00 7F 00 00
command: 5C A3 00 00
#
# FETCH
#
name: POWER
type: parsed
protocol: NECext
address: 64 46 00 00
command: 5D A2 00 00
#
name: CH+
type: parsed
protocol: NECext
address: 64 46 00 00
command: DE 21 00 00
#
name: CH-
type: parsed
protocol: NECext
address: 64 46 00 00
command: DB 24 00 00
#
# HISENSE
#
name: POWER
type: parsed
protocol: NECext
address: 00 BF 00 00
command: 0D F2 00 00
#
name: VOL+
type: parsed
protocol: NECext
address: 00 BF 00 00
command: 44 BB 00 00
#
name: VOL-
type: parsed
protocol: NECext
address: 00 BF 00 00
command: 43 BC 00 00
#
name: MUTE
type: parsed
protocol: NECext
address: 00 BF 00 00
command: 0E F1 00 00
#
name: CH+
type: parsed
protocol: NECext
address: 00 BF 00 00
command: 4A B5 00 00
#
name: CH-
type: parsed
protocol: NECext
address: 00 BF 00 00
command: 4B B4 00 00
#
# HITACHI
#
name: POWER
type: parsed
protocol: RC5
address: 03 00 00 00
command: 0C 00 00 00
#
name: VOL+
type: parsed
protocol: RC5
address: 03 00 00 00
command: 10 00 00 00
#
name: VOL-
type: parsed
protocol: RC5
address: 03 00 00 00
command: 11 00 00 00
#
name: CH+
type: parsed
protocol: RC5
address: 03 00 00 00
command: 20 00 00 00
#
name: CH-
type: parsed
protocol: RC5
address: 03 00 00 00
command: 21 00 00 00
#
name: MUTE
type: parsed
protocol: RC5
address: 03 00 00 00
command: 0D 00 00 00
#
# MANTA
#
name: POWER
type: parsed
protocol: NECext
address: 00 BF 00 00
command: 00 FF 00 00
#
name: VOL+
type: parsed
protocol: NECext
address: 00 BF 00 00
command: 48 B7 00 00
#
name: VOL-
type: parsed
protocol: NECext
address: 00 BF 00 00
command: 49 B6 00 00
#
name: MUTE
type: parsed
protocol: NECext
address: 00 BF 00 00
command: 01 FE 00 00
#
# MATSUI
#
name: POWER
type: parsed
protocol: Samsung32
address: 17 00 00 00
command: 14 00 00 00
#
name: CH-
type: parsed
protocol: Samsung32
address: 17 00 00 00
command: 11 00 00 00
#
name: CH+
type: parsed
protocol: Samsung32
address: 17 00 00 00
command: 10 00 00 00
#
name: VOL-
type: parsed
protocol: Samsung32
address: 17 00 00 00
command: 13 00 00 00
#
name: VOL+
type: parsed
protocol: Samsung32
address: 17 00 00 00
command: 12 00 00 00
#
name: MUTE
type: parsed
protocol: Samsung32
address: 17 00 00 00
command: 15 00 00 00
#
# PANASONIC
#
name: POWER
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 3477 1735 448 424 445 1301 448 425 444 429 450 422 447 426 443 430 449 423 446 427 452 421 448 424 445 428 451 422 447 1299 450 422 447 426 443 430 449 423 446 427 452 420 449 424 445 428 451 421 448 1298 451 422 447 425 444 429 450 423 446 426 443 430 449 423 446 427 452 1294 444 428 451 1295 443 1303 446 1300 449 1297 452 421 500 373 444 1302 447 426 443 1303 446 1300 449 1297 452 1294 444 428 451 1295 443 74431 3476 1736 448 425 444 1302 447 426 453 419 450 423 446 427 452 420 449 424 445 427 452 421 448 425 444 428 451 422 447 1299 450 422 447 426 453 420 449 423 446 427 452 420 449 424 445 428 451 421 448 1298 451 422 447 425 454 419 450 423 446 454 425 447 422 451 418 427 452 1294 444 428 451 1295 443 1302 447 1300 449 1297 452 420 449 451 418 1301 448 424 445 1302 447 1299 450 1296 442 1304 445 454 425 1294 444 74431 3475 1737 446 425 454 1293 445 426 453 420 449 424 445 427 452 421 448 424 445 428 451 422 447 425 454 419 450 422 447 1300 449 424 445 427 452 421 448 424 445 428 451 421 448 425 454 418 451 422 447 1300 449 424 445 454 425 420 449 424 445 428 451 421 448 425 444 429 450 1296 453 419 450 1297 452 1294 444 1301 448 1298 451 422 509 364 453 1293 445 427 452 1294 444 1301 448 1298 451 1296 453 420 449 1296 453
#
name: VOL+
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 3474 1765 418 455 424 1323 415 458 421 451 418 456 423 422 447 454 415 458 421 452 417 456 423 450 419 454 425 448 421 1325 423 423 446 454 425 448 421 452 417 456 423 450 419 454 425 448 421 452 417 1330 418 455 424 448 421 453 416 457 422 451 418 455 424 449 420 453 416 457 422 451 418 455 424 449 420 453 416 1331 417 455 424 449 420 453 416 458 421 452 417 456 423 450 419 1327 421 424 445 1329 419
#
name: VOL-
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 3475 1737 446 427 452 1294 444 456 423 423 446 454 425 421 448 452 417 456 423 423 446 455 424 449 420 425 444 457 422 1297 451 421 448 453 416 457 422 451 418 428 451 449 420 426 443 457 422 424 445 1301 447 426 443 458 421 451 418 456 423 449 420 454 415 458 421 452 417 1302 446 427 452 448 421 452 417 456 423 1296 452 448 421 453 416 1303 445 455 424 449 420 453 416 430 449 1297 451 421 448 1299 449
#
name: CH+
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 3476 1764 419 454 425 1321 417 456 423 450 419 455 424 449 420 453 416 457 422 451 418 455 424 449 420 453 416 458 421 1325 423 450 419 454 414 458 421 452 417 456 423 450 419 455 424 449 420 453 416 1330 418 455 424 449 420 453 416 457 422 451 418 456 423 450 419 454 415 458 421 452 417 1330 418 454 425 1321 417 1330 418 455 424 449 420 453 416 458 421 1325 423 450 419 1327 421 1325 423 450 419 1327 421
#
name: CH-
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 3480 1759 424 450 419 1300 448 452 417 456 423 450 419 454 425 448 421 452 417 457 422 451 418 455 424 449 420 453 416 1331 417 455 424 449 420 454 415 458 421 452 417 456 423 450 419 454 425 448 421 1325 423 450 419 455 424 448 421 453 416 457 422 451 418 455 424 449 420 1326 422 424 445 1329 419 426 443 1331 417 1302 446 454 425 420 449 1298 450 450 419 1328 420 452 417 1330 418 1301 447 425 444 1330 418
#
name: MUTE
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 3477 1763 420 453 416 1330 418 455 424 449 420 453 415 458 421 452 417 456 423 450 419 454 425 448 421 452 417 456 423 1324 424 448 421 453 416 457 422 451 418 455 424 449 420 453 416 457 422 451 418 1329 419 454 415 458 421 452 417 456 423 450 419 427 452 448 421 452 417 456 423 1324 424 449 420 453 416 1330 418 1328 420 453 416 457 422 451 418 1329 419 454 415 458 421 1298 450 1323 425 448 421 1326 422
#
# PHILLIPS
#
name: POWER
type: parsed
protocol: RC5
address: 00 00 00 00
command: 0C 00 00 00
#
name: CH+
type: parsed
protocol: RC5X
address: 00 00 00 00
command: 10 00 00 00
#
name: CH-
type: parsed
protocol: RC5X
address: 00 00 00 00
command: 11 00 00 00
#
name: VOL+
type: parsed
protocol: RC5X
address: 00 00 00 00
command: 16 00 00 00
#
name: VOL-
type: parsed
protocol: RC5X
address: 00 00 00 00
command: 15 00 00 00
#
name: MUTE
type: parsed
protocol: RC5
address: 00 00 00 00
command: 0D 00 00 00
#
name: CH+
type: parsed
protocol: RC6
address: 00 00 00 00
command: 20 00 00 00
#
name: CH-
type: parsed
protocol: RC6
address: 00 00 00 00
command: 21 00 00 00
#
# RCA
#
name: VOL+
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 179 7828 182 2323 176 2328 181 2323 176 2329 180 1308 176 1330 175 2329 180 1326 179 2307 181 2323 176 2329 180 2325 174 1332 173 1315 180 1327 179 1328 177 2327 182 2322 177 1311 173 2332 177 1329 176 1330 175 1312 183 1324 181 8332 180 7826 174 2331 178 2326 173 2313 176 2330 179 1327 178 1328 177 2327 182 1306 179 2326 183 2322 177 2328 181 2323 176 1312 183 1324 181 1325 180 1325 180 2307 181 2323 176 1331 174 2330 179 1327 178 1310 175 1331 174 1332 173 8323 179 7845 176 2311 177 2327 182 2322 177 2328 181 1325 180 1308 177 2328 181 1325 180 2325 174 2330 179 2326 173 2314 174 1332 173 1332 173 1333 183 1306 178 2326 183 2322 177 1329 176 2328 181 1307 177 1329 176 1330 175 1313 182
#
name: VOL-
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 183 7824 176 2329 180 2324 175 2329 180 2324 175 1314 181 1325 180 2324 175 1331 174 2331 178 2307 181 2324 175 1331 174 1331 174 1314 181 1326 179 1326 179 2325 174 2332 177 1310 174 2330 179 1327 178 1328 177 1310 174 2330 179 8334 178 7827 173 2332 177 2327 182 2323 176 2310 178 1328 177 1328 177 2327 182 1306 179 2326 183 2322 177 2327 182 1324 181 1307 177 1329 176 1330 176 1331 174 2311 177 2328 181 1325 180 2324 175 1332 173 1313 182 1325 180 2324 175 8339 173 1383 2522 3925 179 2325 576 1909 590 1915 594 1910 589 918 588 919 576 1911 175 1332 173 2330 592 1912 587 1918 581 907 588 918 598 908 587 920 575 913 592 1914 182 2320 592 914 581 1927 180 1307 178 1327 592 915 580 1925 574
#
name: CH+
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 176 7830 180 2324 175 2329 180 2324 175 2329 180 1308 176 1329 176 2328 181 1325 180 2305 183 2321 178 1329 177 2327 182 1324 181 1306 178 1328 177 1329 176 2327 182 2304 174 1332 173 2332 177 1328 177 1310 174 2330 179 1327 178 8333 179 7826 174 2330 179 2325 174 2313 175 2329 180 1326 179 1326 179 2325 174 1315 180 2324 175 2329 180 1326 179 2325 174 1314 181 1325 180 1326 179 1308 177 2328 181 2323 176 1330 175 2329 180 1308 176 1330 175 2328 181 1325 180 8314 177 7845 176 2310 178 2327 182 2322 177 2327 182 1323 182 1306 179 2326 173 1333 183 2322 177 2327 182 1305 179 2326 173 1333 183 1323 182 1305 179 1327 178 2326 173 2331 178 1327 178 2308 180 1326 179 1327 178 2325 174 1315 180
#
name: CH-
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 182 7824 176 2328 181 2323 176 2328 181 2324 175 1312 183 1323 182 2322 177 1330 175 2309 179 2325 174 1332 173 1333 183 1305 179 1327 178 1328 177 1328 177 2308 180 262 177 1885 175 295 175 861 174 2330 179 99 313 911 573 915 590 1916 180 64 349 1910 176 265 174 7896 177 3081 835 3912 182 2322 177 207 179 1942 180 2304 174 268 181 1881 179 263 176 889 177 264 175 886 583 1925 182 271 178 855 180 240 178 1907 174 2331 178 1327 178 1309 176 1329 590 916 589 919 173 306 175 833 181 317 174 1832 175 2329 180 1325 180 309 182 1833 174 1313 182 1325 180 289 181 1853 175 2329 180 8313 178 7845 176 2309 179 2325 174 2331 178 2326 173 1333 183 1304 180 2324 175 1332 173 2330 179 2325 174 1314 181 1325 180 1326 179 1327 178 1308 177 1330 175 2329 180 2324 175 1312 183 2322 177 1329 176 1329 176 2329 180 2304 174 8339 173 351 3575 3902 594 1911 588 1916 593 1911 588 1916 583 904 591 916 589 1915 594 911 584 1920 579 1907 592 915 590 915 591 916 579 908 597 909 596 909 586 1919 580 1907 179 1326 592 1912 597 908 587 901 594 1911 588 1916 593
#
name: POWER
type: parsed
protocol: RCA
address: 0F 00 00 00
command: 2A 00 00 00
#
name: CH-
type: parsed
protocol: RCA
address: 0F 00 00 00
command: 2C 00 00 00
#
name: CH+
type: parsed
protocol: RCA
address: 0F 00 00 00
command: 2D 00 00 00
#
name: VOL-
type: parsed
protocol: RCA
address: 0F 00 00 00
command: 2E 00 00 00
#
name: VOL+
type: parsed
protocol: RCA
address: 0F 00 00 00
command: 2F 00 00 00
#
name: MUTE
type: parsed
protocol: RCA
address: 0F 00 00 00
command: 3F 00 00 00
#
name: POWER
type: parsed
protocol: NEC
address: A0 00 00 00
command: 5F 00 00 00
#
name: MUTE
type: parsed
protocol: NEC
address: A0 00 00 00
command: 1C 00 00 00
#
name: VOL+
type: parsed
protocol: NEC
address: A0 00 00 00
command: 40 00 00 00
#
name: VOL-
type: parsed
protocol: NEC
address: A0 00 00 00
command: 5D 00 00 00
#
name: CH+
type: parsed
protocol: NEC
address: A0 00 00 00
command: 03 00 00 00
#
name: CH-
type: parsed
protocol: NEC
address: A0 00 00 00
command: 1F 00 00 00
#
# ROKU
#
# SAMSUNG
#
name: CH+
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 1253 1157 464 560 465 858 460 2364 460 563 462 1462 463 1761 467 1156 465 1159 462 2661 467 1456 469 1155 466 86886 331 925 330 373 328 652 331
#
name: CH-
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 1224 1186 467 556 437 887 441 2382 463 560 433 1490 466 1757 461 1163 458 566 438 2686 463 1460 465 2359 434 86319 301 953 302 402 330 649 334
#
name: POWER
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 4499 4472 566 1662 565 1664 563 1665 562 565 538 564 539 562 541 560 543 558 545 1683 544 1658 569 1686 541 559 544 557 536 565 538 563 540 561 542 559 544 1684 543 558 545 556 537 564 539 562 541 560 543 558 545 1684 543 558 545 1683 544 1684 543 1660 567 1688 539 1689 538 1664 563 565 538 563 540 561 542 559 544 42973 4495 4472 566 1662 565 1663 564 1664 563 564 539 562 541 560 543 558 545 556 537 1691 536 1691 536 1666 572 555 538 564 539 561 542 559 544 557 536 565 538 1689 538 563 540 560 543 558 545 555 538 563 540 561 542 1686 541 559 544 1684 543 1684 543 1658 569 1685 542 1686 541 1660 567 559 544 557 536 565 538 563 540 42959 4499 4466 562 1666 572 1656 571 1656 571 556 537 564 539 562 541 559 544 556 537 1691 536 1690 537 1664 563 564 539 562 541 560 543 557 536 565 538 563 540 1688 539 561 542 559 544 556 537 564 539 562 541 560 543 1684 543 558 545 1682 545 1683 544 1657 570 1684 543 1659 568 1659 568 559 544 557 536 565 538 563 540 42955 4503 4463 565 1663 564 1663 564 1664 563 563 540 561 542 558 545 556 537 564 539 1688 539 1688 539 1662 565 562 541 559 544 557 536 565 538 563 540 560 543 1685 542 559 544 556 537 564 539 562 541 559 544 557 536 1692 535 565 538 1690 537 1690 537 1664 563 1691 536 1666 572 1656 571 556 537 564 539 562 541 559 544
#
name: VOL+
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 4507 4464 564 1690 537 1691 536 1666 572 555 538 538 565 562 541 559 544 557 536 1693 545 1656 571 1657 570 557 536 565 538 563 540 561 542 558 545 1683 544 1657 570 1684 543 558 545 555 538 563 540 561 542 559 544 557 536 565 538 563 540 1688 539 1662 565 1663 564 1663 564 1664 563 564 539 536 567 560 543 558 545 42962 4496 4470 568 1686 541 1660 567 1661 566 560 543 558 545 556 537 564 539 561 542 1686 541 1660 567 1687 540 534 569 558 545 555 538 563 540 561 542 1686 541 1686 541 1686 541 533 570 557 536 565 538 563 540 560 543 558 545 555 538 563 540 1661 566 1687 540 1661 566 1661 566 1662 565 561 542 533 570 557 536 564 539
#
name: VOL-
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 4506 4465 563 1692 546 1658 569 1659 568 559 544 557 536 565 538 563 540 561 542 1687 540 1662 565 1689 538 563 540 561 542 560 543 558 545 556 537 1665 562 1693 545 530 563 1692 546 555 538 564 539 562 541 560 543 558 545 556 537 1665 562 539 564 1690 537 1691 536 1692 535 1693 545 556 537 539 564 563 540 561 542 42974 4505 4464 564 1690 537 1665 562 1667 571 530 563 565 538 563 540 561 542 559 544 1684 543 1659 568 1661 566 561 542 559 544 557 536 565 538 563 540 1663 564 1690 537 563 540 1662 565 -559 558 545 556 537 564 539 562 541 1688 539 561 542 1687 540 1688 539 1688 539 1663 564 563 540 561 542 559 544 557 536
#
name: CH+
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 4498 4471 567 1661 566 1662 565 1664 563 564 539 563 540 561 542 559 544 557 536 1693 545 1684 543 1659 568 559 544 557 536 566 537 564 539 562 541 560 543 1686 541 560 543 558 545 1684 543 558 545 556 537 564 539 1690 537 564 539 1689 538 1690 537 564 539 1689 538 1665 562 1666 572 556 537 564 539 563 540 560 543 42964 4504 4464 564 1690 537 1665 562 1666 572 555 538 564 539 562 541 560 543 558 545 1683 544 1684 543 1659 568 558 545 556 537 565 538 563 540 560 543 558 545 1683 544 556 537 565 538 1690 537 564 539 561 542 560 543 1685 542 558 545 1683 544 1657 570 557 536 1692 546 1683 544 1684 543 557 536 566 537 563 540 561 542
#
name: CH-
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 4506 4464 564 1691 536 1692 546 1656 571 556 537 564 539 562 541 560 543 558 545 1683 544 1684 543 1685 542 558 545 556 537 565 538 563 540 561 542 558 545 556 537 564 539 562 541 1687 540 561 542 558 545 556 537 1691 536 1665 562 1692 546 1656 571 556 537 1691 536 1692 546 1683 544 557 536 565 538 563 540 560 543 42966 4502 4466 562 1693 545 1683 544 1684 543 558 545 556 537 564 539 561 542 559 544 1684 543 1684 543 1658 569 558 545 530 563 564 539 562 541 560 543 558 535 566 537 564 539 562 541 1687 540 560 543 558 545 555 538 1691 536 1665 562 1693 545 1657 570 557 536 1666 572 1683 544 1658 569 557 546 529 564 563 540 561 542
#
name: MUTE
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 4497 4474 564 1690 537 1691 536 1666 572 556 537 564 539 562 541 560 543 558 545 1683 544 1683 544 1684 543 532 571 556 537 564 539 562 541 560 543 1659 568 1686 541 1661 566 1662 565 562 541 560 543 558 535 565 538 563 540 561 542 558 545 556 537 1665 562 1666 572 1656 571 1684 543 557 546 555 538 564 539 562 541 42966 4502 4466 562 1692 535 1693 545 1657 570 556 537 565 538 562 541 560 543 543 1656 571 1656 571 1657 570 557 536 565 538 563 540 560 543 558 545 1683 544 1683 544 1657 570 1684 543 531 562 565 538 563 540 560 543 558 545 556 537 564 539 561 542 1660 567 1686 541 1687 540 1662 565 562 541 533 570 557 536 565 538
#
# SANYO
#
name: POWER
type: parsed
protocol: NEC
address: 38 00 00 00
command: 12 00 00 00
#
name: VOL+
type: parsed
protocol: NEC
address: 38 00 00 00
command: 0E 00 00 00
#
name: VOL-
type: parsed
protocol: NEC
address: 38 00 00 00
command: 0F 00 00 00
#
name: MUTE
type: parsed
protocol: NEC
address: 38 00 00 00
command: 18 00 00 00
#
name: CH+
type: parsed
protocol: NEC
address: 38 00 00 00
command: 0A 00 00 00
#
name: CH-
type: parsed
protocol: NEC
address: 38 00 00 00
command: 0B 00 00 00
#
# SHARP
#
name: POWER
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 277 1806 274 775 281 776 279 770 275 774 281 768 277 1814 277 1806 274 775 280 1803 277 780 276 773 282 766 279 1831 249 781 274 45962 281 1803 277 771 274 783 273 802 253 770 275 1834 257 801 255 768 277 1807 273 775 280 1811 280 1804 276 1806 274 774 282 1811 280 43887 275 1809 282 767 278 779 276 799 256 766 279 771 274 1843 248 1810 281 767 278 1806 274 782 274 776 279 796 249 1807 273 784 282 45962 279 1804 276 772 273 784 282 768 277 798 247 1836 255 802 253 796 249 1808 283 766 279 1813 278 1805 275 1808 272 776 279 1813 278 43890 282 1801 279 769 276 781 274 775 280 769 276 773 283 1834 257 1801 279 769 276 1808 272 784 282 767 278 772 273 1810 281 776 279
#
name: CH+
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 282 1801 280 769 276 781 275 774 282 768 277 1805 276 781 275 775 281 769 276 1832 249 809 247 776 280 770 275 1834 247 784 282 47004 273 1811 280 768 277 780 276 773 283 767 278 771 274 1816 275 1809 272 1811 280 768 277 1815 276 1807 274 1809 282 767 278 1813 278 42841 284 1799 282 768 277 780 276 774 282 767 278 1805 276 781 275 774 282 768 277 1806 275 782 274 775 281 769 276 1807 274 783 283
#
name: CH-
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 273 1810 281 768 277 780 276 799 257 767 278 797 248 1816 275 774 282 768 277 1806 275 808 248 801 255 795 250 1807 274 809 247 46989 278 1805 276 799 246 784 282 767 278 798 247 1835 256 775 281 1803 278 1806 275 773 283 1809 272 1811 280 1803 278 771 274 1817 274 42868 278 1806 275 799 257 775 281 768 277 798 247 776 280 1811 280 770 275 773 283 1801 280 777 279 771 274 801 255 1802 279 778 278
#
name: VOL+
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 282 1801 280 769 276 781 275 775 281 768 277 772 273 784 282 1801 280 770 275 1807 274 784 282 767 278 771 274 1809 282 775 281 47005 282 1801 280 770 275 782 274 776 280 769 276 1807 274 1817 274 775 280 1803 278 771 274 1817 274 1809 282 1801 280 770 275 1815 276 42841 273 1811 280 769 276 781 275 774 282 768 277 772 273 783 273 1811 280 794 251 1806 275 782 274 776 280 769 276 1808 273 783 283
#
name: VOL-
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 277 1805 276 799 246 785 281 768 277 798 247 1810 281 775 281 1804 277 771 274 1810 281 801 255 795 250 772 273 1811 280 776 280 45957 274 1809 272 777 279 778 278 772 273 776 280 769 276 1815 276 799 246 1811 280 769 276 1815 276 1807 274 1809 282 767 278 1813 278 43890 280 1803 278 797 248 783 273 776 280 796 249 1834 247 784 282 1802 279 796 249 1808 273 783 283 793 252 770 275 1808 273 784 282
#
name: MUTE
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 281 1803 278 771 274 782 274 775 281 769 276 1807 274 1817 274 1835 256 766 280 1804 277 780 276 773 283 767 278 1831 250 780 276 44910 276 1835 256 766 280 777 279 771 275 774 282 767 278 779 277 773 283 1800 281 768 277 1814 277 1806 275 1808 283 766 279 1811 280 44937 280 1803 278 771 274 783 283 766 279 770 275 1808 273 1819 272 1811 280 768 277 1807 274 782 274 776 280 769 276 1833 248 784 282
#
# SONY
#
name: POWER
type: parsed
protocol: SIRC
address: 01 00 00 00
command: 2E 00 00 00
#
name: POWER
type: parsed
protocol: SIRC
address: 01 00 00 00
command: 2F 00 00 00
#
# TCL
#
name: POWER
type: parsed
protocol: NECext
address: EA C7 00 00
command: 97 68 00 00
#
# TELEKOM
#
name: POWER
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 328 605 321 283 643 290 313 589 316 287 639 596 642 589 316 285 318 285 641 591 637 294 309 587 328
#
name: VOL+
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 331 601 314 289 647 285 308 595 320 282 644 591 647 584 321 282 644 587 318 285 641 290 313 583 332
#
name: VOL-
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 330 632 294 281 645 288 315 585 320 284 642 593 645 585 320 284 642 589 649 583 644 586 329
#
name: MUTE
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 333 600 315 288 638 294 309 594 321 281 645 591 636 595 643 589 638 592 313 290 646 585 330
#
name: CH+
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 334 628 287 289 647 285 308 593 322 307 619 589 649 582 323 280 646 586 641 589 316 287 639 89967 331 602 313 290 646 286 307 595 320 283 643 591 647 584 321 282 644 588 639 591 314 288 638
#
name: CH-
type: raw
frequency: 38000
duty_cycle: 0.330000
data: 332 601 314 290 646 286 307 594 321 282 644 590 648 582 323 281 645 586 641 290 313 583 644
#
# WBOX
#
name: POWER
type: parsed
protocol: NECext
address: 40 40 00 00
command: 0A F5 00 00
#
name: VOL+
type: parsed
protocol: NECext
address: 40 40 00 00
command: 15 EA 00 00
#
name: VOL-
type: parsed
protocol: NECext
address: 40 40 00 00
command: 1C E3 00 00
#
name: CH+
type: parsed
protocol: NECext
address: 40 40 00 00
command: 1F E0 00 00
#
name: CH-
type: parsed
protocol: NECext
address: 40 40 00 00
command: 1E E1 00 00
#
name: MUTE
type: parsed
protocol: NECext
address: 40 40 00 00
command: 0F F0 00 00