Example application to connect the DISCO_F746NG board to thethings.iO

Dependencies:   BSP_DISCO_F746NG F7_Ethernet LCD_DISCO_F746NG NetworkAPI TS_DISCO_F746NG ThethingsiO_DISCO_F746NG mbed-dev mbed-rtos

Fork of TCP_Client_Example by Roy van Dam

Committer:
charlyo
Date:
Tue Sep 06 08:44:51 2016 +0000
Revision:
13:385d1df93acc
Parent:
11:f4d618b8141f
Child:
15:2bfdb6eab519
First version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
charlyo 13:385d1df93acc 1 #include "TS_DISCO_F746NG.h"
charlyo 13:385d1df93acc 2 #include "LCD_DISCO_F746NG.h"
charlyo 13:385d1df93acc 3 #include "ThethingsiO_DISCO_F746NG.h"
charlyo 13:385d1df93acc 4
charlyo 13:385d1df93acc 5 int result;
donatien 0:bb128f0e952f 6
charlyo 13:385d1df93acc 7 LCD_DISCO_F746NG lcd;
charlyo 13:385d1df93acc 8 TS_DISCO_F746NG ts;
donatien 0:bb128f0e952f 9
charlyo 13:385d1df93acc 10 int touched_left, touched_right ;
charlyo 13:385d1df93acc 11 stringstream temp_string;
charlyo 13:385d1df93acc 12
charlyo 13:385d1df93acc 13 int main()
NegativeBlack 6:33b57f606f2b 14 {
charlyo 13:385d1df93acc 15 ThethingsiO_DISCO_F746NG thethings = ThethingsiO_DISCO_F746NG::ThethingsiO_DISCO_F746NG("HQ0dPZ1MGCbhE6gGtZMk7w8s80Dtjf0VtiWKghbTYSw");
charlyo 13:385d1df93acc 16 //printf("IP Address is %s\n\r", interface.getIPAddress());
charlyo 13:385d1df93acc 17 TS_StateTypeDef TS_State;
charlyo 13:385d1df93acc 18 uint16_t x, y, x_ant, y_ant;
charlyo 13:385d1df93acc 19
charlyo 13:385d1df93acc 20 touched_left = touched_right = 0;
charlyo 13:385d1df93acc 21 lcd.Clear(LCD_COLOR_BLACK);
charlyo 13:385d1df93acc 22
charlyo 13:385d1df93acc 23 lcd.SetTextColor(LCD_COLOR_RED);
charlyo 13:385d1df93acc 24 lcd.DrawCircle(160, 136, 50);
charlyo 13:385d1df93acc 25 wait(0.1);
charlyo 13:385d1df93acc 26 lcd.SetTextColor(LCD_COLOR_RED);
charlyo 13:385d1df93acc 27 lcd.FillCircle(160, 136, 50);
charlyo 13:385d1df93acc 28 wait(1);
charlyo 13:385d1df93acc 29 lcd.SetTextColor(LCD_COLOR_GREEN);
charlyo 13:385d1df93acc 30 lcd.DrawCircle(320, 136, 50);
charlyo 13:385d1df93acc 31 wait(0.1);
charlyo 13:385d1df93acc 32 lcd.SetTextColor(LCD_COLOR_GREEN);
charlyo 13:385d1df93acc 33 lcd.FillCircle(320, 136, 50);
charlyo 13:385d1df93acc 34 wait(1);
charlyo 13:385d1df93acc 35 ts.Init(lcd.GetXSize(), lcd.GetYSize());
charlyo 13:385d1df93acc 36 wait(3);
charlyo 13:385d1df93acc 37
charlyo 13:385d1df93acc 38 lcd.SetBackColor(LCD_COLOR_BLACK);
charlyo 13:385d1df93acc 39 lcd.SetTextColor(LCD_COLOR_WHITE);
charlyo 13:385d1df93acc 40 printf("\r\n");
charlyo 13:385d1df93acc 41 while (1) {
charlyo 13:385d1df93acc 42 ts.GetState(&TS_State);
charlyo 13:385d1df93acc 43 if (TS_State.touchDetected) {
charlyo 13:385d1df93acc 44 x = TS_State.touchX[0];
charlyo 13:385d1df93acc 45 y = TS_State.touchY[0];
charlyo 13:385d1df93acc 46 if ((x_ant != x) && (y_ant != y)) {
charlyo 13:385d1df93acc 47 if ((x >= 110 && x <= 210)&&(y >= 86 && y <= 186)) {
charlyo 13:385d1df93acc 48 touched_left++;
charlyo 13:385d1df93acc 49 temp_string.str("");
charlyo 13:385d1df93acc 50 temp_string << touched_left;
charlyo 13:385d1df93acc 51 lcd.DisplayStringAt(400, LINE(1), (uint8_t *)temp_string.str().c_str(), CENTER_MODE);
charlyo 13:385d1df93acc 52 thethings.thingWrite("demo", "1");
charlyo 13:385d1df93acc 53 } else if ((x >= 270 && x <= 370)&&(y >= 86 && y <= 186)) {
charlyo 13:385d1df93acc 54 touched_right++;
charlyo 13:385d1df93acc 55 temp_string.str("");
charlyo 13:385d1df93acc 56 temp_string << touched_right;
charlyo 13:385d1df93acc 57 lcd.DisplayStringAt(110, LINE(1), (uint8_t *)temp_string.str().c_str(), CENTER_MODE);
charlyo 13:385d1df93acc 58 thethings.thingWrite("demo", "2");
charlyo 13:385d1df93acc 59 }
charlyo 13:385d1df93acc 60 }
charlyo 13:385d1df93acc 61 x_ant = x;
charlyo 13:385d1df93acc 62 y_ant = y;
charlyo 13:385d1df93acc 63 }
NegativeBlack 8:d55cac25e637 64 }
NegativeBlack 6:33b57f606f2b 65 }