Lidar

Dependencies:   TS_DISCO_F746NG mbed BufferedSerial LCD_DISCO_F746NG mbed-rtos Trigo BSP_DISCO_F746NG

Main.cpp

Committer:
Carminio
Date:
2016-11-23
Revision:
1:1ff3fe3679c1
Parent:
0:88706d6abbf7
Child:
2:8f71c97fe9d7

File content as of revision 1:1ff3fe3679c1:

#include "mbed.h"
#include "Serial.h"
#include "BufferedSerial.h"
#include "Communication.h"
#include "Motor.h"
#include <stdlib.h>
#include <stdio.h>
#include "LCD_DISCO_F746NG.h"
#include "TS_DISCO_F746NG.h"

//Dichiarazione oggetti
DigitalIn myStartButton(USER_BUTTON);
Motor lid_Motor(PWM_OUT);
Communication SendCommands;
LCD_DISCO_F746NG lcd;
TS_DISCO_F746NG ts;

//Dichiarazione variabili
uint16_t x, y;
uint8_t idx;

int main() {
//  Initialize Display
    lcd.Clear(LCD_COLOR_BLACK);
    lcd.SetBackColor(LCD_COLOR_BLACK);
    lcd.SetTextColor(LCD_COLOR_GREEN);
    wait(0.3);
    lcd.SetFont(&Font24);
    lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"SLAMTEC LIDAR A2", CENTER_MODE);
//    wait(2);
    lcd.Clear(LCD_COLOR_BLACK);
    
//  Configure buttons and TFT display
    TS_StateTypeDef TS_State;
    lcd.SetTextColor(LCD_COLOR_GREEN);
    lcd.FillRect(10, 13, 50, 50);  ///Disegna bottone Verde
    //lcd.SetTextColor(LCD_COLOR_RED);
//    lcd.FillRect(10, 80, 50, 50);  ///Disegna bottone Rosso
    lcd.SetFont(&Font16);
    wait(0.3);
    lcd.SetBackColor(LCD_COLOR_GREEN);
    lcd.SetTextColor(LCD_COLOR_BLACK);
    lcd.DisplayStringAt(13, LINE(2), (uint8_t *)"SCAN", LEFT_MODE);
    //lcd.SetBackColor(LCD_COLOR_RED);
//    lcd.SetTextColor(LCD_COLOR_BLACK);
//    lcd.DisplayStringAt(13, LINE(6), (uint8_t *)"STOP", LEFT_MODE);    
    
 if (myStartButton == 1) {
//  while(1) {
      
//    Initialize TFT display
      ts.GetState(&TS_State);
      if (TS_State.touchDetected) {
          for (idx = 0; idx < TS_State.touchDetected; idx++) {
                x = TS_State.touchX[idx];
                y = TS_State.touchY[idx];
          }
//     if((x>=10) && (x<=60) && (y>=13) && (y<=63)) {

//   Initialize UART
     SendCommands.confUART();

  // Perform a device reset
//   SendCommands.Reset();

  // Send Get_Health command
//   SendCommands.Get_Health();

  // Send Get_Info command
//   SendCommands.Get_Info();

  // Start motor (PWM: Frequency 25KHz, Duty cycle 60%)
     lid_Motor.StartMotor_Scan();

//   Start scan
     SendCommands.Scan();

//   SendCommands.Stop();
//   wait_ms(100);
//   lid_Motor.StopMotor_Scan();
//        }
    }
 }
}