2018年1月7日 星期日

ESP8266 Automatic Restart Router or Wi-Fi AP



有現成不需銲接電路就可以使用的模組了




網拍搜尋  esp8266 relay

底板加ESP-01 全部不到台幣200元


這有一篇軟體安裝教學,用網頁翻譯一下很好懂

http://nothans.com/measure-wi-fi-signal-levels-with-the-esp8266-and-thingspeak


第一版          第二版

與前兩個版本比較起來增加了網頁功能,可遠端強制重開被監控的設備





如果你的草稿是使用上圖中的USB設備傳送的請記得測試運作的話不要在這個設備上面運作,
否則Wi-Fi斷線後或重新連線時會發生 wdt reset 訊息 RST CAUSE:2, BOOT MODE:(1,7)







以下紅字部分依現場環境調整後上傳


/* for Arduino IDE 1.6.13
   2018-04-10 修正運作中WiFi斷線後重新連線異常部分
   2017-12-01 device x5  
   2017-07-19 for 8266Relay公版,relay off 防呆
   2017-04-24 按鈕依狀態改變顏色
   2017-04-24 add watchdog on/off
   2017-04-23 add Web control Relay
   2017-04-19 WiFi error count change to power Volt
   2017-03-20 可選擇是否啟用 ThingSpeak 紀錄狀態& log Rssi
   2016-10-03 簡化程式碼,增加被測裝置數量
   2016-09-27 功能測試完成
   for  arduinoIDE 1.6.12 支援 ADC_MODE(ADC_VCC 但檔案目錄不支援中文,否則會檢查編譯錯誤

   ** 避免使用 gpio 16 , 以免不穩或無法運作

 big5 to html code   http://www.convertstring.com/zh_TW/EncodeDecode/HtmlEncode

  定義update區域欄位
  1:  0=loss, 1=Device Active,  2= local boot
  2:  0=loss, 1=Device Active,  2= local boot
  3:  0=loss, 1=Device Active,  2= local boot
  4:  0=loss, 1=Device Active,  2= local boot
  5:  Run Level
  6:  reboot count
  7:  Power Volt
  8:  WiFi RSSI
  thingspeak Server 只傳單一區域值第一筆之後的資料沒辦法再進資料庫
  reedited for ESP8266 2016-09-17 by yulie~
  H/W ESP8266
  Network  service  check ipaddress & port
  2015-07-26 by yulie~
*/

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
MDNSResponder mdns;
ESP8266WebServer server(80);
boolean watchDog =1;    // Device ip_1     1=看門狗開啟
boolean logger =  1;    //1=ture 啟用 ThingSpeak紀錄狀態 , 0=false 停用 ThingSpeak紀錄狀態
word chkTime  =  60;    // Sec 檢測連狀態間隔時間
byte actTime  = 120;    //  次  檢測連狀態正常達該次數後發 Active 紀錄 dev0 or dev1
byte wait     =   5;    //  次  檢測連線狀態失敗達該次數後關電重啟 only for Device ip_1
word wifiFail = 600;    // Sec Wi-Fi connect fail  Reboot wait time
byte off_time =  15;    // Sec   設備斷電該秒數之後重開

const char* Ctl_username = "Admin";     //Relay控制認證帳號
const char* Ctl_password = "0487";      //Relay控制認證密碼
const char* wd_username = "admin";      //WatchDog認證帳號
const char* wd_password = "8787";       //WatchDog認證密碼
String webPage = "";                    //網頁內容(rePage)

///*  //*****for my home NEW *****------------------------------------------------------------------
const byte Relay_1  = 0;                          // 使用第0腳控制繼電器 
const byte LED      = 2;                          // 使用第0腳控LED 顯示ip_1 狀態是否在線
const byte D1_pin   = 0;                          //網頁控制的遙控開關腳位 #1
const byte D2_pin   = 2;                          //網頁控制的遙控開關腳位 #2
const char* ssid = "WiFi_SSID";                        // 連線名稱SSID
const char* password = "WiFi_PASSWORD";                        // 連線密碼
char ip_1[] = "www.google.com"; word port_1 = 80; // 被檢查ip位址 & port
char ip_2[] = "192.168.1.31";   word port_2 = 80; // 被檢查ip位址 & port
char ip_3[] = "192.168.1.81";   word port_3 = 23; // 被檢查ip位址 & port
char ip_4[] = "192.168.1.51";   word port_4 = 23; // 被檢查ip位址 & port
char ip_5[] = "192.168.1.61";   word port_5 = 80; // 被檢查ip位址 & port
const char* Host = "ESP8266_Monitor";           //設備名稱
const char* html = "<h1>Device view</h1>";      //網頁標題
const char* D1_sta_1 = "Router ON";             // digitalRead = 1   敘述文字
const char* D1_sta_0 = "Router OFF";            // digitalRead = 0   敘述文字
const char* D2_sta_1 = "  LED  ON";             // digitalRead = 1   敘述文字
const char* D2_sta_0 = "  LED  OFF";            // digitalRead = 0   敘述文字
const String GET = "GET /update?key=XXXXXXXXXXXXX"; //--------- for 網路設備重開記錄
const char* thingspeakID = "-----------";
///*
// Mac address should be different for each device in your LAN
byte arduino_mac[] = { 0x00, 0x09, 0x37, 0x16, 0x89, 0x40 };
IPAddress device_ip  (192, 168,   1,  5);
IPAddress dns_ip     (168,  95, 192,  1);
IPAddress gateway_ip (192, 168,   1, 254);
IPAddress subnet_mask(255, 255, 255,   0);
//*/
//*/ //------------------------------------------------------------------

char serverIP[] = "api.thingspeak.com"; word serverPort = 80;
unsigned long t, u, v, w = 0;
byte actCoun, devFail, status_1, status_1a, status_2, status_2a, status_3, status_3a, status_4, status_4a, status_5, status_5a;;;
word WiFi_fail, reboot_count;
int rssi;
byte old_watchDog;

void setup() {
  t, u, v, w = millis();
  Serial.begin(115200);
  WiFi.hostname(Host); //no set default ESP_XXXXXX (MAC) 
 // WiFi.config(device_ip, gateway_ip, subnet_mask); //disable to  DHCP
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  /*
 if (WiFi.waitForConnectResult() != WL_CONNECTED) {
    Serial.println("WiFi Connect Failed! Rebooting...10Sec...");
    delay(20000);
    ESP.restart();
  }
*/   if (mdns.begin("esp8266", WiFi.localIP())) {
    Serial.println("MDNS responder started");
  }

  pinMode(Relay_1, OUTPUT); pinMode(LED, OUTPUT);
  // preparing GPIOs
  pinMode(D1_pin, OUTPUT);  digitalWrite(D1_pin, LOW);
  pinMode(D2_pin, OUTPUT);  digitalWrite(D2_pin, LOW);

  for (byte i = 0; i < 6; i++) {
    digitalWrite(LED, !HIGH); delay(500); digitalWrite(LED, !LOW); delay(500); //LED閃5下
  }

  if (logger == 1) updata(2, 2, 2, 2, 2, 0, 9);                 //開機信息

  digitalWrite(LED, chkdev(ip_1, port_1));      //LED 顯示裝置"ip_1"是否連線
//  rePage();

 /* //不認證
  server.on("/", []() { server.send(200, "text/gtml", webPage); });  //無認證
  server.on("/D1_On",  []() {digitalWrite(D1_pin, LOW);  delay(100);    rePage();    server.send(200, "text/html", webPage);  });
  server.on("/D1_Off", []() {digitalWrite(D1_pin, HIGH); delay(100);    rePage();    server.send(200, "text/html", webPage);  });
  server.on("/D2_On",  []() {digitalWrite(D2_pin, LOW);  delay(100);    rePage();    server.send(200, "text/html", webPage);  });
  server.on("/D2_Off", []() {digitalWrite(D2_pin, HIGH); delay(100);    rePage();    server.send(200, "text/html", webPage);  });
 */
  // /*
 //認證不過狀態不會變
  //server.on("/", []() { if (!server.authenticate(www_username, www_password))return server.requestAuthentication(); server.send(200, "text/html", webPage);  });
  server.on("/", []() {rePage(); server.send(200, "text/html", webPage); });
  server.on("/wd_on",  []() { if (!server.authenticate(wd_username, wd_password))return server.requestAuthentication(); watchDog = 1; rePage(); server.send(200, "text/html", webPage); });
  server.on("/wd_off", []() { if (!server.authenticate(wd_username, wd_password))return server.requestAuthentication(); watchDog = 0; rePage(); server.send(200, "text/html", webPage); });
  server.on("/D1_On",  []() { if (!server.authenticate(Ctl_username, Ctl_password))return server.requestAuthentication(); digitalWrite(D1_pin, !HIGH); rePage(); server.send(200, "text/html", webPage); });
  server.on("/D1_Off", []() { if (!server.authenticate(Ctl_username, Ctl_password))return server.requestAuthentication(); digitalWrite(D1_pin, !LOW ); rePage(); server.send(200, "text/html", webPage); });
  server.on("/D2_On",  []() { digitalWrite(D2_pin, HIGH); rePage(); server.send(200, "text/html", webPage); });
  server.on("/D2_Off", []() { digitalWrite(D2_pin, LOW ); rePage(); server.send(200, "text/html", webPage); });
   server.on("/reboot",  []() { if (!server.authenticate(Ctl_username, Ctl_password))return server.requestAuthentication(); rebootPower_1(); rePage(); server.send(200, "text/html", webPage); });
  //*/
  server.begin();  Serial.println("HTTP server started");
  server.begin();
  Serial.print("Open http://");
  Serial.print(WiFi.localIP());
  Serial.println("/ in your browser to see it working");
}

