SUNGTAE KIM
/
WIZwiki-W7500_LoRa_Dust_Roadsign
Dust Display Road Sign using Lora Connectivity
JUTF43/lcd_cmd.cpp@0:ee87c3246381, 2018-10-30 (annotated)
- Committer:
- stkim92
- Date:
- Tue Oct 30 06:26:12 2018 +0000
- Revision:
- 0:ee87c3246381
Dust Display Road Sign using LoRa Connectivity
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
stkim92 | 0:ee87c3246381 | 1 | //#include <stdio.h> |
stkim92 | 0:ee87c3246381 | 2 | // |
stkim92 | 0:ee87c3246381 | 3 | //#include "lcd_cmd.h" |
stkim92 | 0:ee87c3246381 | 4 | //#define MAX_PACKET 1024 |
stkim92 | 0:ee87c3246381 | 5 | //static char cmd_buf[MAX_PACKET]; |
stkim92 | 0:ee87c3246381 | 6 | // |
stkim92 | 0:ee87c3246381 | 7 | //bool lcd_connect(int portnum) |
stkim92 | 0:ee87c3246381 | 8 | //{ |
stkim92 | 0:ee87c3246381 | 9 | // TCHAR portname[128]; |
stkim92 | 0:ee87c3246381 | 10 | // wsprintf(portname, _T("\\\\.\\COM%d"),portnum); |
stkim92 | 0:ee87c3246381 | 11 | // serial.OpenCom(portname, 115200, 8,0,1); |
stkim92 | 0:ee87c3246381 | 12 | // if(serial.IsActive()) |
stkim92 | 0:ee87c3246381 | 13 | // { |
stkim92 | 0:ee87c3246381 | 14 | // serial.ClearCommBlock(); |
stkim92 | 0:ee87c3246381 | 15 | // serial.ThreadReceiveSet(); |
stkim92 | 0:ee87c3246381 | 16 | // } |
stkim92 | 0:ee87c3246381 | 17 | // else |
stkim92 | 0:ee87c3246381 | 18 | // { |
stkim92 | 0:ee87c3246381 | 19 | // TCHAR msg[128]; |
stkim92 | 0:ee87c3246381 | 20 | // wsprintf(msg, _T("Failed to open Serial Port(%d)"), portnum); |
stkim92 | 0:ee87c3246381 | 21 | // OutputDebugString(msg); |
stkim92 | 0:ee87c3246381 | 22 | // return false; |
stkim92 | 0:ee87c3246381 | 23 | // } |
stkim92 | 0:ee87c3246381 | 24 | // |
stkim92 | 0:ee87c3246381 | 25 | // lcd_connect_check(); |
stkim92 | 0:ee87c3246381 | 26 | // |
stkim92 | 0:ee87c3246381 | 27 | // return true; |
stkim92 | 0:ee87c3246381 | 28 | //} |
stkim92 | 0:ee87c3246381 | 29 | //void lcd_disconnect() |
stkim92 | 0:ee87c3246381 | 30 | //{ |
stkim92 | 0:ee87c3246381 | 31 | // serial.ThreadReceiveRelease(); |
stkim92 | 0:ee87c3246381 | 32 | // serial.CloseCom(); |
stkim92 | 0:ee87c3246381 | 33 | //} |
stkim92 | 0:ee87c3246381 | 34 | //bool lcd_is_open() |
stkim92 | 0:ee87c3246381 | 35 | //{ |
stkim92 | 0:ee87c3246381 | 36 | // if(serial.IsActive()) return true; |
stkim92 | 0:ee87c3246381 | 37 | // else return false; |
stkim92 | 0:ee87c3246381 | 38 | //} |
stkim92 | 0:ee87c3246381 | 39 | //void set_receive_window(HWND h, UINT msg) |
stkim92 | 0:ee87c3246381 | 40 | //{ |
stkim92 | 0:ee87c3246381 | 41 | // serial.SetReceiveWindow(h, msg); |
stkim92 | 0:ee87c3246381 | 42 | //} |
stkim92 | 0:ee87c3246381 | 43 | // |
stkim92 | 0:ee87c3246381 | 44 | //bool send_command(char* str) |
stkim92 | 0:ee87c3246381 | 45 | //{ |
stkim92 | 0:ee87c3246381 | 46 | // char ch = '-'; |
stkim92 | 0:ee87c3246381 | 47 | // if(serial.IsActive()) |
stkim92 | 0:ee87c3246381 | 48 | // { |
stkim92 | 0:ee87c3246381 | 49 | // unsigned char sop = '$'; |
stkim92 | 0:ee87c3246381 | 50 | // unsigned char eop = '#'; |
stkim92 | 0:ee87c3246381 | 51 | // |
stkim92 | 0:ee87c3246381 | 52 | // //start of packet |
stkim92 | 0:ee87c3246381 | 53 | // serial.WriteCommBlock(&sop, 1); |
stkim92 | 0:ee87c3246381 | 54 | // |
stkim92 | 0:ee87c3246381 | 55 | // //command body |
stkim92 | 0:ee87c3246381 | 56 | // serial.WriteCommBlock((unsigned char*) str, strlen(str)); |
stkim92 | 0:ee87c3246381 | 57 | // |
stkim92 | 0:ee87c3246381 | 58 | // ///end of packet |
stkim92 | 0:ee87c3246381 | 59 | // serial.WriteCommBlock(&eop, 1); |
stkim92 | 0:ee87c3246381 | 60 | // return true; |
stkim92 | 0:ee87c3246381 | 61 | // } |
stkim92 | 0:ee87c3246381 | 62 | // return false; |
stkim92 | 0:ee87c3246381 | 63 | //} |
stkim92 | 0:ee87c3246381 | 64 | // |
stkim92 | 0:ee87c3246381 | 65 | //bool lcd_connect_check() |
stkim92 | 0:ee87c3246381 | 66 | //{ |
stkim92 | 0:ee87c3246381 | 67 | // return send_command("s,0"); |
stkim92 | 0:ee87c3246381 | 68 | //} |
stkim92 | 0:ee87c3246381 | 69 | //bool lcd_set_double_buffer_mode() |
stkim92 | 0:ee87c3246381 | 70 | //{ |
stkim92 | 0:ee87c3246381 | 71 | // return send_command("s,3"); |
stkim92 | 0:ee87c3246381 | 72 | //} |
stkim92 | 0:ee87c3246381 | 73 | //bool lcd_set_single_buffer_mode() |
stkim92 | 0:ee87c3246381 | 74 | //{ |
stkim92 | 0:ee87c3246381 | 75 | // return send_command("s,4"); |
stkim92 | 0:ee87c3246381 | 76 | //} |
stkim92 | 0:ee87c3246381 | 77 | //bool lcd_brightness(int val) |
stkim92 | 0:ee87c3246381 | 78 | //{ |
stkim92 | 0:ee87c3246381 | 79 | // if (val > 99) |
stkim92 | 0:ee87c3246381 | 80 | // val = 99; |
stkim92 | 0:ee87c3246381 | 81 | // else if (val < 0) |
stkim92 | 0:ee87c3246381 | 82 | // val = 0; |
stkim92 | 0:ee87c3246381 | 83 | // sprintf_s(cmd_buf,MAX_PACKET, "s,5,%d", val); |
stkim92 | 0:ee87c3246381 | 84 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 85 | //} |
stkim92 | 0:ee87c3246381 | 86 | //bool lcd_flip() |
stkim92 | 0:ee87c3246381 | 87 | //{ |
stkim92 | 0:ee87c3246381 | 88 | // return send_command("s,6"); |
stkim92 | 0:ee87c3246381 | 89 | //} |
stkim92 | 0:ee87c3246381 | 90 | //bool lcd_usb_mass_storage() |
stkim92 | 0:ee87c3246381 | 91 | //{ |
stkim92 | 0:ee87c3246381 | 92 | // return send_command("s,7"); |
stkim92 | 0:ee87c3246381 | 93 | //} |
stkim92 | 0:ee87c3246381 | 94 | //bool lcd_reset() |
stkim92 | 0:ee87c3246381 | 95 | //{ |
stkim92 | 0:ee87c3246381 | 96 | // return send_command("s,9"); |
stkim92 | 0:ee87c3246381 | 97 | //} |
stkim92 | 0:ee87c3246381 | 98 | // |
stkim92 | 0:ee87c3246381 | 99 | // |
stkim92 | 0:ee87c3246381 | 100 | //bool lcd_set_color(unsigned char r, unsigned char g, unsigned char b) |
stkim92 | 0:ee87c3246381 | 101 | //{ |
stkim92 | 0:ee87c3246381 | 102 | // sprintf_s(cmd_buf,MAX_PACKET, "l,0,%d,%d,%d", r, g, b); |
stkim92 | 0:ee87c3246381 | 103 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 104 | //} |
stkim92 | 0:ee87c3246381 | 105 | // |
stkim92 | 0:ee87c3246381 | 106 | //bool lcd_draw_line(int x, int y, int endx, int endy) |
stkim92 | 0:ee87c3246381 | 107 | //{ |
stkim92 | 0:ee87c3246381 | 108 | // sprintf_s(cmd_buf,MAX_PACKET, "l,1,%d,%d,%d,%d", x, y, endx, endy); |
stkim92 | 0:ee87c3246381 | 109 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 110 | //} |
stkim92 | 0:ee87c3246381 | 111 | // |
stkim92 | 0:ee87c3246381 | 112 | //bool lcd_draw_rect(int x, int y, int w, int h, bool bfill) |
stkim92 | 0:ee87c3246381 | 113 | //{ |
stkim92 | 0:ee87c3246381 | 114 | // sprintf_s(cmd_buf,MAX_PACKET, "l,2,%d,%d,%d,%d,%d", x, y, w, h, bfill == true ? 1 : 0); |
stkim92 | 0:ee87c3246381 | 115 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 116 | //} |
stkim92 | 0:ee87c3246381 | 117 | //bool lcd_draw_rect_gradient(int x, int y, int w, int h, unsigned char sr, unsigned char sg, unsigned char sb, unsigned char er, unsigned char eg, unsigned char eb) |
stkim92 | 0:ee87c3246381 | 118 | //{ |
stkim92 | 0:ee87c3246381 | 119 | // sprintf_s(cmd_buf,MAX_PACKET, "l,3,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d", x, y, w, h, sr, sg, sb, er, eg, eb); |
stkim92 | 0:ee87c3246381 | 120 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 121 | //} |
stkim92 | 0:ee87c3246381 | 122 | //bool lcd_draw_rect_rounded(int x, int y, int w, int h, int rad, bool bfill) |
stkim92 | 0:ee87c3246381 | 123 | //{ |
stkim92 | 0:ee87c3246381 | 124 | // sprintf_s(cmd_buf,MAX_PACKET, "l,4,%d,%d,%d,%d,%d,%d", x, y, w, h, rad, bfill == true ? 1 : 0); |
stkim92 | 0:ee87c3246381 | 125 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 126 | //} |
stkim92 | 0:ee87c3246381 | 127 | //bool lcd_draw_thickline(int x, int y, int endx, int endy, int thick) |
stkim92 | 0:ee87c3246381 | 128 | //{ |
stkim92 | 0:ee87c3246381 | 129 | // sprintf_s(cmd_buf,MAX_PACKET, "l,5,%d,%d,%d,%d,%d", x, y, endx, endy, thick); |
stkim92 | 0:ee87c3246381 | 130 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 131 | //} |
stkim92 | 0:ee87c3246381 | 132 | //bool lcd_draw_circle(int x, int y, int r, bool bfill) |
stkim92 | 0:ee87c3246381 | 133 | //{ |
stkim92 | 0:ee87c3246381 | 134 | // sprintf_s(cmd_buf,MAX_PACKET, "l,6,%d,%d,%d,%d", x, y, r, bfill == true ? 1 : 0); |
stkim92 | 0:ee87c3246381 | 135 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 136 | //} |
stkim92 | 0:ee87c3246381 | 137 | // |
stkim92 | 0:ee87c3246381 | 138 | //bool lcd_draw_ellipse(int x, int y, int rx, int ry, bool bfill) |
stkim92 | 0:ee87c3246381 | 139 | //{ |
stkim92 | 0:ee87c3246381 | 140 | // sprintf_s(cmd_buf,MAX_PACKET, "l,7,%d,%d,%d,%d,%d", x, y, rx, ry, bfill == true ? 1 : 0); |
stkim92 | 0:ee87c3246381 | 141 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 142 | //} |
stkim92 | 0:ee87c3246381 | 143 | //bool lcd_image_load(int index, char* fname) |
stkim92 | 0:ee87c3246381 | 144 | //{ |
stkim92 | 0:ee87c3246381 | 145 | // if (index >= 1024) |
stkim92 | 0:ee87c3246381 | 146 | // return false; |
stkim92 | 0:ee87c3246381 | 147 | // else if (index < 0) |
stkim92 | 0:ee87c3246381 | 148 | // return false; |
stkim92 | 0:ee87c3246381 | 149 | // |
stkim92 | 0:ee87c3246381 | 150 | // sprintf_s(cmd_buf,MAX_PACKET, "i,1,%d,%s", index, fname); |
stkim92 | 0:ee87c3246381 | 151 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 152 | //} |
stkim92 | 0:ee87c3246381 | 153 | // |
stkim92 | 0:ee87c3246381 | 154 | //bool lcd_image_draw(int index, int x, int y) |
stkim92 | 0:ee87c3246381 | 155 | //{ |
stkim92 | 0:ee87c3246381 | 156 | // if (index >= 1024) |
stkim92 | 0:ee87c3246381 | 157 | // return false; |
stkim92 | 0:ee87c3246381 | 158 | // else if (index < 0) |
stkim92 | 0:ee87c3246381 | 159 | // return false; |
stkim92 | 0:ee87c3246381 | 160 | // |
stkim92 | 0:ee87c3246381 | 161 | // sprintf_s(cmd_buf,MAX_PACKET, "i,2,%d,%d,%d", index, x, y); |
stkim92 | 0:ee87c3246381 | 162 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 163 | //} |
stkim92 | 0:ee87c3246381 | 164 | // |
stkim92 | 0:ee87c3246381 | 165 | //bool lcd_image_draw_rect(int index, int x, int y, int sx, int sy, int w, int h) |
stkim92 | 0:ee87c3246381 | 166 | //{ |
stkim92 | 0:ee87c3246381 | 167 | // if (index >= 1024) |
stkim92 | 0:ee87c3246381 | 168 | // return false; |
stkim92 | 0:ee87c3246381 | 169 | // else if (index < 0) |
stkim92 | 0:ee87c3246381 | 170 | // return false; |
stkim92 | 0:ee87c3246381 | 171 | // |
stkim92 | 0:ee87c3246381 | 172 | // sprintf_s(cmd_buf,MAX_PACKET, "i,3,%d,%d,%d,%d,%d,%d,%d", index, x, y, sx, sy, w, h); |
stkim92 | 0:ee87c3246381 | 173 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 174 | //} |
stkim92 | 0:ee87c3246381 | 175 | // |
stkim92 | 0:ee87c3246381 | 176 | //bool lcd_image_draw_scale(int index, int x, int y, int w, int h) |
stkim92 | 0:ee87c3246381 | 177 | //{ |
stkim92 | 0:ee87c3246381 | 178 | // if (index >= 1024) |
stkim92 | 0:ee87c3246381 | 179 | // return false; |
stkim92 | 0:ee87c3246381 | 180 | // else if (index < 0) |
stkim92 | 0:ee87c3246381 | 181 | // return false; |
stkim92 | 0:ee87c3246381 | 182 | // |
stkim92 | 0:ee87c3246381 | 183 | // sprintf_s(cmd_buf,MAX_PACKET, "i,4,%d,%d,%d,%d,%d", index, x, y, w, h); |
stkim92 | 0:ee87c3246381 | 184 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 185 | //} |
stkim92 | 0:ee87c3246381 | 186 | // |
stkim92 | 0:ee87c3246381 | 187 | //bool lcd_image_draw_scale_rect(int index, int dx, int dy, int dw, int dh, int sx, int sy, int sw, int sh) |
stkim92 | 0:ee87c3246381 | 188 | //{ |
stkim92 | 0:ee87c3246381 | 189 | // if (index >= 1024) |
stkim92 | 0:ee87c3246381 | 190 | // return false; |
stkim92 | 0:ee87c3246381 | 191 | // else if (index < 0) |
stkim92 | 0:ee87c3246381 | 192 | // return false; |
stkim92 | 0:ee87c3246381 | 193 | // |
stkim92 | 0:ee87c3246381 | 194 | // sprintf_s(cmd_buf,MAX_PACKET, "i,5,%d,%d,%d,%d,%d,%d,%d,%d,%d", index, dx, dy, dw, dh, sx, sy, sw, sh); |
stkim92 | 0:ee87c3246381 | 195 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 196 | //} |
stkim92 | 0:ee87c3246381 | 197 | // |
stkim92 | 0:ee87c3246381 | 198 | //bool lcd_image_release(int index) |
stkim92 | 0:ee87c3246381 | 199 | //{ |
stkim92 | 0:ee87c3246381 | 200 | // if (index >= 1024) |
stkim92 | 0:ee87c3246381 | 201 | // return false; |
stkim92 | 0:ee87c3246381 | 202 | // else if (index < 0) |
stkim92 | 0:ee87c3246381 | 203 | // return false; |
stkim92 | 0:ee87c3246381 | 204 | // |
stkim92 | 0:ee87c3246381 | 205 | // sprintf_s(cmd_buf, MAX_PACKET, "i,6,%d", index); |
stkim92 | 0:ee87c3246381 | 206 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 207 | //} |
stkim92 | 0:ee87c3246381 | 208 | // |
stkim92 | 0:ee87c3246381 | 209 | //bool lcd_textcolor(unsigned char r, unsigned char g, unsigned char b) |
stkim92 | 0:ee87c3246381 | 210 | //{ |
stkim92 | 0:ee87c3246381 | 211 | // sprintf_s(cmd_buf,MAX_PACKET, "f,1,%d,%d,%d", r, g, b); |
stkim92 | 0:ee87c3246381 | 212 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 213 | //} |
stkim92 | 0:ee87c3246381 | 214 | // |
stkim92 | 0:ee87c3246381 | 215 | //bool lcd_textout(char* str, int x, int y) |
stkim92 | 0:ee87c3246381 | 216 | //{ |
stkim92 | 0:ee87c3246381 | 217 | // if (strlen(str) > 1000) |
stkim92 | 0:ee87c3246381 | 218 | // return false; |
stkim92 | 0:ee87c3246381 | 219 | // |
stkim92 | 0:ee87c3246381 | 220 | // sprintf_s(cmd_buf,MAX_PACKET, "f,0,%s,%d,%d", str, x, y); |
stkim92 | 0:ee87c3246381 | 221 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 222 | //} |
stkim92 | 0:ee87c3246381 | 223 | // |
stkim92 | 0:ee87c3246381 | 224 | //bool lcd_set_touchmode(bool bAsync) |
stkim92 | 0:ee87c3246381 | 225 | //{ |
stkim92 | 0:ee87c3246381 | 226 | // |
stkim92 | 0:ee87c3246381 | 227 | // if (bAsync) |
stkim92 | 0:ee87c3246381 | 228 | // return send_command("t,0,1"); |
stkim92 | 0:ee87c3246381 | 229 | // else |
stkim92 | 0:ee87c3246381 | 230 | // return send_command("t,0,0"); |
stkim92 | 0:ee87c3246381 | 231 | // |
stkim92 | 0:ee87c3246381 | 232 | //} |
stkim92 | 0:ee87c3246381 | 233 | // |
stkim92 | 0:ee87c3246381 | 234 | //bool lcd_get_touch(unsigned short *x, unsigned short *y) |
stkim92 | 0:ee87c3246381 | 235 | //{ |
stkim92 | 0:ee87c3246381 | 236 | // /* |
stkim92 | 0:ee87c3246381 | 237 | // char* cmd = "$t,1#"; |
stkim92 | 0:ee87c3246381 | 238 | // DWORD nRead; |
stkim92 | 0:ee87c3246381 | 239 | // unsigned char res[5]; |
stkim92 | 0:ee87c3246381 | 240 | // serial.Write(cmd, strlen(cmd)); |
stkim92 | 0:ee87c3246381 | 241 | // if (serial.Read(res, 5, &nRead) != ERROR_SUCCESS) |
stkim92 | 0:ee87c3246381 | 242 | // return false; |
stkim92 | 0:ee87c3246381 | 243 | // if (nRead != 5) |
stkim92 | 0:ee87c3246381 | 244 | // return false; |
stkim92 | 0:ee87c3246381 | 245 | // if (res[4] != '+') |
stkim92 | 0:ee87c3246381 | 246 | // return false; |
stkim92 | 0:ee87c3246381 | 247 | // *x = (unsigned short)(res[0] << 8) + res[1]; |
stkim92 | 0:ee87c3246381 | 248 | // *y = (unsigned short)(res[2] << 8) + res[3]; |
stkim92 | 0:ee87c3246381 | 249 | // */ |
stkim92 | 0:ee87c3246381 | 250 | // return true; |
stkim92 | 0:ee87c3246381 | 251 | //} |
stkim92 | 0:ee87c3246381 | 252 | // |
stkim92 | 0:ee87c3246381 | 253 | //bool lcd_run_script(char* fname) |
stkim92 | 0:ee87c3246381 | 254 | //{ |
stkim92 | 0:ee87c3246381 | 255 | // if (strlen(fname) > 1000) |
stkim92 | 0:ee87c3246381 | 256 | // return false; |
stkim92 | 0:ee87c3246381 | 257 | // |
stkim92 | 0:ee87c3246381 | 258 | // sprintf_s(cmd_buf, MAX_PACKET, "c,0,%s", fname); |
stkim92 | 0:ee87c3246381 | 259 | // return send_command(cmd_buf); |
stkim92 | 0:ee87c3246381 | 260 | //} |
stkim92 | 0:ee87c3246381 | 261 | // |
stkim92 | 0:ee87c3246381 | 262 | ////Read data from the serial port |
stkim92 | 0:ee87c3246381 | 263 | //int lcd_get_serial_data(unsigned char* buf) |
stkim92 | 0:ee87c3246381 | 264 | //{ |
stkim92 | 0:ee87c3246381 | 265 | // int res = 0; |
stkim92 | 0:ee87c3246381 | 266 | // if(serial.IsActive()) |
stkim92 | 0:ee87c3246381 | 267 | // { |
stkim92 | 0:ee87c3246381 | 268 | // res = serial.GetReceiveData(buf); |
stkim92 | 0:ee87c3246381 | 269 | // } |
stkim92 | 0:ee87c3246381 | 270 | // return res; |
stkim92 | 0:ee87c3246381 | 271 | //} |