#include "Remote.h" buttonData twentyKeySplit(long key_data) { buttonData data; switch (key_data) { case 0xFFA25D: // on data.name = "On"; data.button = RB_ON; data.type = R_POWER; break; case 0xFFE21D: // off data.name = "Off"; data.button = RB_OFF; data.type = R_POWER; break; case 0xBB44FF00: // red data.name = "Red"; data.button = RB_RED; data.type = R_COLOUR; break; case 0xBF40FF00: // green data.name = "Green"; data.button = RB_GREEN; data.type = R_COLOUR; break; case 0xBC43FF00: // blue data.name = "Blue"; data.button = RB_BLUE; data.type = R_COLOUR; break; case 0xF807FF00: // orange data.name = "Orange"; data.button = RB_ORANGE; data.type = R_COLOUR; break; case 0xEA15FF00: // yellow data.name = "Yellow"; data.button = RB_YELLOW; data.type = R_COLOUR; break; case 0xF609FF00: // lime data.name = "Lime"; data.button = RB_LIME; data.type = R_COLOUR; break; case 0xE916FF00: // dark green data.name = "Dark Green"; data.button = RB_DARK_GREEN; data.type = R_COLOUR; break; case 0xE619FF00: // cyan data.name = "Cyan"; data.button = RB_CYAN; data.type = R_COLOUR; break; case 0xF20DFF00: // aqua data.name = "Aqua"; data.button = RB_AQUA; data.type = R_COLOUR; break; case 0xF30CFF00: // dark blue data.name = "Dark Blue"; data.button = RB_DARK_BLUE; data.type = R_COLOUR; break; case 0xE718FF00: // purple data.name = "Purple"; data.button = RB_PURPLE; data.type = R_COLOUR; break; case 0xA15EFF00: // pink data.name = "Pink"; data.button = RB_PINK; data.type = R_COLOUR; break; case 0xF708FF00: // white data.name = "White"; data.button = RB_WHITE; data.type = R_COLOUR; break; case 0xE31CFF00: // fade data.name = "Fade"; data.button = RB_FADE; data.type = R_MODE; break; case 0xA55AFF00: // jump data.name = "Jump"; data.button = RB_JUMP; data.type = R_MODE; break; case 0xBD42FF00: // reset data.name = "Reset"; data.button = RB_RESET; data.type = R_SETTING; break; case 0xAD52FF00: // down data.name = "Brightness Down"; data.button = RB_BRIGHTNESS_DOWN; data.type = R_SETTING; break; case 0xB54AFF00: // up data.name = "Brightness Up"; data.button = RB_BRIGHTNESS_UP; data.type = R_SETTING; break; default: data.name = "Unknown"; data.button = RB_ERROR; data.type = R_EMPTY; break; } return data; } /* buttonData twentyFourKeyWhite(int type) { buttonData data; switch (type) { case 0xF609FF00: // up data.name = "brightness_up"; data.type = SETTING break; case 0xE21DFF00: // down data.name = "brightness_down"; data.type = SETTING break; case 0xE01FFF00: // off data.name = "off"; data.type = POWER break; case 0xF20DFF00: // on data.name = "on"; data.type = POWER break; case 0xE619FF00: // red data.name = "red"; data.type = COLOUR break; case 0xE41BFF00: // green data.name = "green"; data.type = COLOUR; break; case 0xEE11FF00: // blue data.name = "blue"; data.type = COLOUR; break; case 0xEA15FF00: // white data.name = "white"; data.type = COLOUR; break; case 0xF807FF00: // orange data.name = "orange"; data.type = COLOUR; break; case 0xF609FF00: // lime data.name = "lime"; data.type = COLOUR; break; case 0xE916FF00: // light blue data.name = "light_blue"; data.type = COLOUR; break; case 0xEA15FF00: // flash data.name = "jump"; data.type = MODE break; case 0xE619FF00: // cyan data.name = "cyan"; data.type = COLOUR; break; case 0xF20DFF00: // aqua data.name = "aqua"; data.type = COLOUR break; case 0xF30CFF00: // dark blue data.name = "dark_blue"; data.type = COLOUR break; case 0xE718FF00: // purple data.name = "purple"; data.type = COLOUR break; case 0xA15EFF00: // pink data.name = "pink"; data.type = COLOUR break; case 0xE31CFF00: // fade data.name = "fade"; data.type = MODE break; case 0xA55AFF00: // jump data.name = "jump"; data.type = MODE break; case 0xBD42FF00: // reset data.name = "reset"; data.type = SETTING break; } return data; }*/ Remote::Remote(RemoteType type) { this->type = type; } buttonData Remote::call(long key_data) { // Initialize the LED strip based on the type buttonData return_data; switch (type) { case R20KEYSPLIT: return_data = twentyKeySplit(key_data); break; case R24KEYWHITE: // return_data = twentyFourKeyWhite(type); break; case R44KEYWHITE: // Initialize SK6812 strip // Your initialization code here break; } return return_data; }