Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save bengtmartensson/ef7ed66c64f15f9c779e1b68fbc384d5 to your computer and use it in GitHub Desktop.
Save bengtmartensson/ef7ed66c64f15f9c779e1b68fbc384d5 to your computer and use it in GitHub Desktop.
// This Arduino sketch was automatically generated by IrScrutinizer.
// It supports:
//
// * IRremote https://github.com/z3t0/Arduino-IRremote
// http://z3t0.github.io/Arduino-IRremote/
// * IRLib https://github.com/cyborg5/IRLib
// * Infrared4Arduino https://github.com/bengtmartensson/Infrared4Arduino,
// http://www.harctoolbox.org/Infrared4Arduino.html (planned)
// For problems, bugs, and suggestions, please open an issue at
// https://github.com/bengtmartensson/harctoolboxbundle/issues
// This file contains C identifiers which have been translated from command names.
// Define exactly one of these
// #define IRREMOTE
// #define IRLIB
#define INFRARED4ARDUINO
/////////////////////////////////////////////////////
// Sanity check
#if defined(IRREMOTE) & ( defined(IRLIB) | defined(INFRARED4ARDUINO) )
#error Must define only one of IRREMOTE, IRLIB, or INFRARED4ARDUINO
#endif
#if defined(IRLIB) & ( defined(IRREMOTE) | defined(INFRARED4ARDUINO) )
#error Must define only one of IRREMOTE, IRLIB, or INFRARED4ARDUINO
#endif
#if defined(INFRARED4ARDUINO) & ( defined(IRLIB) | defined(IRREMOTE) )
#error Must define only one of IRREMOTE, IRLIB, or INFRARED4ARDUINO
#endif
#ifdef IRREMOTE
#include <IRremote.h>
#elif defined(IRLIB)
#include <IRLib.h>
#define sendRaw send
#elif defined(INFRARED4ARDUINO)
#include <IrSenderPwm.h>
#else
#error Must defined one of IRREMOTE, IRLIB, or INFRARED4ARDUINO
#endif
#if defined(IRREMOTE) | defined(IRLIB)
typedef uint16_t microseconds_t; // Change if desired
typedef uint16_t frequency_t; // Change if desired
static inline unsigned hz2khz(frequency_t f) { return f/1000U; }
#endif
// Constants
static const long BAUD = 115200UL; // Change if desired
// Global variables
#ifdef IRREMOTE
IRsend irsend;
#elif defined(IRLIB)
IRsendRaw irsend;
#else
IrSender *irsend = IrSenderPwm::getInstance(true);
#endif
// Command #1: ASTERISK
// Protocol: panasonic_old, Parameters: D=27 F=15
const microseconds_t repeat_ASTERISK[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #2: CC
// Protocol: panasonic_old, Parameters: D=31 F=25
const microseconds_t repeat_CC[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #3: CHANNEL DOWN
// Protocol: panasonic_old, Parameters: D=27 F=30
const microseconds_t repeat_CHANNEL_DOWN[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #4: CHANNEL UP
// Protocol: panasonic_old, Parameters: D=27 F=29
const microseconds_t repeat_CHANNEL_UP[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #5: CURSOR DOWN
// Protocol: panasonic_old, Parameters: D=27 F=11
const microseconds_t repeat_CURSOR_DOWN[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #6: CURSOR ENTER
// Protocol: panasonic_old, Parameters: D=27 F=12
const microseconds_t repeat_CURSOR_ENTER[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #7: CURSOR LEFT
// Protocol: panasonic_old, Parameters: D=27 F=3
const microseconds_t repeat_CURSOR_LEFT[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #8: CURSOR RIGHT
// Protocol: panasonic_old, Parameters: D=27 F=4
const microseconds_t repeat_CURSOR_RIGHT[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #9: CURSOR UP
// Protocol: panasonic_old, Parameters: D=27 F=2
const microseconds_t repeat_CURSOR_UP[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #10: DAY NEXT
// Protocol: panasonic_old, Parameters: D=28 F=15
const microseconds_t repeat_DAY_NEXT[] PROGMEM = { 3332U, 3332U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #11: DAY PREVIOUS
// Protocol: panasonic_old, Parameters: D=28 F=16
const microseconds_t repeat_DAY_PREVIOUS[] PROGMEM = { 3332U, 3332U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #12: DIGIT 0
// Protocol: panasonic_old, Parameters: D=27 F=25
const microseconds_t repeat_DIGIT_0[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #13: DIGIT 1
// Protocol: panasonic_old, Parameters: D=27 F=16
const microseconds_t repeat_DIGIT_1[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #14: DIGIT 2
// Protocol: panasonic_old, Parameters: D=27 F=17
const microseconds_t repeat_DIGIT_2[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #15: DIGIT 3
// Protocol: panasonic_old, Parameters: D=27 F=18
const microseconds_t repeat_DIGIT_3[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #16: DIGIT 4
// Protocol: panasonic_old, Parameters: D=27 F=19
const microseconds_t repeat_DIGIT_4[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #17: DIGIT 5
// Protocol: panasonic_old, Parameters: D=27 F=20
const microseconds_t repeat_DIGIT_5[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #18: DIGIT 6
// Protocol: panasonic_old, Parameters: D=27 F=21
const microseconds_t repeat_DIGIT_6[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #19: DIGIT 7
// Protocol: panasonic_old, Parameters: D=27 F=22
const microseconds_t repeat_DIGIT_7[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #20: DIGIT 8
// Protocol: panasonic_old, Parameters: D=27 F=23
const microseconds_t repeat_DIGIT_8[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #21: DIGIT 9
// Protocol: panasonic_old, Parameters: D=27 F=24
const microseconds_t repeat_DIGIT_9[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #22: ENTER
// Protocol: panasonic_old, Parameters: D=27 F=12
const microseconds_t repeat_ENTER[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #23: EXIT
// Protocol: panasonic_old, Parameters: D=27 F=44
const microseconds_t repeat_EXIT[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 44000 };
// Command #24: FAVORITE
// Protocol: panasonic_old, Parameters: D=27 F=31
const microseconds_t repeat_FAVORITE[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #25: FORMAT SCROLL
// Protocol: panasonic_old, Parameters: D=27 F=58
const microseconds_t repeat_FORMAT_SCROLL[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #26: FORWARD
// Protocol: panasonic_old, Parameters: D=27 F=40
const microseconds_t repeat_FORWARD[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 44000 };
// Command #27: FUNCTION A
// Protocol: panasonic_old, Parameters: D=27 F=47
const microseconds_t repeat_FUNCTION_A[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 44000 };
// Command #28: FUNCTION B
// Protocol: panasonic_old, Parameters: D=27 F=48
const microseconds_t repeat_FUNCTION_B[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #29: FUNCTION C
// Protocol: panasonic_old, Parameters: D=27 F=49
const microseconds_t repeat_FUNCTION_C[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #30: FUNCTION D
// Protocol: panasonic_old, Parameters: D=28 F=61
const microseconds_t repeat_FUNCTION_D[] PROGMEM = { 3332U, 3332U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #31: GUIDE
// Protocol: panasonic_old, Parameters: D=27 F=6
const microseconds_t repeat_GUIDE[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #32: INFO
// Protocol: panasonic_old, Parameters: D=27 F=8
const microseconds_t repeat_INFO[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #33: INPUT SCROLL
// Protocol: panasonic_old, Parameters: D=27 F=13
const microseconds_t repeat_INPUT_SCROLL[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #34: LIVE
// Protocol: panasonic_old, Parameters: D=27 F=26
const microseconds_t repeat_LIVE[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #35: MENU DVR
// Protocol: panasonic_old, Parameters: D=27 F=38
const microseconds_t repeat_MENU_DVR[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 44000 };
// Command #36: MENU MAIN
// Protocol: panasonic_old, Parameters: D=27 F=62
const microseconds_t repeat_MENU_MAIN[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #37: MENU SETTINGS
// Protocol: panasonic_old, Parameters: D=27 F=57
const microseconds_t repeat_MENU_SETTINGS[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #38: MUTE TOGGLE
// Protocol: panasonic_old, Parameters: D=27 F=34
const microseconds_t repeat_MUTE_TOGGLE[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 44000 };
// Command #39: PAGE DOWN
// Protocol: panasonic_old, Parameters: D=27 F=55
const microseconds_t repeat_PAGE_DOWN[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #40: PAGE UP
// Protocol: panasonic_old, Parameters: D=27 F=54
const microseconds_t repeat_PAGE_UP[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #41: PAUSE
// Protocol: panasonic_old, Parameters: D=27 F=5
const microseconds_t repeat_PAUSE[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #42: PIP
// Protocol: panasonic_old, Parameters: D=27 F=59
const microseconds_t repeat_PIP[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #43: PIP CHANNEL DOWN
// Protocol: panasonic_old, Parameters: D=27 F=63
const microseconds_t repeat_PIP_CHANNEL_DOWN[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #44: PIP CHANNEL UP
// Protocol: panasonic_old, Parameters: D=27 F=46
const microseconds_t repeat_PIP_CHANNEL_UP[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 44000 };
// Command #45: PIP POSITION
// Protocol: panasonic_old, Parameters: D=27 F=61
const microseconds_t repeat_PIP_POSITION[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #46: PIP SWAP
// Protocol: panasonic_old, Parameters: D=27 F=60
const microseconds_t repeat_PIP_SWAP[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #47: PLAY
// Protocol: panasonic_old, Parameters: D=27 F=51
const microseconds_t repeat_PLAY[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #48: POWER TOGGLE
// Protocol: panasonic_old, Parameters: D=27 F=7
const microseconds_t repeat_POWER_TOGGLE[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #49: PREVIOUS CHANNEL
// Protocol: panasonic_old, Parameters: D=27 F=14
const microseconds_t repeat_PREVIOUS_CHANNEL[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #50: PROFILE
// Protocol: panasonic_old, Parameters: D=28 F=59
const microseconds_t repeat_PROFILE[] PROGMEM = { 3332U, 3332U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #51: RECORD
// Protocol: panasonic_old, Parameters: D=27 F=53
const microseconds_t repeat_RECORD[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #52: REPLAY
// Protocol: panasonic_old, Parameters: D=27 F=39
const microseconds_t repeat_REPLAY[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 44000 };
// Command #53: REVERSE
// Protocol: panasonic_old, Parameters: D=27 F=41
const microseconds_t repeat_REVERSE[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 44000 };
// Command #54: SEARCH
// Protocol: panasonic_old, Parameters: D=28 F=31
const microseconds_t repeat_SEARCH[] PROGMEM = { 3332U, 3332U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #55: STOP
// Protocol: panasonic_old, Parameters: D=27 F=52
const microseconds_t repeat_STOP[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 44000 };
// Command #56: USER
// Protocol: panasonic_old, Parameters: D=31 F=26
const microseconds_t repeat_USER[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #57: VIDEO ON DEMAND
// Protocol: panasonic_old, Parameters: D=28 F=30
const microseconds_t repeat_VIDEO_ON_DEMAND[] PROGMEM = { 3332U, 3332U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 44000 };
// Command #58: VOLUME DOWN
// Protocol: panasonic_old, Parameters: D=27 F=33
const microseconds_t repeat_VOLUME_DOWN[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 44000 };
// Command #59: VOLUME UP
// Protocol: panasonic_old, Parameters: D=27 F=32
const microseconds_t repeat_VOLUME_UP[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 44000 };
// Command #60: WIDGETS
// Protocol: panasonic_old, Parameters: D=28 F=7
const microseconds_t repeat_WIDGETS[] PROGMEM = { 3332U, 3332U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 44000 };
// Command #61: ZOOM
// Protocol: panasonic_old, Parameters: D=27 F=58
const microseconds_t repeat_ZOOM[] PROGMEM = { 3332U, 3332U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 2499U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 2499U, 833U, 833U, 833U, 833U, 833U, 833U, 833U, 44000 };
static void sendRaw(const microseconds_t intro_P[], size_t lengthIntro, const microseconds_t repeat_P[],
size_t lengthRepeat, frequency_t frequency, unsigned times) {
microseconds_t intro[lengthIntro];
microseconds_t repeat[lengthRepeat];
memcpy_PF(intro, (uint_farptr_t) intro_P, sizeof(microseconds_t) * lengthIntro);
memcpy_PF(repeat, (uint_farptr_t) repeat_P, sizeof(microseconds_t) * lengthRepeat);
#if defined(IRREMOTE) | defined(IRLIB)
if (lengthIntro > 0U)
irsend.sendRaw(intro, lengthIntro, hz2khz(frequency));
if (lengthRepeat > 0U)
for (unsigned i = 0U; i < times - (lengthIntro > 0U); i++)
irsend.sendRaw(repeat, lengthRepeat, hz2khz(frequency));
#else // INFRARED4ARDUINO
IrSignal irSignal(intro, lengthIntro, repeat, lengthRepeat, NULL, 0U, frequency);
irsend->sendIrSignal(irSignal, times);
#endif
}
void setup() {
Serial.begin(BAUD);
Serial.setTimeout(60000UL);
}
// A pretty silly main loop; just intended as an example.
void loop() {
Serial.println(F("Enter number of signal to send (1 .. 61)"));
long commandno = Serial.parseInt();
Serial.println(F("Enter number of times to send it"));
long times = Serial.parseInt();
switch (commandno) {
case 1U:
sendRaw(NULL, 0U, repeat_ASTERISK, 48U, 57600U, times);
break;
case 2U:
sendRaw(NULL, 0U, repeat_CC, 48U, 57600U, times);
break;
case 3U:
sendRaw(NULL, 0U, repeat_CHANNEL_DOWN, 48U, 57600U, times);
break;
case 4U:
sendRaw(NULL, 0U, repeat_CHANNEL_UP, 48U, 57600U, times);
break;
case 5U:
sendRaw(NULL, 0U, repeat_CURSOR_DOWN, 48U, 57600U, times);
break;
case 6U:
sendRaw(NULL, 0U, repeat_CURSOR_ENTER, 48U, 57600U, times);
break;
case 7U:
sendRaw(NULL, 0U, repeat_CURSOR_LEFT, 48U, 57600U, times);
break;
case 8U:
sendRaw(NULL, 0U, repeat_CURSOR_RIGHT, 48U, 57600U, times);
break;
case 9U:
sendRaw(NULL, 0U, repeat_CURSOR_UP, 48U, 57600U, times);
break;
case 10U:
sendRaw(NULL, 0U, repeat_DAY_NEXT, 48U, 57600U, times);
break;
case 11U:
sendRaw(NULL, 0U, repeat_DAY_PREVIOUS, 48U, 57600U, times);
break;
case 12U:
sendRaw(NULL, 0U, repeat_DIGIT_0, 48U, 57600U, times);
break;
case 13U:
sendRaw(NULL, 0U, repeat_DIGIT_1, 48U, 57600U, times);
break;
case 14U:
sendRaw(NULL, 0U, repeat_DIGIT_2, 48U, 57600U, times);
break;
case 15U:
sendRaw(NULL, 0U, repeat_DIGIT_3, 48U, 57600U, times);
break;
case 16U:
sendRaw(NULL, 0U, repeat_DIGIT_4, 48U, 57600U, times);
break;
case 17U:
sendRaw(NULL, 0U, repeat_DIGIT_5, 48U, 57600U, times);
break;
case 18U:
sendRaw(NULL, 0U, repeat_DIGIT_6, 48U, 57600U, times);
break;
case 19U:
sendRaw(NULL, 0U, repeat_DIGIT_7, 48U, 57600U, times);
break;
case 20U:
sendRaw(NULL, 0U, repeat_DIGIT_8, 48U, 57600U, times);
break;
case 21U:
sendRaw(NULL, 0U, repeat_DIGIT_9, 48U, 57600U, times);
break;
case 22U:
sendRaw(NULL, 0U, repeat_ENTER, 48U, 57600U, times);
break;
case 23U:
sendRaw(NULL, 0U, repeat_EXIT, 48U, 57600U, times);
break;
case 24U:
sendRaw(NULL, 0U, repeat_FAVORITE, 48U, 57600U, times);
break;
case 25U:
sendRaw(NULL, 0U, repeat_FORMAT_SCROLL, 48U, 57600U, times);
break;
case 26U:
sendRaw(NULL, 0U, repeat_FORWARD, 48U, 57600U, times);
break;
case 27U:
sendRaw(NULL, 0U, repeat_FUNCTION_A, 48U, 57600U, times);
break;
case 28U:
sendRaw(NULL, 0U, repeat_FUNCTION_B, 48U, 57600U, times);
break;
case 29U:
sendRaw(NULL, 0U, repeat_FUNCTION_C, 48U, 57600U, times);
break;
case 30U:
sendRaw(NULL, 0U, repeat_FUNCTION_D, 48U, 57600U, times);
break;
case 31U:
sendRaw(NULL, 0U, repeat_GUIDE, 48U, 57600U, times);
break;
case 32U:
sendRaw(NULL, 0U, repeat_INFO, 48U, 57600U, times);
break;
case 33U:
sendRaw(NULL, 0U, repeat_INPUT_SCROLL, 48U, 57600U, times);
break;
case 34U:
sendRaw(NULL, 0U, repeat_LIVE, 48U, 57600U, times);
break;
case 35U:
sendRaw(NULL, 0U, repeat_MENU_DVR, 48U, 57600U, times);
break;
case 36U:
sendRaw(NULL, 0U, repeat_MENU_MAIN, 48U, 57600U, times);
break;
case 37U:
sendRaw(NULL, 0U, repeat_MENU_SETTINGS, 48U, 57600U, times);
break;
case 38U:
sendRaw(NULL, 0U, repeat_MUTE_TOGGLE, 48U, 57600U, times);
break;
case 39U:
sendRaw(NULL, 0U, repeat_PAGE_DOWN, 48U, 57600U, times);
break;
case 40U:
sendRaw(NULL, 0U, repeat_PAGE_UP, 48U, 57600U, times);
break;
case 41U:
sendRaw(NULL, 0U, repeat_PAUSE, 48U, 57600U, times);
break;
case 42U:
sendRaw(NULL, 0U, repeat_PIP, 48U, 57600U, times);
break;
case 43U:
sendRaw(NULL, 0U, repeat_PIP_CHANNEL_DOWN, 48U, 57600U, times);
break;
case 44U:
sendRaw(NULL, 0U, repeat_PIP_CHANNEL_UP, 48U, 57600U, times);
break;
case 45U:
sendRaw(NULL, 0U, repeat_PIP_POSITION, 48U, 57600U, times);
break;
case 46U:
sendRaw(NULL, 0U, repeat_PIP_SWAP, 48U, 57600U, times);
break;
case 47U:
sendRaw(NULL, 0U, repeat_PLAY, 48U, 57600U, times);
break;
case 48U:
sendRaw(NULL, 0U, repeat_POWER_TOGGLE, 48U, 57600U, times);
break;
case 49U:
sendRaw(NULL, 0U, repeat_PREVIOUS_CHANNEL, 48U, 57600U, times);
break;
case 50U:
sendRaw(NULL, 0U, repeat_PROFILE, 48U, 57600U, times);
break;
case 51U:
sendRaw(NULL, 0U, repeat_RECORD, 48U, 57600U, times);
break;
case 52U:
sendRaw(NULL, 0U, repeat_REPLAY, 48U, 57600U, times);
break;
case 53U:
sendRaw(NULL, 0U, repeat_REVERSE, 48U, 57600U, times);
break;
case 54U:
sendRaw(NULL, 0U, repeat_SEARCH, 48U, 57600U, times);
break;
case 55U:
sendRaw(NULL, 0U, repeat_STOP, 48U, 57600U, times);
break;
case 56U:
sendRaw(NULL, 0U, repeat_USER, 48U, 57600U, times);
break;
case 57U:
sendRaw(NULL, 0U, repeat_VIDEO_ON_DEMAND, 48U, 57600U, times);
break;
case 58U:
sendRaw(NULL, 0U, repeat_VOLUME_DOWN, 48U, 57600U, times);
break;
case 59U:
sendRaw(NULL, 0U, repeat_VOLUME_UP, 48U, 57600U, times);
break;
case 60U:
sendRaw(NULL, 0U, repeat_WIDGETS, 48U, 57600U, times);
break;
case 61U:
sendRaw(NULL, 0U, repeat_ZOOM, 48U, 57600U, times);
break;
default:
Serial.println(F("Invalid number entered, try again"));
break;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment