Lidar

Dependencies:   TS_DISCO_F746NG mbed BufferedSerial LCD_DISCO_F746NG mbed-rtos Trigo BSP_DISCO_F746NG

Committer:
Carminio
Date:
Wed Nov 23 16:18:07 2016 +0000
Revision:
1:1ff3fe3679c1
Parent:
0:88706d6abbf7
Child:
2:8f71c97fe9d7
Versione con pulsanti da sistemare

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Carminio 0:88706d6abbf7 1 #include "mbed.h"
Carminio 0:88706d6abbf7 2 #include "Serial.h"
Carminio 0:88706d6abbf7 3 #include "BufferedSerial.h"
Carminio 0:88706d6abbf7 4 #include "Communication.h"
Carminio 0:88706d6abbf7 5 #include "Motor.h"
Carminio 0:88706d6abbf7 6 #include <stdlib.h>
Carminio 0:88706d6abbf7 7 #include <stdio.h>
Carminio 0:88706d6abbf7 8 #include "LCD_DISCO_F746NG.h"
Carminio 1:1ff3fe3679c1 9 #include "TS_DISCO_F746NG.h"
Carminio 0:88706d6abbf7 10
Carminio 0:88706d6abbf7 11 //Dichiarazione oggetti
Carminio 0:88706d6abbf7 12 DigitalIn myStartButton(USER_BUTTON);
Carminio 0:88706d6abbf7 13 Motor lid_Motor(PWM_OUT);
Carminio 0:88706d6abbf7 14 Communication SendCommands;
Carminio 1:1ff3fe3679c1 15 LCD_DISCO_F746NG lcd;
Carminio 1:1ff3fe3679c1 16 TS_DISCO_F746NG ts;
Carminio 1:1ff3fe3679c1 17
Carminio 1:1ff3fe3679c1 18 //Dichiarazione variabili
Carminio 1:1ff3fe3679c1 19 uint16_t x, y;
Carminio 1:1ff3fe3679c1 20 uint8_t idx;
Carminio 0:88706d6abbf7 21
Carminio 0:88706d6abbf7 22 int main() {
Carminio 0:88706d6abbf7 23 // Initialize Display
Carminio 0:88706d6abbf7 24 lcd.Clear(LCD_COLOR_BLACK);
Carminio 0:88706d6abbf7 25 lcd.SetBackColor(LCD_COLOR_BLACK);
Carminio 0:88706d6abbf7 26 lcd.SetTextColor(LCD_COLOR_GREEN);
Carminio 0:88706d6abbf7 27 wait(0.3);
Carminio 0:88706d6abbf7 28 lcd.SetFont(&Font24);
Carminio 0:88706d6abbf7 29 lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"SLAMTEC LIDAR A2", CENTER_MODE);
Carminio 1:1ff3fe3679c1 30 // wait(2);
Carminio 1:1ff3fe3679c1 31 lcd.Clear(LCD_COLOR_BLACK);
Carminio 1:1ff3fe3679c1 32
Carminio 1:1ff3fe3679c1 33 // Configure buttons and TFT display
Carminio 1:1ff3fe3679c1 34 TS_StateTypeDef TS_State;
Carminio 1:1ff3fe3679c1 35 lcd.SetTextColor(LCD_COLOR_GREEN);
Carminio 1:1ff3fe3679c1 36 lcd.FillRect(10, 13, 50, 50); ///Disegna bottone Verde
Carminio 1:1ff3fe3679c1 37 //lcd.SetTextColor(LCD_COLOR_RED);
Carminio 1:1ff3fe3679c1 38 // lcd.FillRect(10, 80, 50, 50); ///Disegna bottone Rosso
Carminio 1:1ff3fe3679c1 39 lcd.SetFont(&Font16);
Carminio 1:1ff3fe3679c1 40 wait(0.3);
Carminio 1:1ff3fe3679c1 41 lcd.SetBackColor(LCD_COLOR_GREEN);
Carminio 1:1ff3fe3679c1 42 lcd.SetTextColor(LCD_COLOR_BLACK);
Carminio 1:1ff3fe3679c1 43 lcd.DisplayStringAt(13, LINE(2), (uint8_t *)"SCAN", LEFT_MODE);
Carminio 1:1ff3fe3679c1 44 //lcd.SetBackColor(LCD_COLOR_RED);
Carminio 1:1ff3fe3679c1 45 // lcd.SetTextColor(LCD_COLOR_BLACK);
Carminio 1:1ff3fe3679c1 46 // lcd.DisplayStringAt(13, LINE(6), (uint8_t *)"STOP", LEFT_MODE);
Carminio 0:88706d6abbf7 47
Carminio 0:88706d6abbf7 48 if (myStartButton == 1) {
Carminio 1:1ff3fe3679c1 49 // while(1) {
Carminio 1:1ff3fe3679c1 50
Carminio 1:1ff3fe3679c1 51 // Initialize TFT display
Carminio 1:1ff3fe3679c1 52 ts.GetState(&TS_State);
Carminio 1:1ff3fe3679c1 53 if (TS_State.touchDetected) {
Carminio 1:1ff3fe3679c1 54 for (idx = 0; idx < TS_State.touchDetected; idx++) {
Carminio 1:1ff3fe3679c1 55 x = TS_State.touchX[idx];
Carminio 1:1ff3fe3679c1 56 y = TS_State.touchY[idx];
Carminio 1:1ff3fe3679c1 57 }
Carminio 1:1ff3fe3679c1 58 // if((x>=10) && (x<=60) && (y>=13) && (y<=63)) {
Carminio 0:88706d6abbf7 59
Carminio 0:88706d6abbf7 60 // Initialize UART
Carminio 0:88706d6abbf7 61 SendCommands.confUART();
Carminio 0:88706d6abbf7 62
Carminio 0:88706d6abbf7 63 // Perform a device reset
Carminio 0:88706d6abbf7 64 // SendCommands.Reset();
Carminio 0:88706d6abbf7 65
Carminio 0:88706d6abbf7 66 // Send Get_Health command
Carminio 0:88706d6abbf7 67 // SendCommands.Get_Health();
Carminio 0:88706d6abbf7 68
Carminio 0:88706d6abbf7 69 // Send Get_Info command
Carminio 0:88706d6abbf7 70 // SendCommands.Get_Info();
Carminio 0:88706d6abbf7 71
Carminio 0:88706d6abbf7 72 // Start motor (PWM: Frequency 25KHz, Duty cycle 60%)
Carminio 0:88706d6abbf7 73 lid_Motor.StartMotor_Scan();
Carminio 0:88706d6abbf7 74
Carminio 0:88706d6abbf7 75 // Start scan
Carminio 0:88706d6abbf7 76 SendCommands.Scan();
Carminio 0:88706d6abbf7 77
Carminio 0:88706d6abbf7 78 // SendCommands.Stop();
Carminio 0:88706d6abbf7 79 // wait_ms(100);
Carminio 0:88706d6abbf7 80 // lid_Motor.StopMotor_Scan();
Carminio 1:1ff3fe3679c1 81 // }
Carminio 1:1ff3fe3679c1 82 }
Carminio 0:88706d6abbf7 83 }
Carminio 0:88706d6abbf7 84 }
Carminio 0:88706d6abbf7 85