Dependencies: X_NUCLEO_53L0A1 mbed
Fork of HelloWorld_53L0A1 by
main.cpp@13:d55d8159dd3c, 2018-03-26 (annotated)
- Committer:
- kenken0721
- Date:
- Mon Mar 26 08:08:10 2018 +0000
- Revision:
- 13:d55d8159dd3c
- Parent:
- 10:891e10d3b4a6
?
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
johnAlexander | 0:ce8359133ae6 | 1 | #include "mbed.h" |
Davidroid | 10:891e10d3b4a6 | 2 | #include "XNucleo53L0A1.h" |
johnAlexander | 0:ce8359133ae6 | 3 | #include <stdio.h> |
johnAlexander | 0:ce8359133ae6 | 4 | |
kenken0721 | 13:d55d8159dd3c | 5 | #define VL53L0_I2C_SDA D4 |
kenken0721 | 13:d55d8159dd3c | 6 | #define VL53L0_I2C_SCL D5 |
johnAlexander | 0:ce8359133ae6 | 7 | |
Davidroid | 10:891e10d3b4a6 | 8 | static XNucleo53L0A1 *board=NULL; |
kenken0721 | 13:d55d8159dd3c | 9 | DigitalOut dout(D8); |
kenken0721 | 13:d55d8159dd3c | 10 | DigitalOut Led(D13); |
kenken0721 | 13:d55d8159dd3c | 11 | int count = 0; |
johnAlexander | 1:3483e701ec59 | 12 | |
johnAlexander | 0:ce8359133ae6 | 13 | |
kenken0721 | 13:d55d8159dd3c | 14 | int main(){ |
kenken0721 | 13:d55d8159dd3c | 15 | int status; |
kenken0721 | 13:d55d8159dd3c | 16 | uint32_t distance = 0; |
johnAlexander | 3:b3f70617a6b3 | 17 | |
johnAlexander | 7:c8087e7333b8 | 18 | DevI2C *device_i2c = new DevI2C(VL53L0_I2C_SDA, VL53L0_I2C_SCL); |
johnAlexander | 9:9733cfdb0a18 | 19 | |
Davidroid | 10:891e10d3b4a6 | 20 | board = XNucleo53L0A1::instance(device_i2c, A2, D8, D2); |
johnAlexander | 7:c8087e7333b8 | 21 | status = board->init_board(); |
johnAlexander | 9:9733cfdb0a18 | 22 | if (status) { |
johnAlexander | 7:c8087e7333b8 | 23 | return 0; |
johnAlexander | 7:c8087e7333b8 | 24 | } |
kenken0721 | 13:d55d8159dd3c | 25 | dout = 0.0; |
kenken0721 | 13:d55d8159dd3c | 26 | Led = 0.0; |
kenken0721 | 13:d55d8159dd3c | 27 | while (1) { |
johnAlexander | 7:c8087e7333b8 | 28 | status = board->sensor_centre->get_distance(&distance); |
johnAlexander | 9:9733cfdb0a18 | 29 | if (status == VL53L0X_ERROR_NONE) { |
kenken0721 | 13:d55d8159dd3c | 30 | if(distance <= 100){ |
kenken0721 | 13:d55d8159dd3c | 31 | count++; |
kenken0721 | 13:d55d8159dd3c | 32 | }else{ |
kenken0721 | 13:d55d8159dd3c | 33 | count--; |
kenken0721 | 13:d55d8159dd3c | 34 | } |
kenken0721 | 13:d55d8159dd3c | 35 | }else{ |
kenken0721 | 13:d55d8159dd3c | 36 | count--; |
johnAlexander | 7:c8087e7333b8 | 37 | } |
kenken0721 | 13:d55d8159dd3c | 38 | if(count >= 20){ |
kenken0721 | 13:d55d8159dd3c | 39 | count = 20; |
kenken0721 | 13:d55d8159dd3c | 40 | }else if(count <= -10){ |
kenken0721 | 13:d55d8159dd3c | 41 | count = -10; |
kenken0721 | 13:d55d8159dd3c | 42 | } |
kenken0721 | 13:d55d8159dd3c | 43 | if(count >= 10){ |
kenken0721 | 13:d55d8159dd3c | 44 | dout = 1.0; |
kenken0721 | 13:d55d8159dd3c | 45 | Led = 1.0; |
kenken0721 | 13:d55d8159dd3c | 46 | }else if(count <= 0){ |
kenken0721 | 13:d55d8159dd3c | 47 | dout = 0.0; |
kenken0721 | 13:d55d8159dd3c | 48 | Led = 0.0; |
kenken0721 | 13:d55d8159dd3c | 49 | } |
kenken0721 | 13:d55d8159dd3c | 50 | } |
johnAlexander | 0:ce8359133ae6 | 51 | } |