Dependencies:   X_NUCLEO_53L0A1 mbed

Fork of HelloWorld_53L0A1 by ST

Committer:
kenken0721
Date:
Mon Mar 26 08:08:10 2018 +0000
Revision:
13:d55d8159dd3c
Parent:
10:891e10d3b4a6
?

Who changed what in which revision?

UserRevisionLine numberNew 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 }