void rePage() {                                               //更新webPage內容
  webPage = html;
//頁面上第1個按鈕,依ON/OFF狀態改變按鈕背景顏色
  webPage += "<p><a href=\"/wd_on\"><button type=\"button\" style=\"background-color:";
  webPage += ((watchDog)?"#FF5050":"#DDDDDD"),                                          //依狀態改變ON按鈕背景顏色
  webPage += ";color:#000000;\">ON</button></a>&nbsp;";                                 //按鈕字型顏色
  webPage += "<a href=\"/wd_off\"><button type=\"button\" style=\"background-color:";
  webPage += ((!watchDog)?"#7FFF7F":"#DDDDDD"),                                         //依狀態改變OFF按鈕背景顏色
  webPage += ";color:#000000;\">OFF</button></a>";                                      //按鈕字型顏色
  webPage += "watchDog: ";
  webPage +=  ip_1;
  webPage += " -> ";
  webPage += ((watchDog)?"ON":"OFF"),       //  digitalRead=1 直接顯示 ON , digitalRead=0 直接顯示 OFF, 
  webPage += "</p>";
//頁面上第2個按鈕,依ON/OFF狀態改變按鈕背景顏色
  webPage += "<p><a href=\"/D1_On\"><button type=\"button\" style=\"background-color:";
  webPage += (!digitalRead( D1_pin )?"#FF5050":"#DDDDDD"),                              //依狀態改變(ON反向)按鈕背景顏色
  webPage += ";color:#000000;\">ON</button></a>&nbsp;";                                 //按鈕字型顏色
  webPage += "<a href=\"/D1_Off\"><button type=\"button\" style=\"background-color:";
  webPage += (digitalRead( D1_pin )?"#7FFF7F":"#DDDDDD"),                               //依狀態改變OFF按鈕背景顏色
  webPage += ";color:#000000;\">OFF</button></a>";                                      //按鈕字型顏色
  webPage += "  #0 Pin ";
  webPage +=  D1_pin;
  webPage += "  -> ";
  webPage += ((digitalRead( D1_pin ))?D1_sta_1:D1_sta_0),     // D1_pin=1 顯示 lampON 字串 ,D1_pind=0 顯示 lampOFF 字串( ! 為使顯示狀態反向,實際上低電位繼電器模組為On)
  webPage += "</p>";
//頁面上第3個按鈕,依ON/OFF狀態改變按鈕背景顏色
  webPage += "<p><a href=\"/D2_On\"><button type=\"button\" style=\"background-color:";
  webPage += (digitalRead( D2_pin )?"#FF5050":"#DDDDDD"),                               //依狀態改變ON按鈕背景顏色
  webPage += ";color:#000000;\">ON</button></a>&nbsp;";                                 //按鈕字型顏色
  webPage += "<a href=\"/D2_Off\"><button type=\"button\" style=\"background-color:";
  webPage += (!digitalRead( D2_pin )?"#7FFF7F":"#DDDDDD"),                              //依狀態改變(OFF反向)按鈕背景顏色
  webPage += ";color:#000000;\">OFF</button></a>";                                      //按鈕字型顏色
  webPage += "  #2 Pin ";
  webPage +=  D2_pin;
  webPage += "  -> ";
  webPage += ((digitalRead( D2_pin ))?D2_sta_1:D2_sta_0),     // digitalRead=1 顯示 lampON 字串 , digitalRead=0 顯示 lampOFF 字串
  webPage += "</p>";

  // webPage += "<p><a href=\"https://thingspeak.com/channels/101630\">View device logger</a></p>"; //加入連結及敘述
   webPage += "<p><a href=\"https://thingspeak.com/channels/";
   webPage +=thingspeakID;
   webPage +="\">View device logger</a></p>";
  // webPage += "<iframe width=\"450\" height=\"260\" style=\"border: 1px solid #cccccc;\" src=\"https://thingspeak.com/channels/101630/charts/1?bgcolor=%23ffffff&color=%23d62020&dynamic=true&results=24&title=%E5%85%A7%E9%83%A8+IP&type=line\"></iframe>";

  webPage += "<p>WiFi RSSI  ";
  webPage += WiFi.RSSI();   
  webPage += " dBm</p>";
  webPage += "<p> </p>""<p>       Power By ESP8266~</p>";                         // 純顯示文字

/*
  //頁面上按鈕,不依ON/OFF狀態改變按鈕背景顏色
  webPage += "<p><a href=\"/wd_on\"><button type=\"button\" style=\"background-color:dddddd;color:#ffffff;\">ON</button></a>&nbsp;";
  webPage += "  <a href=\"/wd_off\"><button type=\"button\" style=\"background-color:#cccccc;color:#ffffff;\">OFF</button></a>";
  webPage += " device: ";
  webPage +=  ip_1;
  webPage += " ->  ";
  webPage += ((watchDog)?"Watchdog ON":"Watchdog OFF"),       //  digitalRead=1 直接顯示 ON , digitalRead=0 直接顯示 OFF, 
  webPage += "</p>";
    
  webPage += "<p><a href=\"D1_On\"><button>ON</button></a>&nbsp;<a href=\"D1_Off\"><button>OFF</button></a>";
  webPage += "  #0 Pin ";
  webPage +=  D1_pin;
  webPage += "  -> ";
  webPage += ((digitalRead( D1_pin ))?D1_sta_1:D1_sta_0),     // D1_pin=1 顯示 lampON 字串 ,D1_pind=0 顯示 lampOFF 字串( ! 為使顯示狀態反向,實際上低電位繼電器模組為On)
  webPage += "</p>";

  webPage += "<p><a href=\"D2_On\"><button>ON</button></a>&nbsp;<a href=\"D2_Off\"><button>OFF</button></a>";
  webPage += "  #2 Pin ";
  webPage +=  D2_pin;
  webPage += "  -> ";
  webPage += ((digitalRead( D2_pin ))?D2_sta_1:D2_sta_0),     // digitalRead=1 顯示 lampON 字串 , digitalRead=0 顯示 lampOFF 字串
  webPage += "</p>";  
  */
}

