Condensed Version of Public VL53L0X
Diff: VL53L0X.h
- Revision:
- 12:aa177f0e4c10
- Parent:
- 11:c6f95a42d4d7
--- a/VL53L0X.h Mon Apr 08 16:26:19 2019 +0000 +++ b/VL53L0X.h Wed Apr 10 19:03:16 2019 +0000 @@ -44,6 +44,37 @@ /* Device data made accessible for further usage */ TVL53L0X_DeviceInfo Device_Info; + /* all the fields previously hidden under DevSpecParams + of type struct VL53L0X_DeviceSpecificParameters_t */ + TFP1616 OscFrequencyMHz; + /* Frequency used */ + uint16_t LastEncodedTimeout; + /* last encoded Time out used for timing budget*/ + TGPIO_Func GpioFunctionality; + /* store the functionality of the GPIO: pin0 */ + uint32_t FinalRangeTimeoutMicroSecs; + /*!< Execution time of the final range*/ + uint8_t FinalRangeVcselPPeriod; + /*!< Vcsel pulse period (pll clocks) for the final range measurement*/ + uint32_t PreRangeTimeoutMicroSecs; + /*!< Execution time of the final range*/ + uint8_t PreRangeVcselPPeriod; + /*!< Vcsel pulse period (pll clocks) for the pre-range measurement*/ + uint16_t SigmaEstRefArray; + /*!< Reference array sigma value in 1/100th of [mm] e.g. 100 = 1mm */ + uint16_t SigmaEstEffPulseWidth; + /*!< Effective Pulse width for sigma estimate in 1/100th of ns e.g. 900 = 9.0ns */ + uint16_t SigmaEstEffAmbWidth; + /*!< Effective Ambient width for sigma estimate in 1/100th of ns e.g. 500 = 5.0ns */ + uint8_t ModuleId; /* Module ID */ + uint8_t Revision; /* test Revision */ + char ProductId[VL53L0X_MAX_STRING_LENGTH]; /* Product Identifier String */ + uint8_t ReferenceSPADType; /* used for ref SPAD management */ + uint8_t RefSPADSInitialised; /* reports if ref SPADS are initialised. */ + uint32_t PartUIDUpper; /*!< Unique Part ID Upper */ + uint32_t PartUIDLower; /*!< Unique Part ID Lower */ + TFP1616 SignalRateMeasFixed400mm; /*!< Peek Signal rate at 400 mm*/ + public: /******************************************************************************/ /****************** Public Initialization Methods *************************/ @@ -107,8 +138,6 @@ * This function will change the VL53L0X_State from VL53L0X_STATE_POWERDOWN to * VL53L0X_STATE_WAIT_STATICINIT. * - * @note This function accesses to the device - * * @return None; instead check class Field "ErrState" */ void Data_init(); @@ -123,6 +152,13 @@ * Also check and fix errors reported Field "ErrState" */ void Fill_device_info(); + /* api_core.h functions */ + void Get_all_NVM_info_from_device( uint8_t option); + + /* All the data that is read from the NVM and stored internally */ + uint8_t ReadNVMDataFromDeviceDone; /* Indicate if read from device has been done (==1-4-7) or not (==0) */ + uint8_t ReferenceSPADCount; /* used for ref SPAD management */ + public: /** * @brief Start the measure indicated by operating mode @@ -1157,9 +1193,6 @@ void Check_and_load_interrupt_settings( uint8_t start_not_stopflag); - /* api_core.h functions */ - void Get_info_from_device( uint8_t option); - uint32_t Decode_timeout(uint16_t encoded_timeout); uint32_t Calc_timeout_us(uint16_t timeout_period_mclks, @@ -1789,12 +1822,15 @@ /******************************************************************************/ /****************** Write and read functions from I2C *************************/ /******************************************************************************/ + uint32_t Get_NVM_DWord(uint8_t NVM_Address) + uint16_t Get_NVM_Word (uint8_t NVM_Address) + uint8_t Get_NVM_Byte (uint8_t NVM_Address) + /** * Thread safe Update (read/modify/write) single byte register * * Final_reg = (Initial_reg & and_mask) | or_mask * - * * @param index The register index * @param and_mask 8 bit and data * @param or_mask 8 bit or data @@ -1936,8 +1972,6 @@ /*!< Ranging Data */ VL53L0X_HistogramMeasurementData_t LastHistogramMeasure; /*!< Histogram Data */ - VL53L0X_DeviceSpecificParameters_t DevSpecParams; - /*!< Parameters specific to the device */ VL53L0X_SPADData_t SPADData; /*!< SPAD Data */ uint8_t SequenceConfig;