Dust Display Road Sign using Lora Connectivity

Dependencies:   mbed

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?

UserRevisionLine numberNew 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 //}