with the tof code

Dependencies:   mbed Servo ros_lib_kinetic

Committer:
Stumi
Date:
Tue Oct 22 11:56:57 2019 +0000
Revision:
0:6021ec1b1449
Child:
1:9bc7f95c3c7d
Working two sensors

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Stumi 0:6021ec1b1449 1 /*--------------------------------------------------------------------------------
Stumi 0:6021ec1b1449 2 Filename: main.cpp
Stumi 0:6021ec1b1449 3 Description: Main program loop
Stumi 0:6021ec1b1449 4 --------------------------------------------------------------------------------*/
Stumi 0:6021ec1b1449 5 #include "mbed.h"
Stumi 0:6021ec1b1449 6 #include "TOF.h"
Stumi 0:6021ec1b1449 7
Stumi 0:6021ec1b1449 8 Serial pc(SERIAL_TX, SERIAL_RX, 9600); // set-up serial to pc
Stumi 0:6021ec1b1449 9 cAdafruit_VL6180X VL6180X; //Define TOF sensor class
Stumi 0:6021ec1b1449 10
Stumi 0:6021ec1b1449 11 DigitalOut CS1(PC_8);
Stumi 0:6021ec1b1449 12 DigitalOut CS2(PC_9);
Stumi 0:6021ec1b1449 13
Stumi 0:6021ec1b1449 14 int main()
Stumi 0:6021ec1b1449 15 {
Stumi 0:6021ec1b1449 16 int range1, range2;
Stumi 0:6021ec1b1449 17
Stumi 0:6021ec1b1449 18 CS1 = 0;
Stumi 0:6021ec1b1449 19 CS2 = 0;
Stumi 0:6021ec1b1449 20 wait(0.01);
Stumi 0:6021ec1b1449 21
Stumi 0:6021ec1b1449 22 CS1 = 1;
Stumi 0:6021ec1b1449 23 wait(0.01);
Stumi 0:6021ec1b1449 24 VL6180X.Setup(DEFAULT_ADDRESS, ADDRESS1);
Stumi 0:6021ec1b1449 25 VL6180X.Init(ADDRESS1);
Stumi 0:6021ec1b1449 26 VL6180X.Start_Range(ADDRESS1);
Stumi 0:6021ec1b1449 27
Stumi 0:6021ec1b1449 28 CS2 = 1;
Stumi 0:6021ec1b1449 29 wait(0.01);
Stumi 0:6021ec1b1449 30 VL6180X.Setup(DEFAULT_ADDRESS, ADDRESS2);
Stumi 0:6021ec1b1449 31 VL6180X.Init(ADDRESS2);
Stumi 0:6021ec1b1449 32 VL6180X.Start_Range(ADDRESS2);
Stumi 0:6021ec1b1449 33
Stumi 0:6021ec1b1449 34
Stumi 0:6021ec1b1449 35
Stumi 0:6021ec1b1449 36 pc.printf("INITIALISED\n\r");
Stumi 0:6021ec1b1449 37
Stumi 0:6021ec1b1449 38 while(1) {
Stumi 0:6021ec1b1449 39
Stumi 0:6021ec1b1449 40 // poll the VL6180X till new sample ready
Stumi 0:6021ec1b1449 41 VL6180X.Poll_Range(ADDRESS1);
Stumi 0:6021ec1b1449 42 pc.printf("POLL1");
Stumi 0:6021ec1b1449 43
Stumi 0:6021ec1b1449 44 // read range result
Stumi 0:6021ec1b1449 45 range1 = VL6180X.Read_Range(ADDRESS1);
Stumi 0:6021ec1b1449 46 pc.printf("READ RANGE1");
Stumi 0:6021ec1b1449 47
Stumi 0:6021ec1b1449 48 // clear the interrupt on VL6180X
Stumi 0:6021ec1b1449 49 VL6180X.Clear_Interrupts(ADDRESS1);
Stumi 0:6021ec1b1449 50 pc.printf("READRANGE1");
Stumi 0:6021ec1b1449 51
Stumi 0:6021ec1b1449 52 // poll the VL6180X till new sample ready
Stumi 0:6021ec1b1449 53 VL6180X.Poll_Range(ADDRESS2);
Stumi 0:6021ec1b1449 54 pc.printf("POLL2");
Stumi 0:6021ec1b1449 55
Stumi 0:6021ec1b1449 56 // read range result
Stumi 0:6021ec1b1449 57 range2 = VL6180X.Read_Range(ADDRESS2);
Stumi 0:6021ec1b1449 58 pc.printf("READ RANGE2");
Stumi 0:6021ec1b1449 59
Stumi 0:6021ec1b1449 60 // clear the interrupt on VL6180X
Stumi 0:6021ec1b1449 61 VL6180X.Clear_Interrupts(ADDRESS2);
Stumi 0:6021ec1b1449 62 pc.printf("READRANGE2");
Stumi 0:6021ec1b1449 63
Stumi 0:6021ec1b1449 64 // send range to pc by serial
Stumi 0:6021ec1b1449 65 pc.printf("SENSOR1:%d SENSOR2: %d\r\n", range1, range2);
Stumi 0:6021ec1b1449 66 wait(0.1);
Stumi 0:6021ec1b1449 67 }
Stumi 0:6021ec1b1449 68 }