
Sweep a servo according to Proximity sensor measure
Dependencies: Servo X_NUCLEO_6180XA1 mbed
Fork of HelloWorld_6180XA1 by
main.cpp@8:4c05f7a5bb60, 2015-10-06 (annotated)
- Committer:
- gallonm
- Date:
- Tue Oct 06 09:09:03 2015 +0200
- Revision:
- 8:4c05f7a5bb60
- Parent:
- 7:865f0c23a183
- Child:
- 9:1d0e839edee8
Fitted the Init function to initialize the board and to prepare the measurements
Call StartMeasurement function
Added define to specify the operation mode
Range and light measure works correctly
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gallonm | 0:83c628a58feb | 1 | #include "mbed.h" |
gallonm | 8:4c05f7a5bb60 | 2 | #include "x_nucleo_6180xa1.h" |
gallonm | 0:83c628a58feb | 3 | |
gallonm | 4:ccd62fd7e137 | 4 | #include <string.h> |
gallonm | 4:ccd62fd7e137 | 5 | #include <stdlib.h> |
gallonm | 4:ccd62fd7e137 | 6 | #include <stdio.h> |
gallonm | 8:4c05f7a5bb60 | 7 | #include <assert.h> |
gallonm | 8:4c05f7a5bb60 | 8 | |
gallonm | 4:ccd62fd7e137 | 9 | |
gallonm | 5:fa65d931bd96 | 10 | #define VL6180X_I2C_SDA I2C_SDA |
gallonm | 5:fa65d931bd96 | 11 | #define VL6180X_I2C_SCL I2C_SCL |
gallonm | 5:fa65d931bd96 | 12 | |
gallonm | 8:4c05f7a5bb60 | 13 | //devo wrappare le funzioni del api.c |
gallonm | 8:4c05f7a5bb60 | 14 | //posso creare un`unica funzione che dal main chiama la misura di distanza o luce |
gallonm | 8:4c05f7a5bb60 | 15 | //gestisco all`interno della classe sensore con uno switch case e slezionare quindi la modalita di misura |
gallonm | 8:4c05f7a5bb60 | 16 | //nel main posso definire con dei define i valori (dello switch case) che permettono di selezionare le varie modalita |
gallonm | 5:fa65d931bd96 | 17 | |
gallonm | 8:4c05f7a5bb60 | 18 | #define RANGE_SINGLE_SHOT 1 |
gallonm | 8:4c05f7a5bb60 | 19 | #define ALS_SINGLE_SHOT 2 |
gallonm | 8:4c05f7a5bb60 | 20 | #define RANGE_CONTINUOUS 3 |
gallonm | 8:4c05f7a5bb60 | 21 | #define ALS_CONTINUOUS 4 |
gallonm | 8:4c05f7a5bb60 | 22 | #define RANGE_CONTINUOUS_ALS_SINGLE_SHOT 5 |
gallonm | 8:4c05f7a5bb60 | 23 | #define RANGE_SINGLE_SHOT_ALS_CONTINUOUS 6 |
gallonm | 8:4c05f7a5bb60 | 24 | #define INTERLEAVED MODE 7 |
gallonm | 5:fa65d931bd96 | 25 | |
gallonm | 4:ccd62fd7e137 | 26 | void OnErrLog(void){}; |
gallonm | 5:fa65d931bd96 | 27 | void DISP_ExecLoopBody(void){}; |
gallonm | 0:83c628a58feb | 28 | |
gallonm | 8:4c05f7a5bb60 | 29 | DevI2C device_i2c(VL6180X_I2C_SDA, VL6180X_I2C_SCL); |
gallonm | 8:4c05f7a5bb60 | 30 | static X_NUCLEO_6180XA1 *board=X_NUCLEO_6180XA1::Instance(&device_i2c); |
gallonm | 8:4c05f7a5bb60 | 31 | |
gallonm | 4:ccd62fd7e137 | 32 | int main() |
gallonm | 5:fa65d931bd96 | 33 | { |
gallonm | 8:4c05f7a5bb60 | 34 | /* |
gallonm | 8:4c05f7a5bb60 | 35 | uint8_t buf[8]={1,1,1,0,0,0,0,0}; |
gallonm | 8:4c05f7a5bb60 | 36 | |
gallonm | 5:fa65d931bd96 | 37 | uint8_t x=0xFF; |
gallonm | 5:fa65d931bd96 | 38 | uint8_t y=0xF7; |
gallonm | 5:fa65d931bd96 | 39 | uint8_t z=0x80; |
gallonm | 5:fa65d931bd96 | 40 | uint8_t k=0x17; |
gallonm | 8:4c05f7a5bb60 | 41 | uint8_t g=0xE7; |
gallonm | 5:fa65d931bd96 | 42 | |
gallonm | 5:fa65d931bd96 | 43 | //imposto GPIO di input e output |
gallonm | 5:fa65d931bd96 | 44 | device_i2c.i2c_write(&x, 0x42*2, 0x14, 1); |
gallonm | 5:fa65d931bd96 | 45 | device_i2c.i2c_write(&y, 0x42*2, 0x15, 1); |
gallonm | 5:fa65d931bd96 | 46 | //disabilito i display e abilito il GPIO0 del sensore top |
gallonm | 5:fa65d931bd96 | 47 | device_i2c.i2c_write(&z, 0x42*2, 0x12, 1); |
gallonm | 5:fa65d931bd96 | 48 | device_i2c.i2c_write(&g, 0x42*2, 0x13, 1); //spengo gpio0 |
gallonm | 5:fa65d931bd96 | 49 | device_i2c.i2c_write(&k, 0x42*2, 0x13, 1); //accendo gpio0 |
gallonm | 8:4c05f7a5bb60 | 50 | */ |
gallonm | 5:fa65d931bd96 | 51 | |
gallonm | 5:fa65d931bd96 | 52 | |
gallonm | 5:fa65d931bd96 | 53 | |
gallonm | 8:4c05f7a5bb60 | 54 | //X_NUCLEO_6180XA1 board(&device_i2c); |
gallonm | 5:fa65d931bd96 | 55 | |
gallonm | 8:4c05f7a5bb60 | 56 | board->InitBoard(); |
gallonm | 8:4c05f7a5bb60 | 57 | board->sensor_top->StartMeasurement(RANGE_SINGLE_SHOT); |
gallonm | 8:4c05f7a5bb60 | 58 | |
gallonm | 8:4c05f7a5bb60 | 59 | //board.~X_NUCLEO_6180XA1(); |
gallonm | 5:fa65d931bd96 | 60 | |
gallonm | 4:ccd62fd7e137 | 61 | } |
gallonm | 5:fa65d931bd96 | 62 | |
gallonm | 5:fa65d931bd96 | 63 | |
gallonm | 5:fa65d931bd96 | 64 |