//  ESP_IR_Remote_Send_Demo by 2016/09/22 koichi kurahashi
//
//
//    This source code is from below sample code. Thanks.
//        IRremoteESP8266: IRsendGCDemo - demonstrates sending Global Cache-formatted IR codes with IRsend
//        An IR LED must be connected to ESP8266 pin 0.
//        Version 0.1 30 March, 2016
//        Based on Ken Shirriff's IrsendDemo Version 0.1 July, 2009, Copyright 2009 Ken Shirriff, http://arcfn.com

#include <IRremoteESP8266.h>

unsigned int fujitsu_26_ac_1hour_timer[] = {0xCE4, 0x672, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x1F4, 0x190, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x4E2, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x4E2, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x190, 0x1F4, 0x190, 0x190, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x4E2, 0x1C2, 0x1C2, 0x190, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x190, 0x1F4, 0x190, 0x1C2, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x190, 0x190, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x1C2, 0x190, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x190, 0x4E2, 0x1C2, 0x4E2, 0x190};
unsigned int fujitsu_26_ac_timeroff[]    = {0xCE4, 0x672, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x4E2, 0x1C2, 0x1C2, 0x1C2, 0x4E2, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x4E2, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x4E2, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x4B0, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x4B0, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x4E2, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x190, 0x190, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x190, 0x190, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x1C2, 0x190, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x4E2, 0x1C2, 0x190, 0x190, 0x4E2, 0x1C2, 0x190, 0x1C2, 0x1C2, 0x190};

IRsend irsend(16);    // IO16に赤外線ダイオード(のドライブ回路)を接続

void setup()
{
  irsend.begin();
  Serial.begin(115200);
}


void loop() {
  int len;

  Serial.println("timer on");
  len = sizeof(fujitsu_26_ac_1hour_timer) / sizeof(unsigned int);
  Serial.println(len);
  irsend.sendRaw(fujitsu_26_ac_1hour_timer, len, 38);
  delay(5000);

  Serial.println("timer on");
  len = sizeof(fujitsu_26_ac_timeroff) / sizeof(unsigned int);
  Serial.println(len);
  irsend.sendRaw(fujitsu_26_ac_timeroff, len, 38);
  delay(5000);
}