with the tof code
Dependencies: mbed Servo ros_lib_kinetic
main.cpp@0:6021ec1b1449, 2019-10-22 (annotated)
- 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?
User | Revision | Line number | New 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 | } |