Merge pull request #78 from JustMe-NL/main

As discussed in Sharing devices #77
This commit is contained in:
Klaus Musch 2024-04-16 13:13:26 +02:00 committed by GitHub
commit ef12879b0d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 618 additions and 4 deletions

View file

@ -24,7 +24,8 @@ enum IRprotocols {
IR_PROTOCOL_SAMSUNG = 2, IR_PROTOCOL_SAMSUNG = 2,
IR_PROTOCOL_SONY = 3, IR_PROTOCOL_SONY = 3,
IR_PROTOCOL_RC5 = 4, IR_PROTOCOL_RC5 = 4,
IR_PROTOCOL_DENON = 5 IR_PROTOCOL_DENON = 5,
IR_PROTOCOL_SAMSUNG36 = 6
}; };
void sendIRcode_HAL(int protocol, std::list<std::string> commandPayloads, std::string additionalPayload) { void sendIRcode_HAL(int protocol, std::list<std::string> commandPayloads, std::string additionalPayload) {
switch (protocol) { switch (protocol) {
@ -129,5 +130,17 @@ void sendIRcode_HAL(int protocol, std::list<std::string> commandPayloads, std::s
} }
break; break;
} }
case IR_PROTOCOL_SAMSUNG36:
{
auto current = commandPayloads.begin();
std::string dataStr = *current;
// https://cplusplus.com/reference/string/stoull/
std::string::size_type sz = 0; // alias of size_t
const uint64_t data = std::stoull(dataStr, &sz, 0);
Serial.printf("execute: will send IR SAMSUNG36, data %s (%" PRIu64 ")\r\n", dataStr.c_str(), data);
IrSender.sendSamsung36(data);
break;
}
} }
} }

View file

@ -5,13 +5,15 @@ void init_infraredSender_HAL(void) {
} }
// IR protocols // IR protocols
enum IRprotocols { enum IRprotocols
{
IR_PROTOCOL_GC = 0, IR_PROTOCOL_GC = 0,
IR_PROTOCOL_NEC = 1, IR_PROTOCOL_NEC = 1,
IR_PROTOCOL_SAMSUNG = 2, IR_PROTOCOL_SAMSUNG = 2,
IR_PROTOCOL_SONY = 3, IR_PROTOCOL_SONY = 3,
IR_PROTOCOL_RC5 = 4, IR_PROTOCOL_RC5 = 4,
IR_PROTOCOL_DENON = 5 IR_PROTOCOL_DENON = 5,
IR_PROTOCOL_SAMSUNG36 = 6
}; };
void sendIRcode_HAL(int protocol, std::list<std::string> commandPayloads, std::string additionalPayload) { void sendIRcode_HAL(int protocol, std::list<std::string> commandPayloads, std::string additionalPayload) {
} }

View file

@ -54,7 +54,8 @@ enum IRprotocols {
IR_PROTOCOL_SAMSUNG = 2, IR_PROTOCOL_SAMSUNG = 2,
IR_PROTOCOL_SONY = 3, IR_PROTOCOL_SONY = 3,
IR_PROTOCOL_RC5 = 4, IR_PROTOCOL_RC5 = 4,
IR_PROTOCOL_DENON = 5 IR_PROTOCOL_DENON = 5,
IR_PROTOCOL_SAMSUNG36 = 6
}; };
void sendIRcode(IRprotocols protocol, std::list<std::string> commandPayloads, std::string additionalPayload); void sendIRcode(IRprotocols protocol, std::list<std::string> commandPayloads, std::string additionalPayload);

View file

