Simple test application for the STMicrolectronics' X-NUCLEO-6180XA1 Proximity and ambient light sensor expansion board.
Dependencies: X_NUCLEO_6180XA1 mbed
Fork of HelloWorld_6180XA1 by
X-Nucleo-6180XA1 Hello World Application
This application provides a simple example of usage of X_NUCLEO_6180XA1 library. It provides a measurement of:
- Ambient Light (Lux),
- Distance (millimeters) of an object in front of the on-board sensor.
The values are displayed on the Hyperterminal connected through COM port over USB.
main.cpp
- Committer:
- nikapov
- Date:
- 2017-08-21
- Revision:
- 48:bcdd2adea662
- Parent:
- 47:04733a0905ba
File content as of revision 48:bcdd2adea662:
/*
This VL6180X Expansion board test application performs a range measurement
and als measurement in polling mode on the onboard embedded top sensor.
The result of both the measures are printed on the serial over.
get_distance() and get_lux() are synchronous! They block the caller until the
result will be ready.
*/
/* Includes ------------------------------------------------------------------*/
#include "mbed.h"
#include "XNucleo6180XA1.h"
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
/* Definitions ---------------------------------------------------------------*/
#define VL6180X_I2C_SDA D14
#define VL6180X_I2C_SCL D15
/* Variables -----------------------------------------------------------------*/
static XNucleo6180XA1 *board = NULL;
/* Functions -----------------------------------------------------------------*/
/*=================================== Main ==================================
Prints on the serial over USB the measured distance and lux.
The measures are run in single shot polling mode.
=============================================================================*/
int main()
{
int status;
uint32_t lux, dist;
DevI2C *device_i2c = new DevI2C(VL6180X_I2C_SDA, VL6180X_I2C_SCL);
/* Creates the 6180XA1 expansion board singleton obj. */
board = XNucleo6180XA1::instance(device_i2c, A3, A2, D13, D2);
/* Initializes the 6180XA1 expansion board with default values. */
status = board->init_board();
if (status) {
printf("Failed to init board!\n\r");
return 0;
}
while (true) {
board->sensor_top->get_distance(&dist);
board->sensor_top->get_lux(&lux);
printf ("Distance: %d, Lux: %d\n\r", dist, lux);
}
}

X-NUCLEO-6180XA1 Proximity and Ambient Light Sensor