Rename library

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Dependents:   VL53L3CX_NoShield_1Sensor_poll_Mb06x VL53L3_NoShield_1Sensor_polling_Mb63 X_NUCLEO_53L3A2 53L3A2_Ranging

Committer:
Charles MacNeill
Date:
Wed Jul 14 12:45:49 2021 +0100
Revision:
5:89031b2f5316
The class files now just are wrappers for the files in the "MODULES" directory.The porting directory includes the mbed interface

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Charles MacNeill 5:89031b2f5316 1 #include "ToF_I2C.h"
Charles MacNeill 5:89031b2f5316 2 #include "pinmap.h"
Charles MacNeill 5:89031b2f5316 3 #include "spi_interface.h"
Charles MacNeill 5:89031b2f5316 4
Charles MacNeill 5:89031b2f5316 5
Charles MacNeill 5:89031b2f5316 6 static InterruptIn *_gpio1Int;
Charles MacNeill 5:89031b2f5316 7
Charles MacNeill 5:89031b2f5316 8
Charles MacNeill 5:89031b2f5316 9 /* This file is an interface between the c files and the mbed cpp files. */
Charles MacNeill 5:89031b2f5316 10 /* .c files cannot directly access mbed. */
Charles MacNeill 5:89031b2f5316 11
Charles MacNeill 5:89031b2f5316 12 int v53l1x_i2c_write_if(uint8_t* pBuffer, uint8_t DeviceAddr, uint16_t RegisterAddr,
Charles MacNeill 5:89031b2f5316 13 uint16_t NumByteToWrite)
Charles MacNeill 5:89031b2f5316 14 {
Charles MacNeill 5:89031b2f5316 15
Charles MacNeill 5:89031b2f5316 16 static ToF_DevI2C *dev_I2C = new ToF_DevI2C(D14, D15);
Charles MacNeill 5:89031b2f5316 17
Charles MacNeill 5:89031b2f5316 18 dev_I2C->frequency(400000);
Charles MacNeill 5:89031b2f5316 19
Charles MacNeill 5:89031b2f5316 20 // printf("----ToF_i2c_write %d %d %d %d\n", DeviceAddr, RegisterAddr,NumByteToWrite ,pBuffer[0]);
Charles MacNeill 5:89031b2f5316 21 int status = dev_I2C->ToF_i2c_write(pBuffer, DeviceAddr, RegisterAddr, NumByteToWrite);
Charles MacNeill 5:89031b2f5316 22 // printf("----ToF_i2c_write %d %d %d %d %d\n",status, DeviceAddr, RegisterAddr,NumByteToWrite ,pBuffer[0]);
Charles MacNeill 5:89031b2f5316 23
Charles MacNeill 5:89031b2f5316 24
Charles MacNeill 5:89031b2f5316 25 return status;
Charles MacNeill 5:89031b2f5316 26 }
Charles MacNeill 5:89031b2f5316 27
Charles MacNeill 5:89031b2f5316 28 int v53l1x_i2c_write_direct(uint8_t* pBuffer, uint8_t DeviceAddr,
Charles MacNeill 5:89031b2f5316 29 uint16_t NumByteToWrite)
Charles MacNeill 5:89031b2f5316 30 {
Charles MacNeill 5:89031b2f5316 31
Charles MacNeill 5:89031b2f5316 32 static ToF_DevI2C *dev_I2C = new ToF_DevI2C(D14, D15);
Charles MacNeill 5:89031b2f5316 33
Charles MacNeill 5:89031b2f5316 34 dev_I2C->frequency(400000);
Charles MacNeill 5:89031b2f5316 35
Charles MacNeill 5:89031b2f5316 36 // printf("v53l1x_i2c_write_if %d\n",NumByteToWrite);
Charles MacNeill 5:89031b2f5316 37 int status = dev_I2C->ToF_i2c_write_direct(pBuffer, DeviceAddr, NumByteToWrite);
Charles MacNeill 5:89031b2f5316 38 // printf("----ToF_i2c_write_direct %d %d %d %d %d\n",status, DeviceAddr,NumByteToWrite ,pBuffer[0]);
Charles MacNeill 5:89031b2f5316 39
Charles MacNeill 5:89031b2f5316 40 return status;
Charles MacNeill 5:89031b2f5316 41 }
Charles MacNeill 5:89031b2f5316 42
Charles MacNeill 5:89031b2f5316 43
Charles MacNeill 5:89031b2f5316 44
Charles MacNeill 5:89031b2f5316 45
Charles MacNeill 5:89031b2f5316 46 int v53l1x_i2c_read_if(uint8_t* pBuffer, uint8_t DeviceAddr, uint16_t RegisterAddr,
Charles MacNeill 5:89031b2f5316 47 uint16_t NumByteToRead)
Charles MacNeill 5:89031b2f5316 48 {
Charles MacNeill 5:89031b2f5316 49
Charles MacNeill 5:89031b2f5316 50
Charles MacNeill 5:89031b2f5316 51 static ToF_DevI2C *dev_I2C = new ToF_DevI2C(D14, D15);
Charles MacNeill 5:89031b2f5316 52 if (dev_I2C == NULL)
Charles MacNeill 5:89031b2f5316 53 {
Charles MacNeill 5:89031b2f5316 54 printf("v53l1x_i2c_read_if no pointer%d\n",NumByteToRead);
Charles MacNeill 5:89031b2f5316 55 }
Charles MacNeill 5:89031b2f5316 56 dev_I2C->frequency(400000);
Charles MacNeill 5:89031b2f5316 57 // printf("v53l1x_i2c_read_if %d\n",NumByteToRead);
Charles MacNeill 5:89031b2f5316 58 int status = dev_I2C->ToF_i2c_read(pBuffer, DeviceAddr, RegisterAddr, NumByteToRead);
Charles MacNeill 5:89031b2f5316 59 // printf("v53l1x_i2c_read_if %d %d %d %d %d\n",status, DeviceAddr, RegisterAddr,NumByteToRead ,pBuffer[0]);
Charles MacNeill 5:89031b2f5316 60 // delete dev_I2C;
Charles MacNeill 5:89031b2f5316 61
Charles MacNeill 5:89031b2f5316 62 return status;
Charles MacNeill 5:89031b2f5316 63 }
Charles MacNeill 5:89031b2f5316 64
Charles MacNeill 5:89031b2f5316 65
Charles MacNeill 5:89031b2f5316 66 int GetTickCount(
Charles MacNeill 5:89031b2f5316 67 uint32_t *ptick_count_ms)
Charles MacNeill 5:89031b2f5316 68 {
Charles MacNeill 5:89031b2f5316 69
Charles MacNeill 5:89031b2f5316 70 /* Returns current tick count in [ms] */
Charles MacNeill 5:89031b2f5316 71
Charles MacNeill 5:89031b2f5316 72 int status = 0;
Charles MacNeill 5:89031b2f5316 73
Charles MacNeill 5:89031b2f5316 74 //*ptick_count_ms = timeGetTime();
Charles MacNeill 5:89031b2f5316 75 *ptick_count_ms = us_ticker_read() / 1000;
Charles MacNeill 5:89031b2f5316 76
Charles MacNeill 5:89031b2f5316 77 return status;
Charles MacNeill 5:89031b2f5316 78 }
Charles MacNeill 5:89031b2f5316 79
Charles MacNeill 5:89031b2f5316 80
Charles MacNeill 5:89031b2f5316 81 // routines to create interrupts to handle ranging detection
Charles MacNeill 5:89031b2f5316 82 void create_interrupt_measure_detection_irq(PinName pin)
Charles MacNeill 5:89031b2f5316 83 {
Charles MacNeill 5:89031b2f5316 84 _gpio1Int = new InterruptIn(pin);
Charles MacNeill 5:89031b2f5316 85
Charles MacNeill 5:89031b2f5316 86 }
Charles MacNeill 5:89031b2f5316 87
Charles MacNeill 5:89031b2f5316 88 void delete_interrupt_measure_detection_irq()
Charles MacNeill 5:89031b2f5316 89 {
Charles MacNeill 5:89031b2f5316 90 if ( _gpio1Int != NULL)
Charles MacNeill 5:89031b2f5316 91 {
Charles MacNeill 5:89031b2f5316 92 _gpio1Int->disable_irq();
Charles MacNeill 5:89031b2f5316 93 delete _gpio1Int;
Charles MacNeill 5:89031b2f5316 94 }
Charles MacNeill 5:89031b2f5316 95
Charles MacNeill 5:89031b2f5316 96 }
Charles MacNeill 5:89031b2f5316 97
Charles MacNeill 5:89031b2f5316 98 void enable_interrupt_measure_detection_irq()
Charles MacNeill 5:89031b2f5316 99 {
Charles MacNeill 5:89031b2f5316 100 if ( _gpio1Int != NULL)
Charles MacNeill 5:89031b2f5316 101 _gpio1Int->enable_irq();
Charles MacNeill 5:89031b2f5316 102
Charles MacNeill 5:89031b2f5316 103 }
Charles MacNeill 5:89031b2f5316 104
Charles MacNeill 5:89031b2f5316 105 void disable_interrupt_measure_detection_irq()
Charles MacNeill 5:89031b2f5316 106 {
Charles MacNeill 5:89031b2f5316 107 if ( _gpio1Int != NULL)
Charles MacNeill 5:89031b2f5316 108 _gpio1Int->disable_irq();
Charles MacNeill 5:89031b2f5316 109 }
Charles MacNeill 5:89031b2f5316 110
Charles MacNeill 5:89031b2f5316 111 void attach_interrupt_measure_detection_irq(void (*fptr)(void))
Charles MacNeill 5:89031b2f5316 112 {
Charles MacNeill 5:89031b2f5316 113 if ( _gpio1Int != NULL)
Charles MacNeill 5:89031b2f5316 114 _gpio1Int->rise(fptr);
Charles MacNeill 5:89031b2f5316 115 }
Charles MacNeill 5:89031b2f5316 116
Charles MacNeill 5:89031b2f5316 117
Charles MacNeill 5:89031b2f5316 118 void set_gpio_pin(PinName pin, int state)
Charles MacNeill 5:89031b2f5316 119 {
Charles MacNeill 5:89031b2f5316 120 DigitalOut sensorshut(pin);
Charles MacNeill 5:89031b2f5316 121 sensorshut = state;
Charles MacNeill 5:89031b2f5316 122 }