Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions .github/workflows/Continuous-integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: VL53L7CX Continuous Integration
on:
push:
branches:
- main
paths-ignore:
- '*'
- '**.md'
- '**.txt'
pull_request:
paths-ignore:
- '*'
- '**.md'
- '**.txt'
jobs:
astyle_check:
runs-on: ubuntu-latest
name: AStyle check
steps:
# First of all, clone the repo using the checkout action.
- name: Checkout
uses: actions/checkout@main

- name: Astyle check
id: Astyle
uses: stm32duino/actions/astyle-check@main

# Use the output from the `Astyle` step
- name: Astyle Errors
if: failure()
run: |
cat ${{ steps.Astyle.outputs.astyle-result }}
exit 1
codespell:
name: Check for spelling errors
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@main

# See: https://github.com/codespell-project/actions-codespell/blob/master/README.md
- name: Spell check
uses: codespell-project/actions-codespell@master
with:
check_filenames: true
check_hidden: true
# In the event of a false positive, add the word in all lower case to this file:
ignore_words_file: ./extras/codespell-ignore-words-list.txt
lib_build:
runs-on: ubuntu-latest
name: Library compilation
steps:

# First of all, clone the repo using the checkout action.
- name: Checkout
uses: actions/checkout@main

- name: Compilation
id: compile
uses: stm32duino/actions/compile-examples@main
with:
board-pattern: "NUCLEO_L476RG"

# Use the output from the `Compilation` step
- name: Compilation Errors
if: failure()
run: |
cat ${{ steps.compile.outputs.compile-result }}
exit 1
8 changes: 8 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
COPYRIGHT(c) 2021 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 changes: 33 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,34 @@
# VL53L7CX
Arduino library to support the VL53L7CX Time-of-Flight 8x8 multizone ranging sensor with 90 degrees FoV
Arduino library to support the VL53L7CX Time-of-Flight 8x8 multizone ranging sensor with wide field view.

## API

This sensor uses I2C to communicate. And I2C instance is required to access to the sensor.
The APIs provide simple distance measure and multizone detection in both polling and interrupt modes.

## Examples

The examples contained in this library are based on VL53L7CX-SATEL sensor board. You need to connect the VL53L7CX-SATEL sensor board directly to the Nucleo board with wires as explained below:
- pin 1 (GND) of the VL53L7CX satellite connected to GND of the Nucleo board
- pin 2 (IOVDD) of the VL53L7CX satellite connected to 3V3 pin of the Nucleo board
- pin 3 (AVDD) of the VL53L7CX satellite connected to 5V pin of the Nucleo board
- pin 4 (PWREN) of the VL53L7CX satellite connected to pin A5 of the Nucleo board
- pin 5 (LPn) of the VL53L7CX satellite connected to pin A3 of the Nucleo board
- pin 6 (SCL) of the VL53L7CX satellite connected to pin D15 (SCL) of the Nucleo board
- pin 7 (SDA) of the VL53L7CX satellite connected to pin D14 (SDA) of the Nucleo board
- pin 8 (I2C_RST) of the VL53L7CX satellite connected to pin A1 of the Nucleo board
- pin 9 (INT) of the VL53L7CX satellite connected to pin A2 of the Nucleo board

There are 2 examples with the VL53L7CX library:

* VL53L7CX_HelloWorld: This example code is to show how to get multizone detection and proximity values of the VL53L7CX satellite sensor in polling mode.

* VL53L7CX_ThresholdsDetection: This example code is to show how to configure the thresholds detection of the VL53L7CX satellite sensor.

## Documentation

You can find the source files at
https://github.com/stm32duino/VL53L7CX

The VL53L7CX datasheet is available at
https://www.st.com/en/imaging-and-photonics-solutions/VL53L7CX.html
Loading