TFT2P0327 MONO-WIRELESS TWELITE-DIP 2pcs control

Dependencies:   mbed S6D0151

Committer:
king33jp
Date:
Sun Jun 21 05:49:00 2020 +0000
Revision:
0:d7a203e99fdc
TWELITE x2 TFT2P0327

Who changed what in which revision?

UserRevisionLine numberNew contents of line
king33jp 0:d7a203e99fdc 1 #include "mbed.h"
king33jp 0:d7a203e99fdc 2 #include "S6D0151_TFT.h"
king33jp 0:d7a203e99fdc 3 #include "Consolas12.h"
king33jp 0:d7a203e99fdc 4 #include "Prototype24x34_T.h"
king33jp 0:d7a203e99fdc 5
king33jp 0:d7a203e99fdc 6 S6D0151_TFT TFT(PTD2, NC, PTD1, PTD6, PTD7,"TFT"); // mosi, miso, sclk, cs, reset
king33jp 0:d7a203e99fdc 7
king33jp 0:d7a203e99fdc 8 DigitalOut myled(LED2);
king33jp 0:d7a203e99fdc 9 Serial tocos(PTE0,PTE1);
king33jp 0:d7a203e99fdc 10 //Serial pc(USBTX,USBRX);
king33jp 0:d7a203e99fdc 11
king33jp 0:d7a203e99fdc 12 PwmOut bkl(PTD4);
king33jp 0:d7a203e99fdc 13
king33jp 0:d7a203e99fdc 14 int main() {
king33jp 0:d7a203e99fdc 15 char recv_str[64];
king33jp 0:d7a203e99fdc 16 char ad1_str[5]={'\0'};
king33jp 0:d7a203e99fdc 17 char ad1h_str[5]={'\0'};
king33jp 0:d7a203e99fdc 18 char tmp_str[10]={'\0'};
king33jp 0:d7a203e99fdc 19 char v_id_str[10]={'\0'};
king33jp 0:d7a203e99fdc 20 char v_lg_str[10]={'\0'};
king33jp 0:d7a203e99fdc 21
king33jp 0:d7a203e99fdc 22 int ad1,ad1h,v_lqi,v_bat;
king33jp 0:d7a203e99fdc 23 int lm61;
king33jp 0:d7a203e99fdc 24 char child1[]="810CD3F0";
king33jp 0:d7a203e99fdc 25 int vpos_offset;
king33jp 0:d7a203e99fdc 26
king33jp 0:d7a203e99fdc 27 tocos.baud(115200);
king33jp 0:d7a203e99fdc 28 bkl.period_ms(1);
king33jp 0:d7a203e99fdc 29 bkl = 1; //
king33jp 0:d7a203e99fdc 30
king33jp 0:d7a203e99fdc 31 // TFT.claim(stdout); // send stdout to the TFT display
king33jp 0:d7a203e99fdc 32 TFT.set_orientation(2);
king33jp 0:d7a203e99fdc 33
king33jp 0:d7a203e99fdc 34 TFT.background(Black); // set background to black
king33jp 0:d7a203e99fdc 35 TFT.foreground(White);
king33jp 0:d7a203e99fdc 36 TFT.cls();
king33jp 0:d7a203e99fdc 37 TFT.set_font((unsigned char *) Consolas9x16 );
king33jp 0:d7a203e99fdc 38 TFT.locate( 0, 0); TFT.printf("ZigBee Temp");
king33jp 0:d7a203e99fdc 39
king33jp 0:d7a203e99fdc 40 TFT.set_font( (unsigned char *) Prototype24x34 );
king33jp 0:d7a203e99fdc 41 TFT.locate( 63, 18+0 ); TFT.printf(".");
king33jp 0:d7a203e99fdc 42 TFT.locate( 63, 18+80); TFT.printf(".");
king33jp 0:d7a203e99fdc 43
king33jp 0:d7a203e99fdc 44 while(1) {
king33jp 0:d7a203e99fdc 45 while( tocos.getc() != 0x3A ); // 0x3A=":"
king33jp 0:d7a203e99fdc 46 for(int i=0;i<49;i++){
king33jp 0:d7a203e99fdc 47 recv_str[i] = tocos.getc();
king33jp 0:d7a203e99fdc 48 }
king33jp 0:d7a203e99fdc 49 recv_str[49]=NULL;
king33jp 0:d7a203e99fdc 50 // 78811501B781003BB6782A05000B291B000033FFFFFFFFA3
king33jp 0:d7a203e99fdc 51 // 012345678901234567890123456789012345678901234567
king33jp 0:d7a203e99fdc 52 strncpy( ad1_str , recv_str+36 , 2 );
king33jp 0:d7a203e99fdc 53 strncpy( ad1h_str , recv_str+44 , 2 );
king33jp 0:d7a203e99fdc 54 strncpy( v_id_str , recv_str+10 , 8 );
king33jp 0:d7a203e99fdc 55 strncpy( v_lg_str , recv_str+18 , 2 );
king33jp 0:d7a203e99fdc 56 strncpy( tmp_str , recv_str+8 , 2 );
king33jp 0:d7a203e99fdc 57 v_lqi=strtol(tmp_str,NULL,16);
king33jp 0:d7a203e99fdc 58 strncpy( tmp_str , recv_str+26 , 4 );
king33jp 0:d7a203e99fdc 59 v_bat=strtol(tmp_str,NULL,16);
king33jp 0:d7a203e99fdc 60 tmp_str[2]=NULL;
king33jp 0:d7a203e99fdc 61 ad1 = strtol(ad1_str,NULL,16);
king33jp 0:d7a203e99fdc 62 ad1h= strtol(ad1h_str,NULL,16) & 0x03;
king33jp 0:d7a203e99fdc 63 ad1 = (ad1 * 4 + ad1h) * 4;
king33jp 0:d7a203e99fdc 64 lm61= ad1 - 600 ;
king33jp 0:d7a203e99fdc 65 myled = 0;
king33jp 0:d7a203e99fdc 66
king33jp 0:d7a203e99fdc 67 if( strcmp(v_id_str,child1)==0 ){
king33jp 0:d7a203e99fdc 68 vpos_offset=0;
king33jp 0:d7a203e99fdc 69 } else {
king33jp 0:d7a203e99fdc 70 vpos_offset=80;
king33jp 0:d7a203e99fdc 71 }
king33jp 0:d7a203e99fdc 72 TFT.foreground( White );
king33jp 0:d7a203e99fdc 73 TFT.set_font( (unsigned char *) Prototype24x34 );
king33jp 0:d7a203e99fdc 74 TFT.locate( 0,18+vpos_offset);
king33jp 0:d7a203e99fdc 75 TFT.printf("% 2d",lm61/10);
king33jp 0:d7a203e99fdc 76 TFT.locate( 82,18+vpos_offset);
king33jp 0:d7a203e99fdc 77 if(lm61<0){
king33jp 0:d7a203e99fdc 78 TFT.printf("%d",(-1*lm61 % 10) );
king33jp 0:d7a203e99fdc 79 } else {
king33jp 0:d7a203e99fdc 80 TFT.printf("%d",(lm61 % 10) );
king33jp 0:d7a203e99fdc 81 }
king33jp 0:d7a203e99fdc 82 TFT.set_font( (unsigned char *) Consolas9x16 );
king33jp 0:d7a203e99fdc 83 TFT.foreground( Yellow );
king33jp 0:d7a203e99fdc 84 TFT.locate( 0, 0+vpos_offset);TFT.printf("%s(%2d%%)",v_id_str,(int)((float)v_lqi/255*100) );
king33jp 0:d7a203e99fdc 85 TFT.foreground( Cyan );
king33jp 0:d7a203e99fdc 86 TFT.locate( 0, 54+vpos_offset);TFT.printf("VBAT=%4.2fV",(float)v_bat/1000 );
king33jp 0:d7a203e99fdc 87
king33jp 0:d7a203e99fdc 88 myled = 1;
king33jp 0:d7a203e99fdc 89 }
king33jp 0:d7a203e99fdc 90 }