mirror of
https://github.com/taigrr/arduinolibs
synced 2025-01-18 04:33:12 -08:00
197 lines
3.2 KiB
C++
197 lines
3.2 KiB
C++
/* This example is placed into the public domain */
|
|
|
|
#include <IRreceiver.h>
|
|
|
|
IRreceiver ir;
|
|
|
|
static const char *systems[32] = {
|
|
"TV",
|
|
"TV2",
|
|
"TXT",
|
|
"TV_EXT",
|
|
"LV",
|
|
"VCR",
|
|
"VCR2",
|
|
"Sys7",
|
|
"SAT",
|
|
"VCR_EXT",
|
|
"SAT2",
|
|
"Sys11",
|
|
"CD_VIDEO",
|
|
"Sys13",
|
|
"CD_PHOTO",
|
|
"Sys15",
|
|
"PREAMP",
|
|
"RADIO",
|
|
"REC",
|
|
"PREAMP2",
|
|
"CD",
|
|
"COMBI",
|
|
"AUDIO_SAT",
|
|
"REC2",
|
|
"Sys24",
|
|
"Sys25",
|
|
"CD_R",
|
|
"Sys27",
|
|
"Sys28",
|
|
"Sys29",
|
|
"Sys30",
|
|
"Sys31"
|
|
};
|
|
|
|
// Selection of TV, VCR, and CD commands to assist with command identification.
|
|
// May not be correct for all system types.
|
|
static const char *commands[128] = {
|
|
"0",
|
|
"1",
|
|
"2",
|
|
"3",
|
|
"4",
|
|
"5",
|
|
"6",
|
|
"7",
|
|
"8",
|
|
"9",
|
|
"123",
|
|
"11",
|
|
"STANDBY",
|
|
"MUTE",
|
|
"PREFERENCES",
|
|
"DISPLAY_INFO",
|
|
"INC_VOLUME",
|
|
"DEC_VOLUME",
|
|
"INC_BRIGHTNESS",
|
|
"DEC_BRIGHTNESS",
|
|
"INC_SATURATION",
|
|
"DEC_SATURATION",
|
|
"INC_BASS",
|
|
"DEC_BASS",
|
|
"INC_TREBLE",
|
|
"DEC_TREBLE",
|
|
"BALANCE_LEFT",
|
|
"BALANCE_RIGHT",
|
|
"INC_CONTRAST",
|
|
"DEC_CONTRAST",
|
|
"SEARCH_UP",
|
|
"DEC_TINT",
|
|
"CHANNEL_UP",
|
|
"CHANNEL_DOWN",
|
|
"CHANNEL_LAST",
|
|
"STEREO_SELECT",
|
|
"STEREO_SPATIAL",
|
|
"STEREO_TOGGLE",
|
|
"SLEEP_TIMER",
|
|
"INC_TINT",
|
|
"SWITCH_RF",
|
|
"STORE",
|
|
"TIME",
|
|
"INC_SCAN",
|
|
"DEC_SCAN",
|
|
"TRAY",
|
|
"SECONDARY_MENU",
|
|
"CLOCK",
|
|
"PAUSE",
|
|
"ERASE",
|
|
"REWIND",
|
|
"GOTO",
|
|
"WIND",
|
|
"PLAY",
|
|
"STOP",
|
|
"RECORD",
|
|
"EXTERNAL_1",
|
|
"EXTERNAL_2",
|
|
"CLEAR_MEMORY",
|
|
"VIEW_DATA",
|
|
"12",
|
|
"SYSTEM_STANDBY",
|
|
"CRISP",
|
|
"TRANSMIT_MODE",
|
|
"Cmd64",
|
|
"Cmd65",
|
|
"Cmd66",
|
|
"Cmd67",
|
|
"Cmd68",
|
|
"Cmd69",
|
|
"AUDIO_RESPONSE",
|
|
"DIM",
|
|
"Cmd72",
|
|
"Cmd73",
|
|
"Cmd74",
|
|
"Cmd75",
|
|
"Cmd76",
|
|
"INC_LINEAR",
|
|
"DEC_LINEAR",
|
|
"SOUND_FUNCTIONS",
|
|
"UP",
|
|
"DOWN",
|
|
"MENU_ON",
|
|
"MENU_OFF",
|
|
"AV_STATUS",
|
|
"LEFT",
|
|
"RIGHT",
|
|
"OK",
|
|
"PIP",
|
|
"PIP_SHIFT",
|
|
"PIP_SWAP",
|
|
"PIP_STROBE",
|
|
"PIP_MULTI_STROBE",
|
|
"PIP_FREEZE_MAIN",
|
|
"PIP_MULTI_SCAN",
|
|
"PIP_SOURCE",
|
|
"PIP_MOSAIC",
|
|
"PIP_NOISE",
|
|
"PIP_STORE",
|
|
"PIP_PHOTO_FINISH",
|
|
"PIP_RECALL",
|
|
"PIP_FREEZE",
|
|
"PIP_UP",
|
|
"PIP_DOWN",
|
|
"PIP_SIZE",
|
|
"VERSION_FUNCTIONS",
|
|
"COLOR_KEY",
|
|
"RED",
|
|
"GREEN",
|
|
"YELLOW",
|
|
"CYAN",
|
|
"INDEX",
|
|
"NEXT_OPTION",
|
|
"PREVIOUS_OPTION",
|
|
"Cmd114",
|
|
"Cmd115",
|
|
"Cmd116",
|
|
"Cmd117",
|
|
"SUBMODE",
|
|
"OPTIONS",
|
|
"FADE",
|
|
"Cmd121",
|
|
"STORE_OPEN_CLOSE",
|
|
"CONNECT_EURO",
|
|
"DISCONNECT_EURO",
|
|
"Cmd125",
|
|
"Cmd126",
|
|
"Cmd127"
|
|
};
|
|
|
|
void setup() {
|
|
Serial.begin(9600);
|
|
}
|
|
|
|
void loop() {
|
|
int cmd = ir.command();
|
|
if (cmd >= 0) {
|
|
Serial.print("IR system=");
|
|
Serial.print(ir.system());
|
|
Serial.print(" (RC5_SYS_");
|
|
Serial.print(systems[ir.system()]);
|
|
Serial.print("), command=");
|
|
Serial.print(cmd & 0x7F);
|
|
Serial.print(" (RC5_");
|
|
Serial.print(commands[cmd & 0x7F]);
|
|
Serial.print(")");
|
|
if (cmd & IRreceiver::AUTO_REPEAT)
|
|
Serial.println(", auto-repeat");
|
|
else
|
|
Serial.println();
|
|
}
|
|
}
|