void loop() {

  
if(millis() - w >=500 && watchDog !=old_watchDog){
  w=millis();
  Serial.print("watchDog =");
  Serial.println(watchDog);
  old_watchDog=watchDog;
  if(digitalRead(Relay_1)==HIGH)rebootPower_1(); // Relay N.C connect (device power down) 2017-07-19 add 防呆
}

  server.handleClient();

//=============== 2018-04-10 add ===========================================================
    if (millis() - t >= 30000 && WiFi.status() != WL_CONNECTED ) {          // 連接到指定的 WiFi SSID 如果連線AP 失敗時執行這一段程式
      t = millis();
      Serial.println("WiFi Connect Failed! wait...30Sec..ReConnect.");
      for (byte i = 0; i < 6; i++) {digitalWrite(LED, HIGH); delay(100); digitalWrite(LED, LOW); delay(100);} //LED閃5下
      delay(30000);
      WiFi_fail++;
      WiFi_fail = constrain ( WiFi_fail, 0, 65534);   //  限制該值在0~100 之間
      Serial.println(WiFi_fail);
       if (WiFi.status() != WL_CONNECTED ){ 
        Serial.println("Esp8266 WiFi ReConnect... ");
        WiFi.begin(ssid, password);
        //ESP.restart();
       } 
       else{
        Serial.println("-------------------------------------->>ESP8266  Wi-Fi Link UP.....  ");
       // if(WiFi_fail != 0 )ESP.restart();
       }
       
      if (WiFi_fail >= wifiFail) {                    //connect Wifi fail over 3min Run
        rebootPower_1();
        WiFi_fail = 0;
      }
    }
//=============== 2018-04-10 add end===========================================================


  if (millis() - u > (chkTime * 1000)) {     //30000 mS on chk
    u = millis();
    actCoun++;
    Serial.println(" ");
    status_1 =  chkdev(ip_1, port_1); //回傳"0"為斷線, 回傳為"1"連線
    status_2 =  chkdev(ip_2, port_2);
    status_3 =  chkdev(ip_3, port_3);
    status_4 =  chkdev(ip_4, port_4);
    status_5 =  chkdev(ip_5, port_5);
    digitalWrite(LED, status_1);      //顯示裝置"ip_1"是否連線


    //任何裝置狀態改變時上傳
    if (status_1 !=  status_1a || status_2 !=  status_2a || status_3 !=  status_3a  || status_4 != status_4a  || status_5 != status_5a) {    //任何裝置狀態改變
      Serial.println(" Detect status change......");
      status_1a = status_1; status_2a = status_2; status_3a = status_3; status_4a = status_4; status_5a = status_5;                     //狀態更新,做為下一次狀態比較用
      if ( status_1 == 1 && logger == 1)updata(status_1, status_2, status_3, status_4, status_5, reboot_count, 6); //上傳
    }

    if (status_1 == 1) devFail = 0;           //斷線計數歸零
    else {
      devFail++;                              //裝置斷線計數,給重開設備判斷用
      actCoun = 0;
    }

    // device 0 or device 1  每60次傳送一次存活信息
    if (actCoun >= actTime && logger == 1 )updata(status_1, status_2, status_3, status_4, status_5, reboot_count,4);

    //裝置矢聯達指定次數則啓動繼電器關機重開
    if (devFail >= wait) {
      if(watchDog == 1)rebootPower_1();     //watchDog 開啟才執行
      devFail = 0;
      WiFi_fail = 0;
    }
    
    //showCount();  //for debug
    //reboot_count != 0 or WiFi_fail != 0 and connect OK send infomation...
    if ((reboot_count != 0 || WiFi_fail != 0) && status_4 == 1 && logger == 1) updata(status_1, status_2, status_3, status_4, status_5, reboot_count,0);
  }
}

//-------------------------------------------------------------------------------void updata()
word updata(word field1, word field2, word field3, word field4, word field5, word field6, word field7) {
  rssi = WiFi.RSSI();
//  float volt = analogRead(A0) * 0.0125 ;
  // volt = (analogRead(A0) * (1.0 / 1024) * 12.83) ; // 220K + 18.6k 分壓 , (220 + 18.6)/18.6=12.83
  WiFiClient client;
  if (client.connect(serverIP, serverPort)) {
    String getStr = GET +
                    "&field1=" + String((float)field1, 0) +     // active 01
                    "&field2=" + String((float)field2, 0) +     // active 02
                    "&field3=" + String((float)field3, 0) +     // active 03
                    "&field4=" + String((float)field4, 0) +     // active 04
                    "&field5=" + String((float)field5, 0) +     // active 05
                    "&field6=" + String((float)field6, 0) +     // reboot_count
                    "&field7=" + String((float)field7, 0) +   //input Volt
                    "&field8=" + String((float)rssi, 2) +    // RSSI
                    " HTTP/1.1\r\n";;
    client.print( getStr );
    client.print( "Host: api.thingspeak.com\n" );
    client.print( "Connection: close\r\n\r\n" );
    delay(10);
    // 處理遠端伺服器回傳的訊息,程式碼可以寫在這裡!
    Serial.println(getStr);
    client.stop();
    actCoun = 0;      //如果狀態傳送就將先前的存活計數歸零
    WiFi_fail  = 0;
    reboot_count = 0;
  }
  else {                               //連線失敗執行此段程式
    Serial.print(ip_1); Serial.print(" : "); Serial.print(port_1); Serial.println(" ThingSpeak Server disconnection  ---- X  ");
  }
  client.stop();
}

//------------------------------------------------------------------------------- check device
byte chkdev(char* IP, word PORT) {
  WiFiClient client; delay(200);
  if (client.connect(IP, PORT)) {    //連線成功執行此段程式
    Serial.print(IP); Serial.print(" : "); Serial.print(PORT); Serial.println(" check device  connected ");
    return 1;  //傳回值"1"
  }

  else if (client.connect(IP, PORT)) {    //第一次連線不成功執行此段程式
     Serial.print(IP); Serial.print(" : "); Serial.print(PORT); Serial.println(" check device  connected ");
    return 1;  //傳回值"1"
  }
  else {                               //兩次連線失敗執行此段程式
    Serial.print(IP); Serial.print(" : "); Serial.print(PORT); Serial.println(" check device  disconnection  ---- X  ");
    return 0;  //傳回值"0"
  }
  
}

//-------------------------------------------------------------------------------status_1, status_2
void showCount() {   //for debug
  Serial.print("status_1 : "); Serial.println(status_1);   Serial.print("status_2 : "); Serial.println(status_2);
  Serial.print("WiFi_fail : ");  Serial.println(WiFi_fail);  Serial.print("reboot_count : "); Serial.println(reboot_count);
  uint32_t getVcc = ESP.getVcc();  float voltaje = ESP.getVcc();  Serial.println("core Volt : "); Serial.print(voltaje / 1024);
  Serial.println(" V");
}

//-------------------------------------------------------------------------------void rebootPower_1()
void rebootPower_1() {
  digitalWrite(Relay_1, HIGH); // Relay N.C connect (device power down)
  Serial.print("power down~  Wait  "); Serial.print(off_time); Serial.println(" Sec ..");
  delay(off_time * 1000);          //device power down (off_time) sec
  digitalWrite(Relay_1, LOW);
  Serial.println("power up");
  reboot_count++;

}








改良火焰切圓機過程







下圖直徑62cm 處的

切線速度為30.1公分/分鐘,小車直線行進速度為22.3公分/分鐘,


設定板厚9mm,開槽角度單側20度,開槽間隙1mm 




正面說法稱為版本升級,持續進化(O) 負面說法叫思慮不周,產品沒一次到位(X) 產品就是因應需求而生 功能方面從實際工作上最耗時間的部份先行著手處理 一般火焰切割開槽用圓規最少要切三刀,直切一刀、內導角一刀、外導角一刀 而且只有直切才能用圓規輔助,一個直徑62公分的圓,圓週將近兩公尺,所以 開一個直徑62公分的圓孔至少要切將近6公尺,一次要割8個孔含 4個剖半的總 長度超過 50 公尺 所以第一代的機器主要的重點放在切圓的部分基本上只切內倒角和外倒角,每