@ -0,0 +1,71 @@
#include <string>
#include "applicationInternal/commandHandler.h"
#include "applicationInternal/hardware/hardwarePresenter.h"
#include "device_lgsoundbar.h"
uint16_t LGSOUNDBAR_POWER;
//uint16_t LGSOUNDBAR_FUNCTION;
//uint16_t LGSOUNDBAR_FOLDER_UP;
//uint16_t LGSOUNDBAR_FOLDER_DOWN;
//uint16_t LGSOUNDBAR_OPTICAL;
//uint16_t LGSOUNDBAR_MUTE;
//uint16_t LGSOUNDBAR_VOLUME_UP;
//uint16_t LGSOUNDBAR_VOLUME_DOWN;
//uint16_t LGSOUNDBAR_AUTOPOWER;
//uint16_t LGSOUNDBAR_AV_SYNC;
//uint16_t LGSOUNDBAR_INFO;
//uint16_t LGSOUNDBAR_CURSOR_UP;
//uint16_t LGSOUNDBAR_LEFT;
//uint16_t LGSOUNDBAR_ENTER;
//uint16_t LGSOUNDBAR_RIGHT;
//uint16_t LGSOUNDBAR_CURSOR_DOWN;
//uint16_t LGSOUNDBAR_SOUND_EFFECT;
//uint16_t LGSOUNDBAR_AUTOVOLUME;
uint16_t LGSOUNDBAR_WOOFER_LEVEL;
//uint16_t LGSOUNDBAR_1;
//uint16_t LGSOUNDBAR_2;
//uint16_t LGSOUNDBAR_3;
//uint16_t LGSOUNDBAR_4;
//uint16_t LGSOUNDBAR_5;
//uint16_t LGSOUNDBAR_6;
//uint16_t LGSOUNDBAR_7;
//uint16_t LGSOUNDBAR_8;
//uint16_t LGSOUNDBAR_9;
//uint16_t LGSOUNDBAR_0;
//uint16_t LGSOUNDBAR_DOBLY_DRC;
//uint16_t LGSOUNDBAR_SLEEP;
void register_device_lgsoundbar() {
// LG SOUNDBAR Remote AKB73575421
register_command(&LGSOUNDBAR_POWER, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x34347887"}}));
//register_command(&LGSOUNDBAR_FUNCTION, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x343451AE"}}));
//register_command(&LGSOUNDBAR_FOLDER_UP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x343430CF"}}));
//register_command(&LGSOUNDBAR_FOLDER_DOWN, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434B04F"}}));
//register_command(&LGSOUNDBAR_OPTICAL, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x34346D92"}}));
//register_command(&LGSOUNDBAR_MUTE, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434F807"}}));
//register_command(&LGSOUNDBAR_VOLUME_UP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434E817"}}));
//register_command(&LGSOUNDBAR_VOLUME_DOWN, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x34346897"}}));
//register_command(&LGSOUNDBAR_AUTOPOWER, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434C936"}}));
//register_command(&LGSOUNDBAR_AV_SYNC, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x34349B64"}}));
//register_command(&LGSOUNDBAR_INFO, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434C53A"}}));
//register_command(&LGSOUNDBAR_CURSOR_UP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434728D"}}));
//register_command(&LGSOUNDBAR_LEFT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434609F"}}));
//register_command(&LGSOUNDBAR_ENTER, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434A05F"}}));
//register_command(&LGSOUNDBAR_RIGHT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434E01F"}}));
//register_command(&LGSOUNDBAR_CURSOR_DOWN, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434F20D"}}));
//register_command(&LGSOUNDBAR_SOUND_EFFECT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434F40B"}}));
//register_command(&LGSOUNDBAR_AUTOVOLUME, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x343438C7"}}));
register_command(&LGSOUNDBAR_WOOFER_LEVEL, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x34346699"}}));
//register_command(&LGSOUNDBAR_1, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434827D"}}));
//register_command(&LGSOUNDBAR_2, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x343442BD"}}));
//register_command(&LGSOUNDBAR_3, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434C23D"}}));
//register_command(&LGSOUNDBAR_4, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x343422DD"}}));
//register_command(&LGSOUNDBAR_5, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434A25D"}}));
//register_command(&LGSOUNDBAR_6, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434629D"}}));
//register_command(&LGSOUNDBAR_7, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434E21D"}}));
//register_command(&LGSOUNDBAR_8, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x343412ED"}}));
//register_command(&LGSOUNDBAR_9, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434926D"}}));
//register_command(&LGSOUNDBAR_0, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x3434D22D"}}));
//register_command(&LGSOUNDBAR_DOBLY_DRC, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x343446B9"}}));
//register_command(&LGSOUNDBAR_SLEEP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0x343443BC"}}));
}

View file

@ -0,0 +1,35 @@
#pragma once
extern uint16_t LGSOUNDBAR_POWER;
//extern uint16_t LGSOUNDBAR_FUNCTION;
//extern uint16_t LGSOUNDBAR_FOLDER_UP;
//extern uint16_t LGSOUNDBAR_FOLDER_DOWN;
//extern uint16_t LGSOUNDBAR_OPTICAL;
//extern uint16_t LGSOUNDBAR_MUTE;
//extern uint16_t LGSOUNDBAR_VOLUME_UP;
//extern uint16_t LGSOUNDBAR_VOLUME_DOWN;
//extern uint16_t LGSOUNDBAR_AUTOPOWER;
//extern uint16_t LGSOUNDBAR_AV_SYNC;
//extern uint16_t LGSOUNDBAR_INFO;
//extern uint16_t LGSOUNDBAR_CURSOR_UP;
//extern uint16_t LGSOUNDBAR_LEFT;
//extern uint16_t LGSOUNDBAR_ENTER;
//extern uint16_t LGSOUNDBAR_RIGHT;
//extern uint16_t LGSOUNDBAR_CURSOR_DOWN;
//extern uint16_t LGSOUNDBAR_SOUND_EFFECT;
//extern uint16_t LGSOUNDBAR_AUTOVOLUME;
extern uint16_t LGSOUNDBAR_WOOFER_LEVEL;
//extern uint16_t LGSOUNDBAR_1;
//extern uint16_t LGSOUNDBAR_2;
//extern uint16_t LGSOUNDBAR_3;
//extern uint16_t LGSOUNDBAR_4;
//extern uint16_t LGSOUNDBAR_5;
//extern uint16_t LGSOUNDBAR_6;
//extern uint16_t LGSOUNDBAR_7;
//extern uint16_t LGSOUNDBAR_8;
//extern uint16_t LGSOUNDBAR_9;
//extern uint16_t LGSOUNDBAR_0;
//extern uint16_t LGSOUNDBAR_DOBLY_DRC;
//extern uint16_t LGSOUNDBAR_SLEEP;
void register_device_lgsoundbar();

View file

@ -0,0 +1,119 @@
#include <string>
#include "applicationInternal/commandHandler.h"
#include "applicationInternal/hardware/hardwarePresenter.h"
#include "device_lgTV.h"
// Only activate the commands that are used. Every command takes 100 bytes, wether used or not.
uint16_t LGTV_POWER_TOGGLE;
uint16_t LGTV_SOURCE;
uint16_t LGTV_NUM_1;
uint16_t LGTV_NUM_2;
uint16_t LGTV_NUM_3;
uint16_t LGTV_NUM_4;
uint16_t LGTV_NUM_5;
uint16_t LGTV_NUM_6;
uint16_t LGTV_NUM_7;
uint16_t LGTV_NUM_8;
uint16_t LGTV_NUM_9;
uint16_t LGTV_NUM_0;
uint16_t LGTV_PRECH;
uint16_t LGTV_VOL_MINUS;
uint16_t LGTV_VOL_PLUS;
uint16_t LGTV_MUTE_TOGGLE;
//uint16_t LGTV_CHLIST;
uint16_t LGTV_CHANNEL_UP;
uint16_t LGTV_CHANNEL_DOWN;
uint16_t LGTV_MENU; // Q-Menu
//uint16_t LGTV_APPS;
uint16_t LGTV_GUIDE;
uint16_t LGTV_SETUP;
uint16_t LGTV_INFO;
uint16_t LGTV_UP;
uint16_t LGTV_DOWN;
uint16_t LGTV_LEFT;
uint16_t LGTV_RIGHT;
uint16_t LGTV_OK;
uint16_t LGTV_RETURN;
uint16_t LGTV_EXIT;
uint16_t LGTV_KEY_A;
uint16_t LGTV_KEY_B;
uint16_t LGTV_KEY_C;
uint16_t LGTV_KEY_D;
//uint16_t LGTV_PSIZE;
//uint16_t LGTV_ADSUBT;
//uint16_t LGTV_REWIND;
//uint16_t LGTV_PAUSE;
//uint16_t LGTV_FASTFORWARD;
//uint16_t LGTV_RECORD;
//uint16_t LGTV_PLAY;
//uint16_t LGTV_STOP;
//uint16_t LGTV_POWER_OFF;
//uint16_t LGTV_POWER_ON;
uint16_t LGTV_INPUT_HDMI_1;
uint16_t LGTV_INPUT_HDMI_2;
uint16_t LGTV_INPUT_HDMI_3;
//uint16_t LGTV_INPUT_COMPONENT;
uint16_t LGTV_INPUT_TV;
//uint16_t LGTV_SLEEP;
uint16_t LGTV_3D;
uint16_t LGTV_HOME;
void register_device_lgTV()
{
// https://github.com/natcl/studioimaginaire/blob/master/arduino_remote/ircodes.py
// https://tasmota.github.io/docs/Codes-for-IR-Remotes/#lg-55uh8509-tv
// Tested on LG 42LA6208-ZA
register_command(&LGTV_POWER_TOGGLE , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF10EF"}));
register_command(&LGTV_SOURCE , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFD02F"}));
register_command(&LGTV_NUM_1 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF8877"}));
register_command(&LGTV_NUM_2 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF48B7"}));
register_command(&LGTV_NUM_3 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFC837"}));
register_command(&LGTV_NUM_4 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF28D7"}));
register_command(&LGTV_NUM_5 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFA857"}));
register_command(&LGTV_NUM_6 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF6897"}));
register_command(&LGTV_NUM_7 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFE817"}));
register_command(&LGTV_NUM_8 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF18E7"}));
register_command(&LGTV_NUM_9 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF9867"}));
register_command(&LGTV_NUM_0 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF08F7"}));
register_command(&LGTV_PRECH , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF5BA7"}));
register_command(&LGTV_VOL_MINUS , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFC03F"}));
register_command(&LGTV_VOL_PLUS , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF40BF"}));
register_command(&LGTV_MUTE_TOGGLE , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF906F"}));
//register_command(&LGTV_CHLIST , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFCA35"}));
register_command(&LGTV_CHANNEL_UP , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF00FF"}));
register_command(&LGTV_CHANNEL_DOWN , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF807F"}));
register_command(&LGTV_MENU , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFA25D"}));
register_command(&LGTV_GUIDE , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFD52A"}));
register_command(&LGTV_SETUP , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFC23D"}));
register_command(&LGTV_INFO , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF55AA"}));
register_command(&LGTV_UP , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF02FD"}));
register_command(&LGTV_DOWN , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF827D"}));
register_command(&LGTV_LEFT , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFE01F"}));
register_command(&LGTV_RIGHT , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF609F"}));
register_command(&LGTV_OK , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF22DD"}));
register_command(&LGTV_RETURN , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF14EB"}));
register_command(&LGTV_EXIT , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFDA25"}));
register_command(&LGTV_KEY_A , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF4EB1"})); // Red
register_command(&LGTV_KEY_B , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF8E71"})); // Green
register_command(&LGTV_KEY_C , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFC639"})); // Yellow
register_command(&LGTV_KEY_D , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF8679"})); // Blue
//register_command(&LGTV_PSIZE , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF0EF1"}));
//register_command(&LGTV_ADSUBT , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF8976"}));
//register_command(&LGTV_REWIND , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFF10E"}));
//register_command(&LGTV_PAUSE , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF5DA2"}));
//register_command(&LGTV_FASTFORWARD , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF718E"}));
//register_command(&LGTV_RECORD , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFBD42"}));
//register_command(&LGTV_PLAY , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF0DF2"}));
//register_command(&LGTV_STOP , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF8D72"}));
//register_command(&LGTV_POWER_OFF , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFA35C"}));
//register_command(&LGTV_POWER_ON , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF23DC"}));
register_command(&LGTV_INPUT_HDMI_1 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF738C"}));
register_command(&LGTV_INPUT_HDMI_2 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF33CC"}));
register_command(&LGTV_INPUT_HDMI_3 , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF9768"}));
//register_command(&LGTV_INPUT_COMPONENT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DFFD02"}));
register_command(&LGTV_INPUT_TV , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF6B94"}));
//register_command(&LGTV_SLEEP , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF58A7"}));
register_command(&LGTV_3D , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF3BC4"}));
register_command(&LGTV_HOME , makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x20DF3EC1"}));
}

View file

@ -0,0 +1,58 @@
#pragma once
// Only activate the commands that are used. Every command takes 100 bytes, wether used or not.
extern uint16_t LGTV_POWER_TOGGLE;
extern uint16_t LGTV_SOURCE;
extern uint16_t LGTV_NUM_1;
extern uint16_t LGTV_NUM_2;
extern uint16_t LGTV_NUM_3;
extern uint16_t LGTV_NUM_4;
extern uint16_t LGTV_NUM_5;
extern uint16_t LGTV_NUM_6;
extern uint16_t LGTV_NUM_7;
extern uint16_t LGTV_NUM_8;
extern uint16_t LGTV_NUM_9;
extern uint16_t LGTV_NUM_0;
extern uint16_t LGTV_PRECH;
extern uint16_t LGTV_VOL_MINUS;
extern uint16_t LGTV_VOL_PLUS;
extern uint16_t LGTV_MUTE_TOGGLE;
//extern uint16_t LGTV_CHLIST;
extern uint16_t LGTV_CHANNEL_UP;
extern uint16_t LGTV_CHANNEL_DOWN;
extern uint16_t LGTV_MENU; // Q-Menu
//extern uint16_t LGTV_APPS;
extern uint16_t LGTV_GUIDE;
extern uint16_t LGTV_SETUP;
extern uint16_t LGTV_INFO;
extern uint16_t LGTV_UP;
extern uint16_t LGTV_DOWN;
extern uint16_t LGTV_LEFT;
extern uint16_t LGTV_RIGHT;
extern uint16_t LGTV_OK;
extern uint16_t LGTV_RETURN;
extern uint16_t LGTV_EXIT;
extern uint16_t LGTV_KEY_A;
extern uint16_t LGTV_KEY_B;
extern uint16_t LGTV_KEY_C;
extern uint16_t LGTV_KEY_D;
//extern uint16_t LGTV_PSIZE;
//extern uint16_t LGTV_ADSUBT;
//extern uint16_t LGTV_REWIND;
//extern uint16_t LGTV_PAUSE;
//extern uint16_t LGTV_FASTFORWARD;
//extern uint16_t LGTV_RECORD;
//extern uint16_t LGTV_PLAY;
//extern uint16_t LGTV_STOP;
//extern uint16_t LGTV_POWER_OFF;
//extern uint16_t LGTV_POWER_ON;
extern uint16_t LGTV_INPUT_HDMI_1;
extern uint16_t LGTV_INPUT_HDMI_2;
extern uint16_t LGTV_INPUT_HDMI_3;
extern uint16_t LGTV_INPUT_TV;
//extern uint16_t LGTV_INPUT_COMPONENT;
//extern uint16_t LGTV_SLEEP;
extern uint16_t LGTV_3D;
extern uint16_t LGTV_HOME;
void register_device_lgTV();

View file

@ -0,0 +1,77 @@
#include <string>
#include "applicationInternal/commandHandler.h"
#include "applicationInternal/hardware/hardwarePresenter.h"
#include "device_lgbluray.h"
uint16_t LGBLURAY_POWER;
uint16_t LGBLURAY_OPEN_CLOSE;
//uint16_t LGBLURAY_1;
//uint16_t LGBLURAY_2;
//uint16_t LGBLURAY_3;
//uint16_t LGBLURAY_4;
//uint16_t LGBLURAY_5;
//uint16_t LGBLURAY_6;
//uint16_t LGBLURAY_7;
//uint16_t LGBLURAY_8;
//uint16_t LGBLURAY_9;
//uint16_t LGBLURAY_0;
//uint16_t LGBLURAY_TITLE_POPUP;
//uint16_t LGBLURAY_REPEAT;
uint16_t LGBLURAY_REW;
uint16_t LGBLURAY_FF;
uint16_t LGBLURAY_PREVIOUS;
uint16_t LGBLURAY_SKIP;
uint16_t LGBLURAY_PAUSE;
uint16_t LGBLURAY_PLAY;
uint16_t LGBLURAY_STOP;
uint16_t LGBLURAY_HOME;
uint16_t LGBLURAY_INFO;
uint16_t LGBLURAY_CURSOR_UP;
uint16_t LGBLURAY_LEFT;
uint16_t LGBLURAY_ENTER;
uint16_t LGBLURAY_RIGHT;
uint16_t LGBLURAY_CURSOR_DOWN;
uint16_t LGBLURAY_BACK;
uint16_t LGBLURAY_DISC_MENU;
uint16_t LGBLURAY_KEY_A;
uint16_t LGBLURAY_KEY_B;
uint16_t LGBLURAY_KEY_C;
uint16_t LGBLURAY_KEY_D;
void register_device_lgbluray() {
// LG BLURAY Remote AKB73896401
register_command(&LGBLURAY_POWER, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B40CF3"}}));
register_command(&LGBLURAY_OPEN_CLOSE, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B46C93"}}));
//register_command(&LGBLURAY_1, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4DC23"}}));
//register_command(&LGBLURAY_2, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B43CC3"}}));
//register_command(&LGBLURAY_3, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4BC43"}}));
//register_command(&LGBLURAY_4, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B47C83"}}));
//register_command(&LGBLURAY_5, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4FC03"}}));
//register_command(&LGBLURAY_6, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B402FD"}}));
//register_command(&LGBLURAY_7, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4827D"}}));
//register_command(&LGBLURAY_8, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B442BD"}}));
//register_command(&LGBLURAY_9, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4C23D"}}));
//register_command(&LGBLURAY_0, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B422DD"}}));
//register_command(&LGBLURAY_TITLE_POPUP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B452AD"}}));
//register_command(&LGBLURAY_REPEAT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4CA35"}}));
register_command(&LGBLURAY_REW, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B44CB3"}}));
register_command(&LGBLURAY_FF, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4CC33"}}));
register_command(&LGBLURAY_PREVIOUS, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4AC53"}}));
register_command(&LGBLURAY_SKIP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B42CD3"}}));
register_command(&LGBLURAY_PAUSE, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B41CE3"}}));
register_command(&LGBLURAY_PLAY, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B48C73"}}));
register_command(&LGBLURAY_STOP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B49C63"}}));
register_command(&LGBLURAY_HOME, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4E619"}}));
register_command(&LGBLURAY_INFO, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B45CA3"}}));
register_command(&LGBLURAY_CURSOR_UP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4E21D"}}));
register_command(&LGBLURAY_LEFT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B49A65"}}));
register_command(&LGBLURAY_ENTER, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B41AE5"}}));
register_command(&LGBLURAY_RIGHT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B45AA5"}}));
register_command(&LGBLURAY_CURSOR_DOWN, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B412ED"}}));
register_command(&LGBLURAY_BACK, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4A25D"}}));
register_command(&LGBLURAY_DISC_MENU, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4D22D"}}));
register_command(&LGBLURAY_KEY_A, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B43EC1"}}));
register_command(&LGBLURAY_KEY_B, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4BE41"}}));
register_command(&LGBLURAY_KEY_C, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B47E81"}}));
register_command(&LGBLURAY_KEY_D, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG), {"0xB4B4FE01"}}));
}

View file

@ -0,0 +1,38 @@
#pragma once
extern uint16_t LGBLURAY_POWER;
extern uint16_t LGBLURAY_OPEN_CLOSE;
//extern uint16_t LGBLURAY_1;
//extern uint16_t LGBLURAY_2;
//extern uint16_t LGBLURAY_3;
//extern uint16_t LGBLURAY_4;
//extern uint16_t LGBLURAY_5;
//extern uint16_t LGBLURAY_6;
//extern uint16_t LGBLURAY_7;
//extern uint16_t LGBLURAY_8;
//extern uint16_t LGBLURAY_9;
//extern uint16_t LGBLURAY_0;
//extern uint16_t LGBLURAY_TITLE_POPUP;
extern uint16_t LGBLURAY_REPEAT;
extern uint16_t LGBLURAY_REW;
extern uint16_t LGBLURAY_FF;
extern uint16_t LGBLURAY_PREVIOUS;
extern uint16_t LGBLURAY_SKIP;
extern uint16_t LGBLURAY_PAUSE;
extern uint16_t LGBLURAY_PLAY;
extern uint16_t LGBLURAY_STOP;
extern uint16_t LGBLURAY_HOME;
extern uint16_t LGBLURAY_INFO;
extern uint16_t LGBLURAY_CURSOR_UP;
extern uint16_t LGBLURAY_LEFT;
extern uint16_t LGBLURAY_ENTER;
extern uint16_t LGBLURAY_RIGHT;
extern uint16_t LGBLURAY_CURSOR_DOWN;
extern uint16_t LGBLURAY_BACK;
extern uint16_t LGBLURAY_DISC_MENU;
extern uint16_t LGBLURAY_KEY_A;
extern uint16_t LGBLURAY_KEY_B;
extern uint16_t LGBLURAY_KEY_C;
extern uint16_t LGBLURAY_KEY_D;
void register_device_lgbluray();

View file

@ -0,0 +1,92 @@
#include <string>
#include "applicationInternal/commandHandler.h"
#include "applicationInternal/hardware/hardwarePresenter.h"
#include "device_samsungbluray.h"
uint16_t SAMSUNGBLURAY_POWER;
uint16_t SAMSUNGBLURAY_OPEN_CLOSE;
//uint16_t SAMSUNGBLURAY_1;
//uint16_t SAMSUNGBLURAY_2;
//uint16_t SAMSUNGBLURAY_3;
//uint16_t SAMSUNGBLURAY_4;
//uint16_t SAMSUNGBLURAY_5;
//uint16_t SAMSUNGBLURAY_6;
//uint16_t SAMSUNGBLURAY_7;
//uint16_t SAMSUNGBLURAY_8;
//uint16_t SAMSUNGBLURAY_9;
//uint16_t SAMSUNGBLURAY_0;
uint16_t SAMSUNGBLURAY_DISC_MENU;
//uint16_t SAMSUNGBLURAY_TITLE_POPUP;
uint16_t SAMSUNGBLURAY_PREVIOUS;
uint16_t SAMSUNGBLURAY_SKIP;
uint16_t SAMSUNGBLURAY_REW;
uint16_t SAMSUNGBLURAY_FF;
uint16_t SAMSUNGBLURAY_STOP;
uint16_t SAMSUNGBLURAY_PLAY;
uint16_t SAMSUNGBLURAY_PAUSE;
uint16_t SAMSUNGBLURAY_AUDIO;
uint16_t SAMSUNGBLURAY_HOME;
uint16_t SAMSUNGBLURAY_SUBTITLE;
uint16_t SAMSUNGBLURAY_TOOLS;
uint16_t SAMSUNGBLURAY_INFO;
uint16_t SAMSUNGBLURAY_CURSOR_UP;
uint16_t SAMSUNGBLURAY_LEFT;
uint16_t SAMSUNGBLURAY_ENTER;
uint16_t SAMSUNGBLURAY_RIGHT;
uint16_t SAMSUNGBLURAY_CURSOR_DOWN;
uint16_t SAMSUNGBLURAY_BACK;
uint16_t SAMSUNGBLURAY_EXIT;
uint16_t SAMSUNGBLURAY_KEY_A;
uint16_t SAMSUNGBLURAY_KEY_B;
uint16_t SAMSUNGBLURAY_KEY_C;
uint16_t SAMSUNGBLURAY_KEY_D;
//uint16_t SAMSUNGBLURAY_VIEW;
//uint16_t SAMSUNGBLURAY_A_B;
//uint16_t SAMSUNGBLURAY_REPEAT;
//uint16_t SAMSUNGBLURAY_SCREEN;
void register_device_samsungbluray()
{
// SAMSUNG BLURAY AKB73896401
register_command(&SAMSUNGBLURAY_POWER, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E00FF"}}));
register_command(&SAMSUNGBLURAY_OPEN_CLOSE, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E807F"}}));
//register_command(&SAMSUNGBLURAY_1, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E40BF"}}));
//register_command(&SAMSUNGBLURAY_2, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400EC03F"}}));
//register_command(&SAMSUNGBLURAY_3, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E20DF"}}));
//register_command(&SAMSUNGBLURAY_4, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400EA05F"}}));
//register_command(&SAMSUNGBLURAY_5, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E609F"}}));
//register_command(&SAMSUNGBLURAY_6, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400EE01F"}}));
//register_command(&SAMSUNGBLURAY_7, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E10EF"}}));
//register_command(&SAMSUNGBLURAY_8, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E906F"}}));
//register_command(&SAMSUNGBLURAY_9, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E50AF"}}));
//register_command(&SAMSUNGBLURAY_0, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400ED02F"}}));
register_command(&SAMSUNGBLURAY_DISC_MENU, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400EB847"}}));
//register_command(&SAMSUNGBLURAY_TITLE_POPUP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E04FB"}}));
register_command(&SAMSUNGBLURAY_PREVIOUS, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400EB04F"}}));
register_command(&SAMSUNGBLURAY_SKIP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E8877"}}));
register_command(&SAMSUNGBLURAY_REW, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E48B7"}}));
register_command(&SAMSUNGBLURAY_FF, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400EA857"}}));
register_command(&SAMSUNGBLURAY_STOP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400EC837"}}));
register_command(&SAMSUNGBLURAY_PLAY, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E28D7"}}));
register_command(&SAMSUNGBLURAY_PAUSE, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E4CB3"}}));
register_command(&SAMSUNGBLURAY_AUDIO, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400EA45B"}}));
register_command(&SAMSUNGBLURAY_HOME, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E6897"}}));
register_command(&SAMSUNGBLURAY_SUBTITLE, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E649B"}}));
register_command(&SAMSUNGBLURAY_TOOLS, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E5CA3"}}));
register_command(&SAMSUNGBLURAY_INFO, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E7887"}}));
register_command(&SAMSUNGBLURAY_CURSOR_UP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E18E7"}}));
register_command(&SAMSUNGBLURAY_LEFT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400ED827"}}));
register_command(&SAMSUNGBLURAY_ENTER, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E38C7"}}));
register_command(&SAMSUNGBLURAY_RIGHT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E58A7"}}));
register_command(&SAMSUNGBLURAY_CURSOR_DOWN, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E9867"}}));
register_command(&SAMSUNGBLURAY_BACK, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400EE817"}}));
register_command(&SAMSUNGBLURAY_EXIT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400ED42B"}}));
register_command(&SAMSUNGBLURAY_KEY_A, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E847B"}}));
register_command(&SAMSUNGBLURAY_KEY_B, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E44BB"}}));
register_command(&SAMSUNGBLURAY_KEY_C, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400EC43B"}}));
register_command(&SAMSUNGBLURAY_KEY_D, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E24DB"}}));
//register_command(&SAMSUNGBLURAY_VIEW, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400ECC33"}}));
//register_command(&SAMSUNGBLURAY_A_B, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E05C8"}}));
//register_command(&SAMSUNGBLURAY_REPEAT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400EE41B"}}));
//register_command(&SAMSUNGBLURAY_SCREEN, makeCommandData(IR, {std::to_string(IR_PROTOCOL_SAMSUNG36), {"0x400E9C63"}}));
}

View file

@ -0,0 +1,45 @@
#pragma once
extern uint16_t SAMSUNGBLURAY_POWER;
extern uint16_t SAMSUNGBLURAY_OPEN_CLOSE;
//extern uint16_t SAMSUNGBLURAY_1;
//extern uint16_t SAMSUNGBLURAY_2;
//extern uint16_t SAMSUNGBLURAY_3;
//extern uint16_t SAMSUNGBLURAY_4;
//extern uint16_t SAMSUNGBLURAY_5;
//extern uint16_t SAMSUNGBLURAY_6;
//extern uint16_t SAMSUNGBLURAY_7;
//extern uint16_t SAMSUNGBLURAY_8;
//extern uint16_t SAMSUNGBLURAY_9;
//extern uint16_t SAMSUNGBLURAY_0;
extern uint16_t SAMSUNGBLURAY_DISC_MENU;
//extern uint16_t SAMSUNGBLURAY_TITLE_POPUP;
extern uint16_t SAMSUNGBLURAY_PREVIOUS;
extern uint16_t SAMSUNGBLURAY_SKIP;
extern uint16_t SAMSUNGBLURAY_REW;
extern uint16_t SAMSUNGBLURAY_FF;
extern uint16_t SAMSUNGBLURAY_STOP;
extern uint16_t SAMSUNGBLURAY_PLAY;
extern uint16_t SAMSUNGBLURAY_PAUSE;
extern uint16_t SAMSUNGBLURAY_AUDIO;
extern uint16_t SAMSUNGBLURAY_HOME;
extern uint16_t SAMSUNGBLURAY_SUBTITLE;
extern uint16_t SAMSUNGBLURAY_TOOLS;
extern uint16_t SAMSUNGBLURAY_INFO;
extern uint16_t SAMSUNGBLURAY_CURSOR_UP;
extern uint16_t SAMSUNGBLURAY_LEFT;
extern uint16_t SAMSUNGBLURAY_ENTER;
extern uint16_t SAMSUNGBLURAY_RIGHT;
extern uint16_t SAMSUNGBLURAY_CURSOR_DOWN;
extern uint16_t SAMSUNGBLURAY_BACK;
extern uint16_t SAMSUNGBLURAY_EXIT;
extern uint16_t SAMSUNGBLURAY_KEY_A;
extern uint16_t SAMSUNGBLURAY_KEY_B;
extern uint16_t SAMSUNGBLURAY_KEY_C;
extern uint16_t SAMSUNGBLURAY_KEY_D;
//extern uint16_t SAMSUNGBLURAY_VIEW;
//extern uint16_t SAMSUNGBLURAY_A_B;
//extern uint16_t SAMSUNGBLURAY_REPEAT;
//extern uint16_t SAMSUNGBLURAY_SCREEN;
void register_device_samsungbluray();

View file

@ -0,0 +1,36 @@
#include <string>
#include "applicationInternal/commandHandler.h"
#include "applicationInternal/hardware/hardwarePresenter.h"
#include "device_shield.h"
uint16_t SHIELD_POWER_TOGGLE;
uint16_t SHIELD_MENU; //
uint16_t SHIELD_EXIT; // ESC
uint16_t SHIELD_STOP; // x
uint16_t SHIELD_PLAY; // space
uint16_t SHIELD_FORWARD; // f
uint16_t SHIELD_REVERSE; // r
uint16_t SHIELD_UP; // up
uint16_t SHIELD_DOWN; // down
uint16_t SHIELD_LEFT; // left
uint16_t SHIELD_RIGHT; // right
uint16_t SHIELD_OK; // return
uint16_t SHIELD_SHIELD; // ?
void register_device_shield() {
// http://www.hifi-remote.com/wiki/index.php/Infrared_Protocol_Primer
// https://www.avsforum.com/threads/discrete-ir-code-list-for-nvidia-shield-tv.2126570/
register_command(&SHIELD_POWER_TOGGLE, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017E609F"}));
register_command(&SHIELD_MENU, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017E906F"}));
register_command(&SHIELD_EXIT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017E40BF"}));
register_command(&SHIELD_STOP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017EE01F"}));
register_command(&SHIELD_PLAY, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017E8877"}));
register_command(&SHIELD_FORWARD, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017EF00F"}));
register_command(&SHIELD_REVERSE, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017E50AF"}));
register_command(&SHIELD_UP, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017E30CF"}));
register_command(&SHIELD_DOWN, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017E708F"}));
register_command(&SHIELD_LEFT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017ED02F"}));
register_command(&SHIELD_RIGHT, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017EB04F"}));
register_command(&SHIELD_OK, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017EC03F"}));
register_command(&SHIELD_SHIELD, makeCommandData(IR, {std::to_string(IR_PROTOCOL_NEC), "0x017E847B"}));
}

View file

@ -0,0 +1,17 @@
#pragma once
extern uint16_t SHIELD_POWER_TOGGLE;
extern uint16_t SHIELD_MENU;
extern uint16_t SHIELD_EXIT;
extern uint16_t SHIELD_STOP;
extern uint16_t SHIELD_PLAY;
extern uint16_t SHIELD_FORWARD;
extern uint16_t SHIELD_REVERSE;
extern uint16_t SHIELD_UP;
extern uint16_t SHIELD_DOWN;
extern uint16_t SHIELD_LEFT;
extern uint16_t SHIELD_RIGHT;
extern uint16_t SHIELD_OK;
extern uint16_t SHIELD_SHIELD;
void register_device_shield();

View file

@ -6,6 +6,11 @@
// register devices and their commands // register devices and their commands
#include "devices/misc/device_specialCommands.h" #include "devices/misc/device_specialCommands.h"
#include "devices/TV/device_samsungTV/device_samsungTV.h" #include "devices/TV/device_samsungTV/device_samsungTV.h"
#include "devices/TV/device_lgTV/device_lgTV.h"
#include "devices/mediaPlayer/device_shield/device_shield.h"
#include "devices/AVreceiver/device_lgsoundbar/device_lgsoundbar.h"
#include "devices/mediaPlayer/device_lgbluray/device_lgbluray.h"
#include "devices/mediaPlayer/device_samsungbluray/device_samsungbluray.h"
#include "devices/AVreceiver/device_yamahaAmp/device_yamahaAmp.h" #include "devices/AVreceiver/device_yamahaAmp/device_yamahaAmp.h"
#include "devices/AVreceiver/device_denonAvr/device_denonAvr.h" #include "devices/AVreceiver/device_denonAvr/device_denonAvr.h"
#include "devices/mediaPlayer/device_appleTV/device_appleTV.h" #include "devices/mediaPlayer/device_appleTV/device_appleTV.h"
@ -73,6 +78,11 @@ int main(int argc, char *argv[]) {
register_device_denonAvr(); register_device_denonAvr();
register_device_smarthome(); register_device_smarthome();
register_device_appleTV(); register_device_appleTV();
register_device_lgTV();
register_device_lgsoundbar();
register_device_lgbluray();
register_device_samsungbluray();
register_device_shield();
#if (ENABLE_KEYBOARD_MQTT == 1) #if (ENABLE_KEYBOARD_MQTT == 1)
register_device_keyboard_mqtt(); register_device_keyboard_mqtt();
#endif #endif