Fork from ST-Expansion-Sw-Team Repo.

Dependencies:   VL53L1X_mbed

Dependents:  

Committer:
johnAlexander
Date:
Mon Nov 02 14:09:59 2020 +0000
Revision:
28:b3aa04ca507c
Parent:
22:27f00d9b777b
Move to use VL53L1X_mbed sensor class lib.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JerrySzczurak 22:27f00d9b777b 1 #include "XNucleo53L1A1.h"
JerrySzczurak 22:27f00d9b777b 2
JerrySzczurak 22:27f00d9b777b 3 XNucleo53L1A1 *XNucleo53L1A1::_instance = NULL;
JerrySzczurak 22:27f00d9b777b 4
JerrySzczurak 22:27f00d9b777b 5
johnAlexander 28:b3aa04ca507c 6 XNucleo53L1A1 *XNucleo53L1A1::instance(VL53L1X_DevI2C *ext_i2c)
JerrySzczurak 22:27f00d9b777b 7 {
JerrySzczurak 22:27f00d9b777b 8 if (_instance == NULL) {
JerrySzczurak 22:27f00d9b777b 9 _instance = new XNucleo53L1A1(ext_i2c);
JerrySzczurak 22:27f00d9b777b 10 } else {
JerrySzczurak 22:27f00d9b777b 11 printf("Failed to create XNucleo53L1A1 instance\n\r\r\n");
JerrySzczurak 22:27f00d9b777b 12 }
JerrySzczurak 22:27f00d9b777b 13 return _instance;
JerrySzczurak 22:27f00d9b777b 14 }
JerrySzczurak 22:27f00d9b777b 15
johnAlexander 28:b3aa04ca507c 16 XNucleo53L1A1 *XNucleo53L1A1::instance(VL53L1X_DevI2C *ext_i2c,
JerrySzczurak 22:27f00d9b777b 17 PinName gpio1_centre,
JerrySzczurak 22:27f00d9b777b 18 PinName gpio1_left, PinName gpio1_right)
JerrySzczurak 22:27f00d9b777b 19 {
JerrySzczurak 22:27f00d9b777b 20 if (_instance == NULL) {
JerrySzczurak 22:27f00d9b777b 21 _instance = new XNucleo53L1A1(ext_i2c, gpio1_centre, gpio1_left, gpio1_right);
JerrySzczurak 22:27f00d9b777b 22 } else {
JerrySzczurak 22:27f00d9b777b 23 printf("Failed to create XNucleo53L0A1 instance\n\r");
JerrySzczurak 22:27f00d9b777b 24 }
JerrySzczurak 22:27f00d9b777b 25 return _instance;
JerrySzczurak 22:27f00d9b777b 26 }
JerrySzczurak 22:27f00d9b777b 27
JerrySzczurak 22:27f00d9b777b 28
JerrySzczurak 22:27f00d9b777b 29 int XNucleo53L1A1::init_board()
JerrySzczurak 22:27f00d9b777b 30 {
JerrySzczurak 22:27f00d9b777b 31 int status, n_dev = 0;
JerrySzczurak 22:27f00d9b777b 32
johnAlexander 28:b3aa04ca507c 33 sensor_centre->vl53l1_off();
johnAlexander 28:b3aa04ca507c 34 sensor_left->vl53l1_off();
johnAlexander 28:b3aa04ca507c 35 sensor_right->vl53l1_off();
johnAlexander 28:b3aa04ca507c 36 status = sensor_centre->init_sensor(NEW_SENSOR_CENTRE_ADDRESS);
JerrySzczurak 22:27f00d9b777b 37 if (status) {
JerrySzczurak 22:27f00d9b777b 38 delete sensor_centre;
JerrySzczurak 22:27f00d9b777b 39 delete xshutdown_centre;
JerrySzczurak 22:27f00d9b777b 40 sensor_centre = NULL;
JerrySzczurak 22:27f00d9b777b 41 xshutdown_centre = NULL;
JerrySzczurak 22:27f00d9b777b 42 printf("Sensor centre not present\n\r");
JerrySzczurak 22:27f00d9b777b 43 } else {
JerrySzczurak 22:27f00d9b777b 44 printf("Sensor centre present\n\r");
JerrySzczurak 22:27f00d9b777b 45 n_dev++;
JerrySzczurak 22:27f00d9b777b 46 }
JerrySzczurak 22:27f00d9b777b 47
johnAlexander 28:b3aa04ca507c 48 status = sensor_left->init_sensor(NEW_SENSOR_LEFT_ADDRESS);
JerrySzczurak 22:27f00d9b777b 49 if (status) {
JerrySzczurak 22:27f00d9b777b 50 delete sensor_left;
JerrySzczurak 22:27f00d9b777b 51 delete xshutdown_left;
JerrySzczurak 22:27f00d9b777b 52 sensor_left = NULL;
JerrySzczurak 22:27f00d9b777b 53 xshutdown_left = NULL;
JerrySzczurak 22:27f00d9b777b 54 printf("Sensor left not present\n\r");
JerrySzczurak 22:27f00d9b777b 55 } else {
JerrySzczurak 22:27f00d9b777b 56 printf("Sensor left present\n\r");
JerrySzczurak 22:27f00d9b777b 57 n_dev++;
JerrySzczurak 22:27f00d9b777b 58 }
JerrySzczurak 22:27f00d9b777b 59
johnAlexander 28:b3aa04ca507c 60 status = sensor_right->init_sensor(NEW_SENSOR_RIGHT_ADDRESS);
JerrySzczurak 22:27f00d9b777b 61 if (status) {
JerrySzczurak 22:27f00d9b777b 62 delete sensor_right;
JerrySzczurak 22:27f00d9b777b 63 delete xshutdown_right;
JerrySzczurak 22:27f00d9b777b 64 sensor_right = NULL;
JerrySzczurak 22:27f00d9b777b 65 xshutdown_right = NULL;
JerrySzczurak 22:27f00d9b777b 66 printf("Sensor right not present\n\r");
JerrySzczurak 22:27f00d9b777b 67 } else {
JerrySzczurak 22:27f00d9b777b 68 printf("Sensor right present\n\r");
JerrySzczurak 22:27f00d9b777b 69 n_dev++;
JerrySzczurak 22:27f00d9b777b 70 }
JerrySzczurak 22:27f00d9b777b 71
JerrySzczurak 22:27f00d9b777b 72 if (n_dev == 0) {
JerrySzczurak 22:27f00d9b777b 73 return 1;
JerrySzczurak 22:27f00d9b777b 74 } else {
JerrySzczurak 22:27f00d9b777b 75 return 0;
JerrySzczurak 22:27f00d9b777b 76 }
JerrySzczurak 22:27f00d9b777b 77 }