一個孔只要切兩刀就好了 















 第一代的產品完成後 發現每次在調整內倒角和外倒角的間距和角度上面花了很多的時間 所以第二代的機器重點放在角度調整的部分,透過程式的計算直接 設定角度和間隙寬度,確保每次的開槽角度和間隙都能一致,微控制

器使用市面上很普遍的 Arduino MEGA2560




接下來這裡也遭遇了一些狀況







以上這部分運作不理想所以砍掉重練



火口角度調整機構重新做過
















在接下來的部分就是發現驅動輪軸的間隙過大

在切割過程中造成前進的速度不穩 定會間斷造成切割品質不良,所以後來驅動輪的部分改成步進馬達直接驅動







改成步進馬達直接驅動之後又發現驅動能力略微不足常常會有掉步的問題, 再加上直接驅動的情況下輪軸只有5 mm,很擔心輪軸的強度不夠所以換成 了皮帶驅動用上了16齒配上60齒的配置增加輪軸的扭力,使用上已滿足工 作需求後就沒再做修改了。



















2017年9月24日 星期日

有關於arduino 的 map






  map 測試過超出設定範圍的值會按照比例延伸



 word tR=0;
 int dlyTune;

 void setup() {
  Serial.begin(115200, SERIAL_8N1);
 }
 void loop(){
 tR++;
 dlyTune = map(tR,311,520,-164,71);  
 Serial.print("tR: ");
Serial.print(tR);
Serial.print("  dlyTune:");
Serial.println(dlyTune);
delay(50);
 }
  


