 // NOTE: Make sure you set your Serial Monitor to the same speed.
 #define BAUD_RATE 115200  // Serial port Baud rate.
 
+// ADVANCED USAGE ONLY
+
+// Change if you need multiple independent send gpio/topics.
+const uint8_t gpioTable[] = {
+  IR_LED,  // Default GPIO. e.g. ir_server/send or ir_server/send_0
+  // Uncomment the following as needed.
+  // NOTE: Remember to disable DEBUG if you are using one of the serial pins.
+  // 5,  // GPIO 5 / D1 e.g. ir_server/send_1
+  // 14,  // GPIO 14 / D5 e.g. ir_server/send_2
+  // 16,  // GPIO 16 / D0 e.g. ir_server/send_3
+};
+
 // ----------------- End of User Configuration Section -------------------------
 
 // Globals
-#define _MY_VERSION_ "v0.8.5"
+#define _MY_VERSION_ "v0.9.0"
 // HTML arguments we will parse for IR code information.
 #define argType "type"
 #define argData "code"

//        Note: The leading "1:1,1," of normal GC codes should be removed.
// Returns:
//   bool: Successfully sent or not.
bool parseStringAndSendGC(const String str) {
  uint16_t count;
  uint16_t *code_array;
  String tmp_str;

    case RC5:  // 1
      if (bits == 0)
        bits = kRC5Bits;
      irsend->sendRC5(code, bits, repeat);
      break;
#endif
#if SEND_RC6
    case RC6:  // 2
      if (bits == 0)
        bits = kRC6Mode0Bits;
      irsend->sendRC6(code, bits, repeat);
      break;
#endif
#if SEND_NEC
    case NEC:  // 3
      if (bits == 0)
        bits = kNECBits;
      irsend->sendNEC(code, bits, repeat);
      break;
#endif
#if SEND_SONY
