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
Charles MacNeill 5:89031b2f5316 2 // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
Charles MacNeill 5:89031b2f5316 3 /******************************************************************************
Charles MacNeill 5:89031b2f5316 4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
Charles MacNeill 5:89031b2f5316 5
Charles MacNeill 5:89031b2f5316 6 This file is part of VL53LX and is dual licensed,
Charles MacNeill 5:89031b2f5316 7 either GPL-2.0+
Charles MacNeill 5:89031b2f5316 8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
Charles MacNeill 5:89031b2f5316 9 ******************************************************************************
Charles MacNeill 5:89031b2f5316 10 */
Charles MacNeill 5:89031b2f5316 11
Charles MacNeill 5:89031b2f5316 12
Charles MacNeill 5:89031b2f5316 13
Charles MacNeill 5:89031b2f5316 14
Charles MacNeill 5:89031b2f5316 15
Charles MacNeill 5:89031b2f5316 16 #include "vl53lx_platform.h"
Charles MacNeill 5:89031b2f5316 17 #include "vl53lx_ll_def.h"
Charles MacNeill 5:89031b2f5316 18 #include "vl53lx_register_map.h"
Charles MacNeill 5:89031b2f5316 19 #include "vl53lx_core.h"
Charles MacNeill 5:89031b2f5316 20 #include "vl53lx_silicon_core.h"
Charles MacNeill 5:89031b2f5316 21
Charles MacNeill 5:89031b2f5316 22
Charles MacNeill 5:89031b2f5316 23 #define LOG_FUNCTION_START(fmt, ...) \
Charles MacNeill 5:89031b2f5316 24 _LOG_FUNCTION_START(VL53LX_TRACE_MODULE_CORE, fmt, ##__VA_ARGS__)
Charles MacNeill 5:89031b2f5316 25 #define LOG_FUNCTION_END(status, ...) \
Charles MacNeill 5:89031b2f5316 26 _LOG_FUNCTION_END(VL53LX_TRACE_MODULE_CORE, status, ##__VA_ARGS__)
Charles MacNeill 5:89031b2f5316 27 #define LOG_FUNCTION_END_FMT(status, fmt, ...) \
Charles MacNeill 5:89031b2f5316 28 _LOG_FUNCTION_END_FMT(VL53LX_TRACE_MODULE_CORE,\
Charles MacNeill 5:89031b2f5316 29 status, fmt, ##__VA_ARGS__)
Charles MacNeill 5:89031b2f5316 30
Charles MacNeill 5:89031b2f5316 31
Charles MacNeill 5:89031b2f5316 32 VL53LX_Error VL53LX_is_firmware_ready_silicon(
Charles MacNeill 5:89031b2f5316 33 VL53LX_DEV Dev,
Charles MacNeill 5:89031b2f5316 34 uint8_t *pready)
Charles MacNeill 5:89031b2f5316 35 {
Charles MacNeill 5:89031b2f5316 36
Charles MacNeill 5:89031b2f5316 37
Charles MacNeill 5:89031b2f5316 38 VL53LX_Error status = VL53LX_ERROR_NONE;
Charles MacNeill 5:89031b2f5316 39 VL53LX_LLDriverData_t *pdev = VL53LXDevStructGetLLDriverHandle(Dev);
Charles MacNeill 5:89031b2f5316 40
Charles MacNeill 5:89031b2f5316 41 uint8_t comms_buffer[5];
Charles MacNeill 5:89031b2f5316 42
Charles MacNeill 5:89031b2f5316 43 LOG_FUNCTION_START("");
Charles MacNeill 5:89031b2f5316 44
Charles MacNeill 5:89031b2f5316 45
Charles MacNeill 5:89031b2f5316 46
Charles MacNeill 5:89031b2f5316 47 status = VL53LX_ReadMulti(
Charles MacNeill 5:89031b2f5316 48 Dev,
Charles MacNeill 5:89031b2f5316 49 VL53LX_INTERRUPT_MANAGER__ENABLES,
Charles MacNeill 5:89031b2f5316 50 comms_buffer,
Charles MacNeill 5:89031b2f5316 51 5);
Charles MacNeill 5:89031b2f5316 52
Charles MacNeill 5:89031b2f5316 53 if (status != VL53LX_ERROR_NONE)
Charles MacNeill 5:89031b2f5316 54 goto ENDFUNC;
Charles MacNeill 5:89031b2f5316 55
Charles MacNeill 5:89031b2f5316 56 pdev->dbg_results.interrupt_manager__enables =
Charles MacNeill 5:89031b2f5316 57 comms_buffer[0];
Charles MacNeill 5:89031b2f5316 58 pdev->dbg_results.interrupt_manager__clear =
Charles MacNeill 5:89031b2f5316 59 comms_buffer[1];
Charles MacNeill 5:89031b2f5316 60 pdev->dbg_results.interrupt_manager__status =
Charles MacNeill 5:89031b2f5316 61 comms_buffer[2];
Charles MacNeill 5:89031b2f5316 62 pdev->dbg_results.mcu_to_host_bank__wr_access_en =
Charles MacNeill 5:89031b2f5316 63 comms_buffer[3];
Charles MacNeill 5:89031b2f5316 64 pdev->dbg_results.power_management__go1_reset_status =
Charles MacNeill 5:89031b2f5316 65 comms_buffer[4];
Charles MacNeill 5:89031b2f5316 66
Charles MacNeill 5:89031b2f5316 67 if ((pdev->sys_ctrl.power_management__go1_power_force & 0x01)
Charles MacNeill 5:89031b2f5316 68 == 0x01) {
Charles MacNeill 5:89031b2f5316 69
Charles MacNeill 5:89031b2f5316 70 if (((pdev->dbg_results.interrupt_manager__enables &
Charles MacNeill 5:89031b2f5316 71 0x1F) == 0x1F) &&
Charles MacNeill 5:89031b2f5316 72 ((pdev->dbg_results.interrupt_manager__clear
Charles MacNeill 5:89031b2f5316 73 & 0x1F) == 0x1F))
Charles MacNeill 5:89031b2f5316 74 *pready = 0x01;
Charles MacNeill 5:89031b2f5316 75 else
Charles MacNeill 5:89031b2f5316 76 *pready = 0x00;
Charles MacNeill 5:89031b2f5316 77
Charles MacNeill 5:89031b2f5316 78 } else {
Charles MacNeill 5:89031b2f5316 79
Charles MacNeill 5:89031b2f5316 80
Charles MacNeill 5:89031b2f5316 81 if ((pdev->dbg_results.power_management__go1_reset_status
Charles MacNeill 5:89031b2f5316 82 & 0x01) == 0x00)
Charles MacNeill 5:89031b2f5316 83 *pready = 0x01;
Charles MacNeill 5:89031b2f5316 84 else
Charles MacNeill 5:89031b2f5316 85 *pready = 0x00;
Charles MacNeill 5:89031b2f5316 86 }
Charles MacNeill 5:89031b2f5316 87
Charles MacNeill 5:89031b2f5316 88
Charles MacNeill 5:89031b2f5316 89 ENDFUNC:
Charles MacNeill 5:89031b2f5316 90 LOG_FUNCTION_END(status);
Charles MacNeill 5:89031b2f5316 91
Charles MacNeill 5:89031b2f5316 92 return status;
Charles MacNeill 5:89031b2f5316 93 }
Charles MacNeill 5:89031b2f5316 94