Guest User

Untitled

a guest
Oct 16th, 2022
1,859
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 31.76 KB | None | 1 0
  1. /*
  2.  ============================================================================
  3.  Name        : hisense8266.c
  4.  Author      : far5893
  5.  Version     :
  6.  Copyright   : Your copyright notice
  7.  Description : Hisense serial test
  8.  ============================================================================
  9.  */
  10. #define TERMINAL    "/tmp/ttyS10"
  11.  
  12. #include <errno.h>
  13. #include <stdio.h>
  14. #include <stdlib.h>
  15. #include <fcntl.h>
  16. #include <stdint.h>
  17. #include <string.h>
  18. #include <unistd.h>
  19. #include <termios.h>
  20.  
  21. int set_interface_attribs(int fd, int speed)
  22. {
  23.     struct termios tty;
  24.  
  25.     if (tcgetattr(fd, &tty) < 0) {
  26.         printf("Error from tcgetattr: %s\n", strerror(errno));
  27.         return -1;
  28.     }
  29.  
  30.     cfsetospeed(&tty, (speed_t)speed);
  31.     cfsetispeed(&tty, (speed_t)speed);
  32.  
  33.     tty.c_cflag |= (CLOCAL | CREAD);    /* ignore modem controls */
  34.     tty.c_cflag &= ~CSIZE;
  35.     tty.c_cflag |= CS8;         /* 8-bit characters */
  36.     tty.c_cflag &= ~PARENB;     /* no parity bit */
  37.     tty.c_cflag &= ~CSTOPB;     /* only need 1 stop bit */
  38.     tty.c_cflag &= ~CRTSCTS;    /* no hardware flowcontrol */
  39.  
  40.     /* setup for non-canonical mode */
  41.     tty.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON);
  42.     tty.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);
  43.     tty.c_oflag &= ~OPOST;
  44.  
  45.     /* fetch bytes as they become available */
  46.     tty.c_cc[VMIN] = 1;
  47.     tty.c_cc[VTIME] = 1;
  48.  
  49.     if (tcsetattr(fd, TCSANOW, &tty) != 0) {
  50.         printf("Error from tcsetattr: %s\n", strerror(errno));
  51.         return -1;
  52.     }
  53.     return 0;
  54. }
  55. struct packet_t {
  56.     uint8_t hdr[]= {0xF4,0xF5};
  57.     uint8_t ftr[]= {0xF4,0xFB};
  58.     uint8_t type[]=
  59.  
  60. };
  61. uint8_t cmdON2[]={ 0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE,
  62.                    0x01, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00,
  63.                    0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  64.                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  65.                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xDF, 0xF4, 0xFB};
  66. uint8_t cmdOFF2[]={0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE,
  67.                    0x01, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00,
  68.                    0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
  69.                    0x00, 0x00, 0x01, 0x55, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
  70.                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x31, 0xF4, 0xFB};
  71. uint8_t mode_cool[]={
  72.                    0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE,
  73.                    0x01, 0x00, 0x00, 0x65, 0x00, 0x00, 0x01, 0x01, 0x50, 0x35,
  74.                    0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  75.                    0x00, 0x10, 0x01, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
  76.                    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x7F, 0xF4, 0xFB
  77.  
  78.        };
  79. uint8_t   mode_heat[]={
  80.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  81.        0x00, 0x00, 0x65, 0x00, 0x00, 0x01, 0x01, 0x30, 0x2F, 0x00, 0x00,
  82.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01,
  83.        0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  84.        0x00, 0x00, 0x02, 0x59, 0xF4, 0xFB
  85.        };
  86. uint8_t   mode_fan[]={
  87.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  88.        0x00, 0x00, 0x65, 0x00, 0x00, 0x07, 0x01, 0x10, 0x33, 0x00, 0x00,
  89.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01,
  90.        0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  91.        0x00, 0x00, 0x02, 0x43, 0xF4, 0xFB
  92.        };
  93. uint8_t   mode_dry[]={
  94.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  95.        0x00, 0x00, 0x65, 0x00, 0x00, 0x01, 0x01, 0x70, 0x33, 0x00, 0x00,
  96.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01,
  97.        0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  98.        0x00, 0x00, 0x02, 0x9D, 0xF4, 0xFB
  99.        };
  100. uint8_t   speed_mute[]={
  101.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  102.        0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
  103.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  104.        0x04, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  105.        0x00, 0x00, 0x02, 0x0B, 0xF4, 0xFB
  106.        };
  107. uint8_t  speed_low[]={
  108.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  109.        0x00, 0x00, 0x65, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00,
  110.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  111.        0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  112.        0x00, 0x00, 0x01, 0xED, 0xF4, 0xFB
  113.        };
  114. uint8_t  speed_med[]={
  115.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  116.        0x00, 0x00, 0x65, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00,
  117.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  118.        0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  119.        0x00, 0x00, 0x01, 0xEF, 0xF4, 0xFB
  120.        };
  121. uint8_t   speed_max[]={
  122.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  123.        0x00, 0x00, 0x65, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00, 0x00, 0x00,
  124.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  125.        0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  126.        0x00, 0x00, 0x01, 0xF1, 0xF4, 0xFB
  127.        };
  128. uint8_t   speed_auto[]={
  129.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  130.        0x00, 0x00, 0x65, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
  131.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  132.        0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  133.        0x00, 0x00, 0x01, 0xE9, 0xF4, 0xFB
  134.        };
  135. uint8_t   temp_16_C[]={
  136.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  137.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00,
  138.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  139.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  140.        0x00, 0x00, 0x01, 0xF4, 0xF4, 0xF4, 0xFB
  141.        };
  142. uint8_t   temp_17_C[]={
  143.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  144.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00,
  145.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  146.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  147.        0x00, 0x00, 0x01, 0xF6, 0xF4, 0xFB
  148.        };
  149. uint8_t   temp_18_C[]={
  150.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  151.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00,
  152.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  153.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  154.        0x00, 0x00, 0x01, 0xF8, 0xF4, 0xFB
  155.        };
  156. uint8_t   temp_19_C[]={
  157.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  158.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00,
  159.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  160.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  161.        0x00, 0x00, 0x01, 0xFA, 0xF4, 0xFB
  162.        };
  163. uint8_t   temp_20_C[]={
  164.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  165.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00,
  166.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  167.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  168.        0x00, 0x00, 0x01, 0xFC, 0xF4, 0xFB
  169.        };
  170. uint8_t   temp_21_C[]={
  171.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  172.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00,
  173.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  174.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  175.        0x00, 0x00, 0x01, 0xFE, 0xF4, 0xFB
  176.        };
  177. uint8_t   temp_22_C[]={
  178.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  179.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00,
  180.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  181.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  182.        0x00, 0x00, 0x02, 0x00, 0xF4, 0xFB
  183.        };
  184. uint8_t   temp_23_C[]={
  185.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  186.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00,
  187.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  188.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  189.        0x00, 0x00, 0x02, 0x02, 0xF4, 0xFB
  190.        };
  191. uint8_t   temp_24_C[]={
  192.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  193.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00,
  194.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  195.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  196.        0x00, 0x00, 0x02, 0x04, 0xF4, 0xFB
  197.        };
  198. uint8_t   temp_25_C[]={
  199.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  200.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00,
  201.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  202.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  203.        0x00, 0x00, 0x02, 0x06, 0xF4, 0xFB
  204.        };
  205. uint8_t   temp_26_C[]={
  206.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  207.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00,
  208.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  209.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  210.        0x00, 0x00, 0x02, 0x08, 0xF4, 0xFB
  211.        };
  212. uint8_t   temp_27_C[]={
  213.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  214.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00,
  215.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  216.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  217.        0x00, 0x00, 0x02, 0x0A, 0xF4, 0xFB
  218.        };
  219. uint8_t   temp_28_C[]={
  220.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  221.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00,
  222.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  223.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  224.        0x00, 0x00, 0x02, 0x0C, 0xF4, 0xFB
  225.        };
  226. uint8_t   temp_29_C[]={
  227.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  228.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00,
  229.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  230.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  231.        0x00, 0x00, 0x02, 0x0E, 0xF4, 0xFB
  232.        };
  233. uint8_t   temp_30_C[]={
  234.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  235.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00,
  236.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  237.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  238.        0x00, 0x00, 0x02, 0x10, 0xF4, 0xFB
  239.        };
  240. uint8_t   temp_31_C[]={
  241.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  242.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00,
  243.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  244.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  245.        0x00, 0x00, 0x02, 0x12, 0xF4, 0xFB
  246.        };
  247. uint8_t   temp_32_C[]={
  248.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  249.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00,
  250.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  251.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  252.        0x00, 0x00, 0x02, 0x14, 0xF4, 0xFB
  253.        };
  254. uint8_t   temp_61_F[]={
  255.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  256.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x00, 0x00,
  257.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  258.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  259.        0x00, 0x00, 0x02, 0x4E, 0xF4, 0xFB
  260.        };
  261. uint8_t   temp_62_F[]={
  262.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  263.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00,
  264.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  265.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  266.        0x00, 0x00, 0x02, 0x50, 0xF4, 0xFB
  267.        };
  268. uint8_t   temp_63_F[]={
  269.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  270.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00,
  271.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  272.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  273.        0x00, 0x00, 0x02, 0x52, 0xF4, 0xFB
  274.        };
  275. uint8_t   temp_64_F[]={
  276.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  277.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00,
  278.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  279.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  280.        0x00, 0x00, 0x02, 0x54, 0xF4, 0xFB
  281.        };
  282. uint8_t   temp_65_F[]={
  283.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  284.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00,
  285.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  286.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  287.        0x00, 0x00, 0x02, 0x56, 0xF4, 0xFB
  288.        };
  289. uint8_t   temp_66_F[]={
  290.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  291.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00,
  292.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  293.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  294.        0x00, 0x00, 0x02, 0x58, 0xF4, 0xFB
  295.        };
  296. uint8_t   temp_67_F[]={
  297.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  298.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00,
  299.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  300.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  301.        0x00, 0x00, 0x02, 0x5A, 0xF4, 0xFB
  302.        };
  303. uint8_t   temp_68_F[]={
  304.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  305.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00,
  306.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  307.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  308.        0x00, 0x00, 0x02, 0x5C, 0xF4, 0xFB
  309.        };
  310. uint8_t   temp_69_F[]={
  311.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  312.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00,
  313.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  314.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  315.        0x00, 0x00, 0x02, 0x5E, 0xF4, 0xFB
  316.        };
  317. uint8_t   temp_70_F[]={
  318.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  319.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00,
  320.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  321.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  322.        0x00, 0x00, 0x02, 0x60, 0xF4, 0xFB
  323.        };
  324. uint8_t   temp_71_F[]={
  325.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  326.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00,
  327.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  328.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  329.        0x00, 0x00, 0x02, 0x62, 0xF4, 0xFB
  330.        };
  331. uint8_t   temp_72_F[]={
  332.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  333.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00,
  334.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  335.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  336.        0x00, 0x00, 0x02, 0x64, 0xF4, 0xFB
  337.        };
  338. uint8_t   temp_73_F[]={
  339.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  340.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x00, 0x00,
  341.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  342.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  343.        0x00, 0x00, 0x02, 0x66, 0xF4, 0xFB
  344.        };
  345. uint8_t   temp_74_F[]={
  346.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  347.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00,
  348.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  349.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  350.        0x00, 0x00, 0x02, 0x68, 0xF4, 0xFB
  351.        };
  352. uint8_t   temp_75_F[]={
  353.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  354.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00,
  355.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  356.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  357.        0x00, 0x00, 0x02, 0x6A, 0xF4, 0xFB
  358.        };
  359. uint8_t   temp_76_F[]={
  360.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  361.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00,
  362.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  363.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  364.        0x00, 0x00, 0x02, 0x6C, 0xF4, 0xFB
  365.        };
  366. uint8_t   temp_77_F[]={
  367.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  368.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00,
  369.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  370.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  371.        0x00, 0x00, 0x02, 0x6E, 0xF4, 0xFB
  372.        };
  373. uint8_t   temp_78_F[]={
  374.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  375.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00,
  376.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  377.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  378.        0x00, 0x00, 0x02, 0x70, 0xF4, 0xFB
  379.        };
  380. uint8_t   temp_79_F[]={
  381.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  382.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x00,
  383.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  384.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  385.        0x00, 0x00, 0x02, 0x72, 0xF4, 0xFB
  386.        };
  387. uint8_t   temp_80_F[]={
  388.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  389.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x00, 0x00,
  390.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  391.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  392.        0x00, 0x00, 0x02, 0x74, 0xF4, 0xFB
  393.        };
  394. uint8_t   temp_81_F[]={
  395.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  396.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA3, 0x00, 0x00,
  397.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  398.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  399.        0x00, 0x00, 0x02, 0x76, 0xF4, 0xFB
  400.        };
  401. uint8_t   temp_82_F[]={
  402.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  403.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00,
  404.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  405.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  406.        0x00, 0x00, 0x02, 0x78, 0xF4, 0xFB
  407.        };
  408. uint8_t   temp_83_F[]={
  409.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  410.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00,
  411.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  412.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  413.        0x00, 0x00, 0x02, 0x7A, 0xF4, 0xFB
  414.        };
  415. uint8_t   temp_84_F[]={
  416.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  417.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x00,
  418.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  419.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  420.        0x00, 0x00, 0x02, 0x7C, 0xF4, 0xFB
  421.        };
  422. uint8_t   temp_85_F[]={
  423.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  424.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAB, 0x00, 0x00,
  425.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  426.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  427.        0x00, 0x00, 0x02, 0x7E, 0xF4, 0xFB
  428.        };
  429. uint8_t   temp_86_F[]={
  430.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  431.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00,
  432.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  433.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  434.        0x00, 0x00, 0x02, 0x80, 0xF4, 0xFB
  435.        };
  436. uint8_t   temp_87_F[]={
  437.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  438.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x00,
  439.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  440.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  441.        0x00, 0x00, 0x02, 0x82, 0xF4, 0xFB
  442.        };
  443. uint8_t   temp_88_F[]={
  444.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  445.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00,
  446.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  447.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  448.        0x00, 0x00, 0x02, 0x84, 0xF4, 0xFB
  449.        };
  450. uint8_t   temp_89_F[]={
  451.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  452.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x00,
  453.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  454.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  455.        0x00, 0x00, 0x02, 0x86, 0xF4, 0xFB
  456.        };
  457. uint8_t   temp_90_F[]={
  458.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  459.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00,
  460.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  461.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  462.        0x00, 0x00, 0x02, 0x88, 0xF4, 0xFB
  463.        };
  464. uint8_t  turbo_on[]={
  465.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  466.        0x00, 0x00, 0x65, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
  467.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  468.        0x5C, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  469.        0x00, 0x00, 0x02, 0x41, 0xF4, 0xFB
  470.        };
  471. uint8_t   turbo_off[]={
  472.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  473.        0x00, 0x00, 0x65, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
  474.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  475.        0x54, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  476.        0x00, 0x00, 0x02, 0x39, 0xF4, 0xFB
  477.        };
  478. uint8_t   energysave_on[]={
  479.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  480.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  481.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  482.        0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  483.        0x00, 0x00, 0x02, 0x07, 0xF4, 0xFB
  484.        };
  485. uint8_t   energysave_off[]={
  486.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  487.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  488.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  489.        0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  490.        0x00, 0x00, 0x01, 0xE7, 0xF4, 0xFB
  491.        };
  492. uint8_t   display_on[]={
  493.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  494.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  495.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  496.        0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  497.        0x00, 0x00, 0x02, 0x93, 0xF4, 0xFB
  498.        };
  499. uint8_t   display_off[]={
  500.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  501.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  502.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  503.        0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  504.        0x00, 0x00, 0x02, 0x13, 0xF4, 0xFB
  505.        };
  506. uint8_t   sleep_1[]={
  507.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  508.        0x00, 0x00, 0x65, 0x00, 0x00, 0x05, 0x03, 0x00, 0x00, 0x00, 0x00,
  509.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  510.        0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  511.        0x00, 0x00, 0x01, 0xEF, 0xF4, 0xFB
  512.        };
  513. uint8_t   sleep_2[]={
  514.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  515.        0x00, 0x00, 0x65, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00,
  516.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  517.        0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  518.        0x00, 0x00, 0x01, 0xF1, 0xF4, 0xFB
  519.        };
  520. uint8_t   sleep_3[]={
  521.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  522.        0x00, 0x00, 0x65, 0x00, 0x00, 0x05, 0x07, 0x00, 0x00, 0x00, 0x00,
  523.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  524.        0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  525.        0x00, 0x00, 0x01, 0xF3, 0xF4, 0xFB
  526.        };
  527. uint8_t   sleep_4[]={
  528.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  529.        0x00, 0x00, 0x65, 0x00, 0x00, 0x05, 0x09, 0x00, 0x00, 0x00, 0x00,
  530.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  531.        0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  532.        0x00, 0x00, 0x01, 0xF5, 0xF4, 0xFB
  533.        };
  534. uint8_t   sleep_off[]={
  535.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  536.        0x00, 0x00, 0x65, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
  537.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  538.        0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  539.        0x00, 0x00, 0x01, 0xE9, 0xF4, 0xFB
  540.        };
  541. uint8_t   vert_dir[]={
  542.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  543.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  544.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40,
  545.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  546.        0x00, 0x00, 0x02, 0x14, 0xF4, 0xFB
  547.        };
  548. uint8_t   vert_swing[]={
  549.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  550.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  551.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0,
  552.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  553.        0x00, 0x00, 0x02, 0x94, 0xF4, 0xFB
  554.        };
  555. uint8_t   hor_dir[]={
  556.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  557.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  558.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
  559.        0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  560.        0x00, 0x00, 0x01, 0xF7, 0xF4, 0xFB
  561.        };
  562. uint8_t   hor_swing[]={
  563.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  564.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  565.        0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
  566.        0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  567.        0x00, 0x00, 0x02, 0x17, 0xF4, 0xFB
  568.        };
  569. uint8_t   temp_to_F[]={
  570.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  571.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  572.        0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  573.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  574.        0x00, 0x00, 0x01, 0xD6, 0xF4, 0xFB
  575.        };
  576. uint8_t   temp_to_F_reset_temp[]={
  577.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  578.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x00, 0x00,
  579.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  580.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  581.        0x00, 0x00, 0x02, 0x4A, 0xF4, 0xFB
  582.        };
  583. uint8_t   temp_to_C[]={
  584.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  585.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  586.        0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  587.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  588.        0x00, 0x00, 0x01, 0xD4, 0xF4, 0xFB
  589.        };
  590. uint8_t   temp_to_C_reset_temp[]={
  591.        0xF4, 0xF5, 0x00, 0x40, 0x29, 0x00, 0x00, 0x01, 0x01, 0xFE, 0x01,
  592.        0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00,
  593.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  594.        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  595.        0x00, 0x00, 0x01, 0xF0, 0xF4, 0xFB
  596.        };
  597.  
  598. void cmd2bin(uint8_t * cmdi,uint8_t *cmdo){
  599.     uint8_t b;
  600.     for(int i=0;i<30;i++){
  601.        b=0;
  602.        b=(cmdi[i*8] == '0' ? 0  : 128);
  603.        b+=(cmdi[i*8+1] == '0' ? 0 : 64);
  604.        b+=(cmdi[i*8+2] == '0' ? 0 : 32);
  605.        b+=(cmdi[i*8+3] == '0' ? 0 : 16);
  606.        b+=(cmdi[i*8+4] == '0' ? 0 : 8);
  607.        b+=(cmdi[i*8+5] == '0' ? 0 : 4);
  608.        b+=(cmdi[i*8+6] == '0' ? 0 : 2);
  609.        b+=(cmdi[i*8+7] == '0' ? 0 : 1);
  610.  
  611.        cmdo[i]=b;
  612.     }
  613. }
  614.  
  615. int main(void) {
  616.     char *portname = TERMINAL;
  617.     int fd;
  618.     int wlen;
  619.  
  620.     fd = open(portname, O_RDWR  | O_NOCTTY );
  621.         if (fd < 0) {
  622.             printf("Error opening %s: %s\n", portname, strerror(errno));
  623.             return -1;
  624.         }
  625.         /*baudrate 115200, 8 bits, no parity, 1 stop bit */
  626.         set_interface_attribs(fd, B9600);
  627.         //set_mincount(fd, 0);                /* set to pure timed read */
  628.         //for(int k=0;k<2000;k++)
  629.         wlen = write(fd,cmdOFF2,50);
  630.  
  631.  
  632.            if (wlen != 30) {
  633.                printf("Error from write: %d, %d\n", wlen, errno);
  634.            }
  635.            tcdrain(fd);    /* delay for output */
  636.  
  637.            puts("Reading");
  638.            do {
  639.                    unsigned char buf[30];
  640.                    int rdlen;
  641.  
  642.                    rdlen = read(fd, buf, sizeof(buf) - 1);
  643.                    if (rdlen > 0) {
  644.                        unsigned char   *p;
  645.                        printf("Read %d:", rdlen);
  646.                        for (p = buf; rdlen-- > 0; p++)
  647.                            printf(" 0x%x", *p);
  648.                        printf("\n");
  649.                    } else if (rdlen < 0) {
  650.                        printf("Error from read: %d: %s\n", rdlen, strerror(errno));
  651.                    } else {  /* rdlen == 0 */
  652.                        printf("Timeout from read\n");
  653.                        break;
  654.                    }
  655.                    /* repeat read to get full message */
  656.                } while (1);
  657.     puts("Done"); /* prints !!!Hello World!!! */
  658.     return EXIT_SUCCESS;
  659. }
  660.  
Advertisement
Add Comment
Please, Sign In to add comment