拓郎 松坂
/
LPC1768_Multi_VL53L0X
offline test
main.cpp@1:5bb2524b423c, 2018-11-27 (annotated)
- Committer:
- matu_cat0618
- Date:
- Tue Nov 27 02:34:21 2018 +0000
- Revision:
- 1:5bb2524b423c
- Parent:
- 0:c543582b78b1
offline test;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jkjk010695 | 0:c543582b78b1 | 1 | #include "mbed.h" |
jkjk010695 | 0:c543582b78b1 | 2 | #include "VL53L0X.h" |
jkjk010695 | 0:c543582b78b1 | 3 | |
jkjk010695 | 0:c543582b78b1 | 4 | #define range1_addr (0x56) |
jkjk010695 | 0:c543582b78b1 | 5 | #define range2_addr (0x60) |
matu_cat0618 | 1:5bb2524b423c | 6 | #define range1_XSHUT p8 //D7 |
matu_cat0618 | 1:5bb2524b423c | 7 | #define range2_XSHUT p9 //D8 |
matu_cat0618 | 1:5bb2524b423c | 8 | #define VL53L0_I2C_SDA p28 //D14 |
matu_cat0618 | 1:5bb2524b423c | 9 | #define VL53L0_I2C_SCL p27 //D15 |
jkjk010695 | 0:c543582b78b1 | 10 | |
matu_cat0618 | 1:5bb2524b423c | 11 | Serial pc(USBTX, USBRX); |
matu_cat0618 | 1:5bb2524b423c | 12 | Timer t; |
jkjk010695 | 0:c543582b78b1 | 13 | static DevI2C devI2c(VL53L0_I2C_SDA,VL53L0_I2C_SCL); |
jkjk010695 | 0:c543582b78b1 | 14 | |
jkjk010695 | 0:c543582b78b1 | 15 | int main() |
jkjk010695 | 0:c543582b78b1 | 16 | { |
jkjk010695 | 0:c543582b78b1 | 17 | /*Contruct the sensors*/ |
jkjk010695 | 0:c543582b78b1 | 18 | static DigitalOut shutdown1_pin(range1_XSHUT); |
jkjk010695 | 0:c543582b78b1 | 19 | static VL53L0X range1(&devI2c, &shutdown1_pin, NC); |
jkjk010695 | 0:c543582b78b1 | 20 | static DigitalOut shutdown2_pin(range2_XSHUT); |
jkjk010695 | 0:c543582b78b1 | 21 | static VL53L0X range2(&devI2c, &shutdown2_pin, NC); |
jkjk010695 | 0:c543582b78b1 | 22 | /*Initial all sensors*/ |
jkjk010695 | 0:c543582b78b1 | 23 | range1.init_sensor(range1_addr); |
jkjk010695 | 0:c543582b78b1 | 24 | range2.init_sensor(range2_addr); |
jkjk010695 | 0:c543582b78b1 | 25 | |
jkjk010695 | 0:c543582b78b1 | 26 | /*Get datas*/ |
jkjk010695 | 0:c543582b78b1 | 27 | uint32_t distance1; |
jkjk010695 | 0:c543582b78b1 | 28 | uint32_t distance2; |
jkjk010695 | 0:c543582b78b1 | 29 | int status1; |
jkjk010695 | 0:c543582b78b1 | 30 | int status2; |
matu_cat0618 | 1:5bb2524b423c | 31 | uint32_t tm_all_work; |
matu_cat0618 | 1:5bb2524b423c | 32 | |
jkjk010695 | 0:c543582b78b1 | 33 | while(1){ |
matu_cat0618 | 1:5bb2524b423c | 34 | t.reset(); |
matu_cat0618 | 1:5bb2524b423c | 35 | t.start(); |
jkjk010695 | 0:c543582b78b1 | 36 | status1 = range1.get_distance(&distance1); |
jkjk010695 | 0:c543582b78b1 | 37 | if (status1 == VL53L0X_ERROR_NONE) { |
matu_cat0618 | 1:5bb2524b423c | 38 | printf("Range1 [mm]: %6ld ", distance1); |
jkjk010695 | 0:c543582b78b1 | 39 | } else { |
matu_cat0618 | 1:5bb2524b423c | 40 | printf("Range1 [mm]: -- "); |
jkjk010695 | 0:c543582b78b1 | 41 | } |
jkjk010695 | 0:c543582b78b1 | 42 | |
jkjk010695 | 0:c543582b78b1 | 43 | status2 = range2.get_distance(&distance2); |
jkjk010695 | 0:c543582b78b1 | 44 | if (status2 == VL53L0X_ERROR_NONE) { |
matu_cat0618 | 1:5bb2524b423c | 45 | printf("Range2 [mm]: %6ld\r\n", distance2); |
jkjk010695 | 0:c543582b78b1 | 46 | } else { |
matu_cat0618 | 1:5bb2524b423c | 47 | printf("Range2 [mm]: --\r\n"); |
jkjk010695 | 0:c543582b78b1 | 48 | } |
matu_cat0618 | 1:5bb2524b423c | 49 | tm_all_work = t.read_ms(); |
matu_cat0618 | 1:5bb2524b423c | 50 | if (tm_all_work < 99){ |
matu_cat0618 | 1:5bb2524b423c | 51 | wait_ms(100 - tm_all_work); |
matu_cat0618 | 1:5bb2524b423c | 52 | } |
matu_cat0618 | 1:5bb2524b423c | 53 | pc.printf(" %d \r\n", tm_all_work); |
jkjk010695 | 0:c543582b78b1 | 54 | } |
jkjk010695 | 0:c543582b78b1 | 55 | |
jkjk010695 | 0:c543582b78b1 | 56 | } |
jkjk010695 | 0:c543582b78b1 | 57 |