tR: 1  dlyTune:-512
tR: 2  dlyTune:-511
tR: 3  dlyTune:-510
tR: 4  dlyTune:-509
tR: 5  dlyTune:-508
tR: 6  dlyTune:-506
tR: 7  dlyTune:-505
tR: 8  dlyTune:-504
tR: 9  dlyTune:-503
tR: 10  dlyTune:-502
tR: 11  dlyTune:-501
tR: 12  dlyTune:-500
tR: 13  dlyTune:-499
tR: 14  dlyTune:-497
tR: 15  dlyTune:-496
tR: 16  dlyTune:-495
tR: 17  dlyTune:-494
tR: 18  dlyTune:-493
tR: 19  dlyTune:-492
tR: 20  dlyTune:-491
tR: 21  dlyTune:-490
tR: 22  dlyTune:-488
tR: 23  dlyTune:-487
tR: 24  dlyTune:-486
tR: 25  dlyTune:-485
tR: 26  dlyTune:-484
tR: 27  dlyTune:-483
tR: 28  dlyTune:-482
tR: 29  dlyTune:-481
tR: 30  dlyTune:-479
tR: 31  dlyTune:-478
tR: 32  dlyTune:-477
tR: 33  dlyTune:-476
tR: 34  dlyTune:-475
tR: 35  dlyTune:-474
tR: 36  dlyTune:-473
tR: 37  dlyTune:-472
tR: 38  dlyTune:-470
tR: 39  dlyTune:-469
tR: 40  dlyTune:-468
tR: 41  dlyTune:-467
tR: 42  dlyTune:-466
tR: 43  dlyTune:-465
tR: 44  dlyTune:-464
tR: 45  dlyTune:-463
tR: 46  dlyTune:-461
tR: 47  dlyTune:-460
tR: 48  dlyTune:-459
tR: 49  dlyTune:-458
tR: 50  dlyTune:-457
tR: 51  dlyTune:-456
tR: 52  dlyTune:-455
tR: 53  dlyTune:-454
tR: 54  dlyTune:-452
tR: 55  dlyTune:-451
tR: 56  dlyTune:-450
tR: 57  dlyTune:-449
tR: 58  dlyTune:-448
tR: 59  dlyTune:-447
tR: 60  dlyTune:-446
tR: 61  dlyTune:-445
tR: 62  dlyTune:-443
tR: 63  dlyTune:-442
tR: 64  dlyTune:-441
tR: 65  dlyTune:-440
tR: 66  dlyTune:-439
tR: 67  dlyTune:-438
tR: 68  dlyTune:-437
tR: 69  dlyTune:-436
tR: 70  dlyTune:-434
tR: 71  dlyTune:-433
tR: 72  dlyTune:-432
tR: 73  dlyTune:-431
tR: 74  dlyTune:-430
tR: 75  dlyTune:-429
tR: 76  dlyTune:-428
tR: 77  dlyTune:-427
tR: 78  dlyTune:-425
tR: 79  dlyTune:-424
tR: 80  dlyTune:-423
tR: 81  dlyTune:-422
tR: 82  dlyTune:-421
tR: 83  dlyTune:-420
tR: 84  dlyTune:-419
tR: 85  dlyTune:-418
tR: 86  dlyTune:-416
tR: 87  dlyTune:-415
tR: 88  dlyTune:-414
tR: 89  dlyTune:-413
tR: 90  dlyTune:-412
tR: 91  dlyTune:-411
tR: 92  dlyTune:-410
tR: 93  dlyTune:-409
tR: 94  dlyTune:-407
tR: 95  dlyTune:-406
tR: 96  dlyTune:-405
tR: 97  dlyTune:-404
tR: 98  dlyTune:-403
tR: 99  dlyTune:-402
tR: 100  dlyTune:-401
tR: 101  dlyTune:-400
tR: 102  dlyTune:-399
tR: 103  dlyTune:-397
tR: 104  dlyTune:-396
tR: 105  dlyTune:-395
tR: 106  dlyTune:-394
tR: 107  dlyTune:-393
tR: 108  dlyTune:-392
tR: 109  dlyTune:-391
tR: 110  dlyTune:-390
tR: 111  dlyTune:-388
tR: 112  dlyTune:-387
tR: 113  dlyTune:-386
tR: 114  dlyTune:-385
tR: 115  dlyTune:-384
tR: 116  dlyTune:-383
tR: 117  dlyTune:-382
tR: 118  dlyTune:-381
tR: 119  dlyTune:-379
tR: 120  dlyTune:-378
tR: 121  dlyTune:-377
tR: 122  dlyTune:-376
tR: 123  dlyTune:-375
tR: 124  dlyTune:-374
tR: 125  dlyTune:-373
tR: 126  dlyTune:-372
tR: 127  dlyTune:-370
tR: 128  dlyTune:-369
tR: 129  dlyTune:-368
tR: 130  dlyTune:-367
tR: 131  dlyTune:-366
tR: 132  dlyTune:-365
tR: 133  dlyTune:-364
tR: 134  dlyTune:-363
tR: 135  dlyTune:-361
tR: 136  dlyTune:-360
tR: 137  dlyTune:-359
tR: 138  dlyTune:-358
tR: 139  dlyTune:-357
tR: 140  dlyTune:-356
tR: 141  dlyTune:-355
tR: 142  dlyTune:-354
tR: 143  dlyTune:-352
tR: 144  dlyTune:-351
tR: 145  dlyTune:-350
tR: 146  dlyTune:-349
tR: 147  dlyTune:-348
tR: 148  dlyTune:-347
tR: 149  dlyTune:-346
tR: 150  dlyTune:-345
tR: 151  dlyTune:-343
tR: 152  dlyTune:-342
tR: 153  dlyTune:-341
tR: 154  dlyTune:-340
tR: 155  dlyTune:-339
tR: 156  dlyTune:-338
tR: 157  dlyTune:-337
tR: 158  dlyTune:-336
tR: 159  dlyTune:-334
tR: 160  dlyTune:-333
tR: 161  dlyTune:-332
tR: 162  dlyTune:-331
tR: 163  dlyTune:-330
tR: 164  dlyTune:-329
tR: 165  dlyTune:-328
tR: 166  dlyTune:-327
tR: 167  dlyTune:-325
tR: 168  dlyTune:-324
tR: 169  dlyTune:-323
tR: 170  dlyTune:-322
tR: 171  dlyTune:-321
tR: 172  dlyTune:-320
tR: 173  dlyTune:-319
tR: 174  dlyTune:-318
tR: 175  dlyTune:-316
tR: 176  dlyTune:-315
tR: 177  dlyTune:-314
tR: 178  dlyTune:-313
tR: 179  dlyTune:-312
tR: 180  dlyTune:-311
tR: 181  dlyTune:-310
tR: 182  dlyTune:-309
tR: 183  dlyTune:-307
tR: 184  dlyTune:-306
tR: 185  dlyTune:-305
tR: 186  dlyTune:-304
tR: 187  dlyTune:-303
tR: 188  dlyTune:-302
tR: 189  dlyTune:-301
tR: 190  dlyTune:-300
tR: 191  dlyTune:-298
tR: 192  dlyTune:-297
tR: 193  dlyTune:-296
tR: 194  dlyTune:-295
tR: 195  dlyTune:-294
tR: 196  dlyTune:-293
tR: 197  dlyTune:-292
tR: 198  dlyTune:-291
tR: 199  dlyTune:-289
tR: 200  dlyTune:-288
tR: 201  dlyTune:-287
tR: 202  dlyTune:-286
tR: 203  dlyTune:-285
tR: 204  dlyTune:-284
tR: 205  dlyTune:-283
tR: 206  dlyTune:-282
tR: 207  dlyTune:-280
tR: 208  dlyTune:-279
tR: 209  dlyTune:-278
tR: 210  dlyTune:-277
tR: 211  dlyTune:-276
tR: 212  dlyTune:-275
tR: 213  dlyTune:-274
tR: 214  dlyTune:-273
tR: 215  dlyTune:-271
tR: 216  dlyTune:-270
tR: 217  dlyTune:-269
tR: 218  dlyTune:-268
tR: 219  dlyTune:-267
tR: 220  dlyTune:-266
tR: 221  dlyTune:-265
tR: 222  dlyTune:-264
tR: 223  dlyTune:-262
tR: 224  dlyTune:-261
tR: 225  dlyTune:-260
tR: 226  dlyTune:-259
tR: 227  dlyTune:-258
tR: 228  dlyTune:-257
tR: 229  dlyTune:-256
tR: 230  dlyTune:-255
tR: 231  dlyTune:-253
tR: 232  dlyTune:-252
tR: 233  dlyTune:-251
tR: 234  dlyTune:-250
tR: 235  dlyTune:-249
tR: 236  dlyTune:-248
tR: 237  dlyTune:-247
tR: 238  dlyTune:-246
tR: 239  dlyTune:-244
tR: 240  dlyTune:-243
tR: 241  dlyTune:-242
tR: 242  dlyTune:-241
tR: 243  dlyTune:-240
tR: 244  dlyTune:-239
tR: 245  dlyTune:-238
tR: 246  dlyTune:-237
tR: 247  dlyTune:-235
tR: 248  dlyTune:-234
tR: 249  dlyTune:-233
tR: 250  dlyTune:-232
tR: 251  dlyTune:-231
tR: 252  dlyTune:-230
tR: 253  dlyTune:-229
tR: 254  dlyTune:-228
tR: 255  dlyTune:-226
tR: 256  dlyTune:-225
tR: 257  dlyTune:-224
tR: 258  dlyTune:-223
tR: 259  dlyTune:-222
tR: 260  dlyTune:-221
tR: 261  dlyTune:-220
tR: 262  dlyTune:-219
tR: 263  dlyTune:-217
tR: 264  dlyTune:-216
tR: 265  dlyTune:-215
tR: 266  dlyTune:-214
tR: 267  dlyTune:-213
tR: 268  dlyTune:-212
tR: 269  dlyTune:-211
tR: 270  dlyTune:-210
tR: 271  dlyTune:-208
tR: 272  dlyTune:-207
tR: 273  dlyTune:-206
tR: 274  dlyTune:-205
tR: 275  dlyTune:-204
tR: 276  dlyTune:-203
tR: 277  dlyTune:-202
tR: 278  dlyTune:-201
tR: 279  dlyTune:-199
tR: 280  dlyTune:-198
tR: 281  dlyTune:-197
tR: 282  dlyTune:-196
tR: 283  dlyTune:-195
tR: 284  dlyTune:-194
tR: 285  dlyTune:-193
tR: 286  dlyTune:-192
tR: 287  dlyTune:-190
tR: 288  dlyTune:-189
tR: 289  dlyTune:-188
tR: 290  dlyTune:-187
tR: 291  dlyTune:-186
tR: 292  dlyTune:-185
tR: 293  dlyTune:-184
tR: 294  dlyTune:-183
tR: 295  dlyTune:-181
tR: 296  dlyTune:-180
tR: 297  dlyTune:-179
tR: 298  dlyTune:-178
tR: 299  dlyTune:-177
tR: 300  dlyTune:-176
tR: 301  dlyTune:-175
tR: 302  dlyTune:-174
tR: 303  dlyTune:-172
tR: 304  dlyTune:-171
tR: 305  dlyTune:-170
tR: 306  dlyTune:-169
tR: 307  dlyTune:-168
tR: 308  dlyTune:-167
tR: 309  dlyTune:-166
tR: 310  dlyTune:-165
tR: 311  dlyTune:-164
tR: 312  dlyTune:-163
tR: 313  dlyTune:-162
tR: 314  dlyTune:-161
tR: 315  dlyTune:-160
tR: 316  dlyTune:-159
tR: 317  dlyTune:-158
tR: 318  dlyTune:-157
tR: 319  dlyTune:-156
tR: 320  dlyTune:-154
tR: 321  dlyTune:-153
tR: 322  dlyTune:-152
tR: 323  dlyTune:-151
tR: 324  dlyTune:-150
tR: 325  dlyTune:-149
tR: 326  dlyTune:-148
tR: 327  dlyTune:-147
tR: 328  dlyTune:-145
tR: 329  dlyTune:-144
tR: 330  dlyTune:-143
tR: 331  dlyTune:-142
tR: 332  dlyTune:-141
tR: 333  dlyTune:-140
tR: 334  dlyTune:-139
tR: 335  dlyTune:-138
tR: 336  dlyTune:-136
tR: 337  dlyTune:-135
tR: 338  dlyTune:-134
tR: 339  dlyTune:-133
tR: 340  dlyTune:-132
tR: 341  dlyTune:-131
tR: 342  dlyTune:-130
tR: 343  dlyTune:-129
tR: 344  dlyTune:-127
tR: 345  dlyTune:-126
tR: 346  dlyTune:-125
tR: 347  dlyTune:-124
tR: 348  dlyTune:-123
tR: 349  dlyTune:-122
tR: 350  dlyTune:-121
tR: 351  dlyTune:-120
tR: 352  dlyTune:-118
tR: 353  dlyTune:-117
tR: 354  dlyTune:-116
tR: 355  dlyTune:-115
tR: 356  dlyTune:-114
tR: 357  dlyTune:-113
tR: 358  dlyTune:-112
tR: 359  dlyTune:-111
tR: 360  dlyTune:-109
tR: 361  dlyTune:-108
tR: 362  dlyTune:-107
tR: 363  dlyTune:-106
tR: 364  dlyTune:-105
tR: 365  dlyTune:-104
tR: 366  dlyTune:-103
tR: 367  dlyTune:-102
tR: 368  dlyTune:-100
tR: 369  dlyTune:-99
tR: 370  dlyTune:-98
tR: 371  dlyTune:-97
tR: 372  dlyTune:-96
tR: 373  dlyTune:-95
tR: 374  dlyTune:-94
tR: 375  dlyTune:-93
tR: 376  dlyTune:-91
tR: 377  dlyTune:-90
tR: 378  dlyTune:-89
tR: 379  dlyTune:-88
tR: 380  dlyTune:-87
tR: 381  dlyTune:-86
tR: 382  dlyTune:-85
tR: 383  dlyTune:-84
tR: 384  dlyTune:-82
tR: 385  dlyTune:-81
tR: 386  dlyTune:-80
tR: 387  dlyTune:-79
tR: 388  dlyTune:-78
tR: 389  dlyTune:-77
tR: 390  dlyTune:-76
tR: 391  dlyTune:-75
tR: 392  dlyTune:-73
tR: 393  dlyTune:-72
tR: 394  dlyTune:-71
tR: 395  dlyTune:-70
tR: 396  dlyTune:-69
tR: 397  dlyTune:-68
tR: 398  dlyTune:-67
tR: 399  dlyTune:-66
tR: 400  dlyTune:-64
tR: 401  dlyTune:-63
tR: 402  dlyTune:-62
tR: 403  dlyTune:-61
tR: 404  dlyTune:-60
tR: 405  dlyTune:-59
tR: 406  dlyTune:-58
tR: 407  dlyTune:-57
tR: 408  dlyTune:-55
tR: 409  dlyTune:-54
tR: 410  dlyTune:-53
tR: 411  dlyTune:-52
tR: 412  dlyTune:-51
tR: 413  dlyTune:-50
tR: 414  dlyTune:-49
tR: 415  dlyTune:-48
tR: 416  dlyTune:-46
tR: 417  dlyTune:-45
tR: 418  dlyTune:-44
tR: 419  dlyTune:-43
tR: 420  dlyTune:-42
tR: 421  dlyTune:-41
tR: 422  dlyTune:-40
tR: 423  dlyTune:-39
tR: 424  dlyTune:-37
tR: 425  dlyTune:-36
tR: 426  dlyTune:-35
tR: 427  dlyTune:-34
tR: 428  dlyTune:-33
tR: 429  dlyTune:-32
tR: 430  dlyTune:-31
tR: 431  dlyTune:-30
tR: 432  dlyTune:-28
tR: 433  dlyTune:-27
tR: 434  dlyTune:-26
tR: 435  dlyTune:-25
tR: 436  dlyTune:-24
tR: 437  dlyTune:-23
tR: 438  dlyTune:-22
tR: 439  dlyTune:-21
tR: 440  dlyTune:-19
tR: 441  dlyTune:-18
tR: 442  dlyTune:-17
tR: 443  dlyTune:-16
tR: 444  dlyTune:-15
tR: 445  dlyTune:-14
tR: 446  dlyTune:-13
tR: 447  dlyTune:-12
tR: 448  dlyTune:-10
tR: 449  dlyTune:-9
tR: 450  dlyTune:-8
tR: 451  dlyTune:-7
tR: 452  dlyTune:-6
tR: 453  dlyTune:-5
tR: 454  dlyTune:-4
tR: 455  dlyTune:-3
tR: 456  dlyTune:-1
tR: 457  dlyTune:0
tR: 458  dlyTune:1
tR: 459  dlyTune:2
tR: 460  dlyTune:3
tR: 461  dlyTune:4
tR: 462  dlyTune:5
tR: 463  dlyTune:6
tR: 464  dlyTune:8
tR: 465  dlyTune:9
tR: 466  dlyTune:10
tR: 467  dlyTune:11
tR: 468  dlyTune:12
tR: 469  dlyTune:13
tR: 470  dlyTune:14
tR: 471  dlyTune:15
tR: 472  dlyTune:17
tR: 473  dlyTune:18
tR: 474  dlyTune:19
tR: 475  dlyTune:20
tR: 476  dlyTune:21
tR: 477  dlyTune:22
tR: 478  dlyTune:23
tR: 479  dlyTune:24
tR: 480  dlyTune:26
tR: 481  dlyTune:27
tR: 482  dlyTune:28
tR: 483  dlyTune:29
tR: 484  dlyTune:30
tR: 485  dlyTune:31
tR: 486  dlyTune:32
tR: 487  dlyTune:33
tR: 488  dlyTune:35
tR: 489  dlyTune:36
tR: 490  dlyTune:37
tR: 491  dlyTune:38
tR: 492  dlyTune:39
tR: 493  dlyTune:40
tR: 494  dlyTune:41
tR: 495  dlyTune:42
tR: 496  dlyTune:44
tR: 497  dlyTune:45
tR: 498  dlyTune:46
tR: 499  dlyTune:47
tR: 500  dlyTune:48
tR: 501  dlyTune:49
tR: 502  dlyTune:50
tR: 503  dlyTune:51
tR: 504  dlyTune:53
tR: 505  dlyTune:54
tR: 506  dlyTune:55
tR: 507  dlyTune:56
tR: 508  dlyTune:57
tR: 509  dlyTune:58
tR: 510  dlyTune:59
tR: 511  dlyTune:60
tR: 512  dlyTune:62
tR: 513  dlyTune:63
tR: 514  dlyTune:64
tR: 515  dlyTune:65
tR: 516  dlyTune:66
tR: 517  dlyTune:67
tR: 518  dlyTune:68
tR: 519  dlyTune:69
tR: 520  dlyTune:71
tR: 521  dlyTune:72
tR: 522  dlyTune:73
tR: 523  dlyTune:74
tR: 524  dlyTune:75
tR: 525  dlyTune:76
tR: 526  dlyTune:77
tR: 527  dlyTune:78
tR: 528  dlyTune:79
tR: 529  dlyTune:81
tR: 530  dlyTune:82
tR: 531  dlyTune:83
tR: 532  dlyTune:84
tR: 533  dlyTune:85
tR: 534  dlyTune:86
tR: 535  dlyTune:87
tR: 536  dlyTune:88
tR: 537  dlyTune:90
tR: 538  dlyTune:91
tR: 539  dlyTune:92
tR: 540  dlyTune:93
tR: 541  dlyTune:94
tR: 542  dlyTune:95
tR: 543  dlyTune:96
tR: 544  dlyTune:97
tR: 545  dlyTune:99
tR: 546  dlyTune:100
tR: 547  dlyTune:101
tR: 548  dlyTune:102
tR: 549  dlyTune:103
tR: 550  dlyTune:104
tR: 551  dlyTune:105
tR: 552  dlyTune:106
tR: 553  dlyTune:108
tR: 554  dlyTune:109
tR: 555  dlyTune:110
tR: 556  dlyTune:111
tR: 557  dlyTune:112
tR: 558  dlyTune:113
tR: 559  dlyTune:114
tR: 560  dlyTune:115
tR: 561  dlyTune:117
tR: 562  dlyTune:118
tR: 563  dlyTune:119
tR: 564  dlyTune:120
tR: 565  dlyTune:121
tR: 566  dlyTune:122
tR: 567  dlyTune:123
tR: 568  dlyTune:124
tR: 569  dlyTune:126
tR: 570  dlyTune:127
tR: 571  dlyTune:128
tR: 572  dlyTune:129
tR: 573  dlyTune:130
tR: 574  dlyTune:131
tR: 575  dlyTune:132
tR: 576  dlyTune:133
tR: 577  dlyTune:135
tR: 578  dlyTune:136
tR: 579  dlyTune:137
tR: 580  dlyTune:138
tR: 581  dlyTune:139
tR: 582  dlyTune:140
tR: 583  dlyTune:141
tR: 584  dlyTune:142
tR: 585  dlyTune:144
tR: 586  dlyTune:145
tR: 587  dlyTune:146
tR: 588  dlyTune:147
tR: 589  dlyTune:148
tR: 590  dlyTune:149
tR: 591  dlyTune:150
tR: 592  dlyTune:151
tR: 593  dlyTune:153
tR: 594  dlyTune:154
tR: 595  dlyTune:155
tR: 596  dlyTune:156
tR: 597  dlyTune:157
tR: 598  dlyTune:158
tR: 599  dlyTune:159
tR: 600  dlyTune:160
tR: 601  dlyTune:162
tR: 602  dlyTune:163
tR: 603  dlyTune:164
tR: 604  dlyTune:165
tR: 605  dlyTune:166
tR: 606  dlyTune:167
tR: 607  dlyTune:168
tR: 608  dlyTune:169
tR: 609  dlyTune:171
tR: 610  dlyTune:172
tR: 611  dlyTune:173
tR: 612  dlyTune:174
tR: 613  dlyTune:175
tR: 614  dlyTune:176
tR: 615  dlyTune:177
tR: 616  dlyTune:178
tR: 617  dlyTune:180
tR: 618  dlyTune:181
tR: 619  dlyTune:182
tR: 620  dlyTune:183
tR: 621  dlyTune:184
tR: 622  dlyTune:185
tR: 623  dlyTune:186
tR: 624  dlyTune:187
tR: 625  dlyTune:189
tR: 626  dlyTune:190
tR: 627  dlyTune:191
tR: 628  dlyTune:192
tR: 629  dlyTune:193
tR: 630  dlyTune:194
tR: 631  dlyTune:195
tR: 632  dlyTune:196
tR: 633  dlyTune:198
tR: 634  dlyTune:199
tR: 635  dlyTune:200
tR: 636  dlyTune:201
tR: 637  dlyTune:202
tR: 638  dlyTune:203
tR: 639  dlyTune:204
tR: 640  dlyTune:205
tR: 641  dlyTune:207
tR: 642  dlyTune:208
tR: 643  dlyTune:209
tR: 644  dlyTune:210
tR: 645  dlyTune:211
tR: 646  dlyTune:212
tR: 647  dlyTune:213
tR: 648  dlyTune:214
tR: 649  dlyTune:216
tR: 650  dlyTune:217
tR: 651  dlyTune:218
tR: 652  dlyTune:219
tR: 653  dlyTune:220
tR: 654  dlyTune:221
tR: 655  dlyTune:222
tR: 656  dlyTune:223
tR: 657  dlyTune:225
tR: 658  dlyTune:226
tR: 659  dlyTune:227
tR: 660  dlyTune:228
tR: 661  dlyTune:229
tR: 662  dlyTune:230
tR: 663  dlyTune:231
tR: 664  dlyTune:232
tR: 665  dlyTune:234
tR: 666  dlyTune:235
tR: 667  dlyTune:236
tR: 668  dlyTune:237
tR: 669  dlyTune:238
tR: 670  dlyTune:239
tR: 671  dlyTune:240
tR: 672  dlyTune:241
tR: 673  dlyTune:243
tR: 674  dlyTune:244
tR: 675  dlyTune:245
tR: 676  dlyTune:246
tR: 677  dlyTune:247
tR: 678  dlyTune:248
tR: 679  dlyTune:249
tR: 680  dlyTune:250
tR: 681  dlyTune:252
tR: 682  dlyTune:253
tR: 683  dlyTune:254
tR: 684  dlyTune:255
tR: 685  dlyTune:256
tR: 686  dlyTune:257
tR: 687  dlyTune:258
tR: 688  dlyTune:259
tR: 689  dlyTune:261
tR: 690  dlyTune:262
tR: 691  dlyTune:263
tR: 692  dlyTune:264
tR: 693  dlyTune:265
tR: 694  dlyTune:266
tR: 695  dlyTune:267
tR: 696  dlyTune:268
tR: 697  dlyTune:270
tR: 698  dlyTune:271
tR: 699  dlyTune:272
tR: 700  dlyTune:273
tR: 701  dlyTune:274
tR: 702  dlyTune:275
tR: 703  dlyTune:276
tR: 704  dlyTune:277
tR: 705  dlyTune:279
tR: 706  dlyTune:280
tR: 707  dlyTune:281
tR: 708  dlyTune:282
tR: 709  dlyTune:283
tR: 710  dlyTune:284
tR: 711  dlyTune:285
tR: 712  dlyTune:286
tR: 713  dlyTune:288
tR: 714  dlyTune:289
tR: 715  dlyTune:290
tR: 716  dlyTune:291
tR: 717  dlyTune:292
tR: 718  dlyTune:293
tR: 719  dlyTune:294
tR: 720  dlyTune:295
tR: 721  dlyTune:297
tR: 722  dlyTune:298
tR: 723  dlyTune:299
tR: 724  dlyTune:300
tR: 725  dlyTune:301
tR: 726  dlyTune:302
tR: 727  dlyTune:303
tR: 728  dlyTune:304
tR: 729  dlyTune:306
tR: 730  dlyTune:307
tR: 731  dlyTune:308
tR: 732  dlyTune:309
tR: 733  dlyTune:310
tR: 734  dlyTune:311
tR: 735  dlyTune:312
tR: 736  dlyTune:313
tR: 737  dlyTune:314
tR: 738  dlyTune:316
tR: 739  dlyTune:317
tR: 740  dlyTune:318
tR: 741  dlyTune:319
tR: 742  dlyTune:320
tR: 743  dlyTune:321
tR: 744  dlyTune:322
tR: 745  dlyTune:323
tR: 746  dlyTune:325
tR: 747  dlyTune:326
tR: 748  dlyTune:327
tR: 749  dlyTune:328
tR: 750  dlyTune:329
tR: 751  dlyTune:330
tR: 752  dlyTune:331
tR: 753  dlyTune:332
tR: 754  dlyTune:334
tR: 755  dlyTune:335
tR: 756  dlyTune:336
tR: 757  dlyTune:337
tR: 758  dlyTune:338
tR: 759  dlyTune:339
tR: 760  dlyTune:340
tR: 761  dlyTune:341
tR: 762  dlyTune:343
tR: 763  dlyTune:344
tR: 764  dlyTune:345
tR: 765  dlyTune:346
tR: 766  dlyTune:347
tR: 767  dlyTune:348
tR: 768  dlyTune:349
tR: 769  dlyTune:350
tR: 770  dlyTune:352
tR: 771  dlyTune:353
tR: 772  dlyTune:354
tR: 773  dlyTune:355
tR: 774  dlyTune:356
tR: 775  dlyTune:357
tR: 776  dlyTune:358
tR: 777  dlyTune:359
tR: 778  dlyTune:361
tR: 779  dlyTune:362
tR: 780  dlyTune:363
tR: 781  dlyTune:364
tR: 782  dlyTune:365
tR: 783  dlyTune:366
tR: 784  dlyTune:367
tR: 785  dlyTune:368
tR: 786  dlyTune:370
tR: 787  dlyTune:371
tR: 788  dlyTune:372
tR: 789  dlyTune:373
tR: 790  dlyTune:374
tR: 791  dlyTune:375
tR: 792  dlyTune:376
tR: 793  dlyTune:377
tR: 794  dlyTune:379
tR: 795  dlyTune:380
tR: 796  dlyTune:381
tR: 797  dlyTune:382
tR: 798  dlyTune:383
tR: 799  dlyTune:384
tR: 800  dlyTune:385
tR: 801  dlyTune:386
tR: 802  dlyTune:388
tR: 803  dlyTune:389
tR: 804  dlyTune:390
tR: 805  dlyTune:391
tR: 806  dlyTune:392
tR: 807  dlyTune:393
tR: 808  dlyTune:394
tR: 809  dlyTune:395
tR: 810  dlyTune:397
tR: 811  dlyTune:398
tR: 812  dlyTune:399
tR: 813  dlyTune:400
tR: 814  dlyTune:401
tR: 815  dlyTune:402
tR: 816  dlyTune:403
tR: 817  dlyTune:404
tR: 818  dlyTune:406
tR: 819  dlyTune:407
tR: 820  dlyTune:408
tR: 821  dlyTune:409
tR: 822  dlyTune:410
tR: 823  dlyTune:411
tR: 824  dlyTune:412
tR: 825  dlyTune:413
tR: 826  dlyTune:415
tR: 827  dlyTune:416
tR: 828  dlyTune:417
tR: 829  dlyTune:418
tR: 830  dlyTune:419
tR: 831  dlyTune:420
tR: 832  dlyTune:421
tR: 833  dlyTune:422
tR: 834  dlyTune:424
tR: 835  dlyTune:425
tR: 836  dlyTune:426
tR: 837  dlyTune:427
tR: 838  dlyTune:428
tR: 839  dlyTune:429
tR: 840  dlyTune:430
tR: 841  dlyTune:431
tR: 842  dlyTune:433
tR: 843  dlyTune:434
tR: 844  dlyTune:435
tR: 845  dlyTune:436
tR: 846  dlyTune:437
tR: 847  dlyTune:438
tR: 848  dlyTune:439
tR: 849  dlyTune:440
tR: 850  dlyTune:442
tR: 851  dlyTune:443
tR: 852  dlyTune:444
tR: 853  dlyTune:445
tR: 854  dlyTune:446
tR: 855  dlyTune:447
tR: 856  dlyTune:448
tR: 857  dlyTune:449
tR: 858  dlyTune:451
tR: 859  dlyTune:452
tR: 860  dlyTune:453
tR: 861  dlyTune:454
tR: 862  dlyTune:455
tR: 863  dlyTune:456
tR: 864  dlyTune:457
tR: 865  dlyTune:458
tR: 866  dlyTune:460
tR: 867  dlyTune:461
tR: 868  dlyTune:462
tR: 869  dlyTune:463
tR: 870  dlyTune:464
tR: 871  dlyTune:465
tR: 872  dlyTune:466
tR: 873  dlyTune:467
tR: 874  dlyTune:469
tR: 875  dlyTune:470
tR: 876  dlyTune:471
tR: 877  dlyTune:472
tR: 878  dlyTune:473
tR: 879  dlyTune:474
tR: 880  dlyTune:475
tR: 881  dlyTune:476
tR: 882  dlyTune:478
tR: 883  dlyTune:479
tR: 884  dlyTune:480
tR: 885  dlyTune:481
tR: 886  dlyTune:482
tR: 887  dlyTune:483
tR: 888  dlyTune:484
tR: 889  dlyTune:485
tR: 890  dlyTune:487
tR: 891  dlyTune:488
tR: 892  dlyTune:489
tR: 893  dlyTune:490
tR: 894  dlyTune:491
tR: 895  dlyTune:492
tR: 896  dlyTune:493
tR: 897  dlyTune:494
tR: 898  dlyTune:496
tR: 899  dlyTune:497
tR: 900  dlyTune:498
tR: 901  dlyTune:499
tR: 902  dlyTune:500
tR: 903  dlyTune:501
tR: 904  dlyTune:502
tR: 905  dlyTune:503
tR: 906  dlyTune:505
tR: 907  dlyTune:506
tR: 908  dlyTune:507
tR: 909  dlyTune:508
tR: 910  dlyTune:509
tR: 911  dlyTune:510
tR: 912  dlyTune:511
tR: 913  dlyTune:512
tR: 914  dlyTune:514
tR: 915  dlyTune:515
tR: 916  dlyTune:516
tR: 917  dlyTune:517
tR: 918  dlyTune:518
tR: 919  dlyTune:519
tR: 920  dlyTune:520
tR: 921  dlyTune:521
tR: 922  dlyTune:523
tR: 923  dlyTune:524
tR: 924  dlyTune:525
tR: 925  dlyTune:526
tR: 926  dlyTune:527
tR: 927  dlyTune:528
tR: 928  dlyTune:529
tR: 929  dlyTune:530
tR: 930  dlyTune:532
tR: 931  dlyTune:533
tR: 932  dlyTune:534
tR: 933  dlyTune:535
tR: 934  dlyTune:536
tR: 935  dlyTune:537
tR: 936  dlyTune:538
tR: 937  dlyTune:539
tR: 938  dlyTune:541
tR: 939  dlyTune:542
tR: 940  dlyTune:543
tR: 941  dlyTune:544
tR: 942  dlyTune:545
tR: 943  dlyTune:546
tR: 944  dlyTune:547
tR: 945  dlyTune:548
tR: 946  dlyTune:549
tR: 947  dlyTune:551
tR: 948  dlyTune:552
tR: 949  dlyTune:553
tR: 950  dlyTune:554
tR: 951  dlyTune:555
tR: 952  dlyTune:556
tR: 953  dlyTune:557
tR: 954  dlyTune:558
tR: 955  dlyTune:560
tR: 956  dlyTune:561
tR: 957  dlyTune:562
tR: 958  dlyTune:563
tR: 959  dlyTune:564
tR: 960  dlyTune:565
tR: 961  dlyTune:566
tR: 962  dlyTune:567
tR: 963  dlyTune:569
tR: 964  dlyTune:570
tR: 965  dlyTune:571
tR: 966  dlyTune:572
tR: 967  dlyTune:573
tR: 968  dlyTune:574
tR: 969  dlyTune:575
tR: 970  dlyTune:576
tR: 971  dlyTune:578
tR: 972  dlyTune:579
tR: 973  dlyTune:580
tR: 974  dlyTune:581
tR: 975  dlyTune:582
tR: 976  dlyTune:583
tR: 977  dlyTune:584
tR: 978  dlyTune:585
tR: 979  dlyTune:587
tR: 980  dlyTune:588
tR: 981  dlyTune:589
tR: 982  dlyTune:590
tR: 983  dlyTune:591
tR: 984  dlyTune:592
tR: 985  dlyTune:593
tR: 986  dlyTune:594
tR: 987  dlyTune:596
tR: 988  dlyTune:597
tR: 989  dlyTune:598
tR: 990  dlyTune:599
tR: 991  dlyTune:600
tR: 992  dlyTune:601
tR: 993  dlyTune:602
tR: 994  dlyTune:603
tR: 995  dlyTune:605
tR: 996  dlyTune:606
tR: 997  dlyTune:607
tR: 998  dlyTune:608
tR: 999  dlyTune:609
tR: 1000  dlyTune:610
tR: 1001  dlyTune:611
tR: 1002  dlyTune:612
tR: 1003  dlyTune:614
tR: 1004  dlyTune:615
tR: 1005  dlyTune:616
tR: 1006  dlyTune:617
tR: 1007  dlyTune:618
tR: 1008  dlyTune:619
tR: 1009  dlyTune:620
tR: 1010  dlyTune:621
tR: 1011  dlyTune:623
tR: 1012  dlyTune:624
tR: 1013  dlyTune:625
tR: 1014  dlyTune:626
tR: 1015  dlyTune:627
tR: 1016  dlyTune:628
tR: 1017  dlyTune:629
tR: 1018  dlyTune:630
tR: 1019  dlyTune:632
tR: 1020  dlyTune:633
tR: 1021  dlyTune:634
tR: 1022  dlyTune:635
tR: 1023  dlyTune:636
tR: 1024  dlyTune:637
tR: 1025  dlyTune:638
tR: 1026  dlyTune:639
tR: 1027  dlyTune:641
tR: 1028  dlyTune:642
tR: 1029  dlyTune:643
tR: 1030  dlyTune:644
tR: 1031  dlyTune:645
tR: 1032  dlyTune:646
tR: 1033  dlyTune:647
tR: 1034  dlyTune:648
tR: 1035  dlyTune:650
tR: 1036  dlyTune:651
tR: 1037  dlyTune:652
tR: 1038  dlyTune:653
tR: 1039  dlyTune:654
tR: 1040  dlyTune:655
tR: 1041  dlyTune:656
tR: 1042  dlyTune:657
tR: 1043  dlyTune:659
tR: 1044  dlyTune:660
tR: 1045  dlyTune:661
tR: 1046  dlyTune:662
tR: 1047  dlyTune:663
tR: 1048  dlyTune:664
tR: 1049  dlyTune:665