![](/media/cache/profiles/f47a07182433c042d84cb754ddcac64f.jpg.50x50_q85.jpg)
TFT2P0327 MONO-WIRELESS TWELITE-DIP 2pcs control
main.cpp@0:d7a203e99fdc, 2020-06-21 (annotated)
- Committer:
- king33jp
- Date:
- Sun Jun 21 05:49:00 2020 +0000
- Revision:
- 0:d7a203e99fdc
TWELITE x2 TFT2P0327
Who changed what in which revision?
User | Revision | Line number | New 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 | } |