Changes to the library related to interrupt mode.
Dependencies: ST_INTERFACES X_NUCLEO_COMMON
Dependents: Display_53L0A1_IntSatelites Display_53L0A1_InterruptMode
Fork of X_NUCLEO_53L0A1 by
Revision 12:820afb1af4ef, committed 2017-06-14
- Comitter:
- JerrySzczurak
- Date:
- Wed Jun 14 14:10:45 2017 +0000
- Parent:
- 11:c955adfbb19b
- Commit message:
- Library change to work in interrupt continuous ranging mode
Changed in this revision
| Components/VL53L0X/vl53l0x_class.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/Components/VL53L0X/vl53l0x_class.cpp Wed Jun 14 13:35:05 2017 +0000
+++ b/Components/VL53L0X/vl53l0x_class.cpp Wed Jun 14 14:10:45 2017 +0000
@@ -5191,23 +5191,31 @@
uint8_t preRangeVcselPeriod = 14;
uint8_t finalRangeVcselPeriod = 10;
- if (operating_mode == range_continuous_interrupt)
- {
+ if (operating_mode == range_continuous_interrupt)
+ {
if (gpio1Int==NULL)
{
- printf ("GPIO1 Error\r\n");
- return 1;
+ printf ("GPIO1 Error\r\n");
+ return 1;
}
printf ("Setting up GPIO Config\r\n");
- Status = VL53L0X_SetDeviceMode(Device, VL53L0X_DEVICEMODE_GPIO_DRIVE);
- if (Status == VL53L0X_ERROR_NONE) {
- Status = RangeConfigInterrupt(VL53L0X_REG_SYSTEM_INTERRUPT_GPIO_NEW_SAMPLE_READY);
- }
- if (Status == VL53L0X_ERROR_NONE) {
- Status = RangeMeasIntContinuousMode(fptr);
- }
- return Status;
- }
+ Status = VL53L0X_SetDeviceMode(Device, VL53L0X_DEVICEMODE_CONTINUOUS_RANGING);
+
+ if (Status == VL53L0X_ERROR_NONE) {
+ Status = RangeConfigInterrupt(VL53L0X_REG_SYSTEM_INTERRUPT_GPIO_NEW_SAMPLE_READY);
+ }
+ if (Status == VL53L0X_ERROR_NONE) {
+ Status = RangeMeasIntContinuousMode(fptr);
+ }
+
+ if(Status == VL53L0X_ERROR_NONE)
+ {
+ printf ("Call of VL53L0X_StartMeasurement\n");
+ Status = VL53L0X_StartMeasurement(Device);
+ }
+ return Status;
+ }
+
if (operating_mode == range_single_shot_polling)
{
// singelshot, polled ranging
