Skip to content

Commit

Permalink
Merge pull request #1 from davideq/main
Browse files Browse the repository at this point in the history
Add examples on I2C and SPI
  • Loading branch information
cparata authored Jun 14, 2023
2 parents 387bf3d + 2d4b327 commit 284fed6
Show file tree
Hide file tree
Showing 10 changed files with 1,604 additions and 1 deletion.
68 changes: 68 additions & 0 deletions .github/workflows/Continuous-integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: X_NUCLEO_53L8A1 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
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"
libraries: "STM32duino VL53L8CX"

# Use the output from the `Compilation` step
- name: Compilation Errors
if: failure()
run: |
cat ${{ steps.compile.outputs.compile-result }}
exit 1
38 changes: 37 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,38 @@
# X-NUCLEO-53L8A1
Arduino library to support the X-NUCLEO-53L8A1 based on VL53L8CX low-power high-performance 8x8 multizone Time-of-Flight sensor (ToF)

Arduino library to support the X-NUCLEO-53L8A1 based on VL53L8CX Time-of-Flight 8x8 multizone ranging sensor with wide field view.

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

## Examples

There are 6 examples with the X-NUCLEO-53L8A1 library using I2C and SPI.
To use the X_NUCLEO_53L8A1 in SPI mode J7, J8, J9 jumpers must be on SPI.

* X_NUCLEO_53L8A1_HelloWorld_I2C: This example code is to show how to get multizone detection and proximity values of the VL53L8CX sensor in polling mode using I2C communication.

* X_NUCLEO_53L8A1_HelloWorld_SPI: This example code is to show how to get multizone detection and proximity values of the VL53L8CX sensor in polling mode using SPI communication.

* X_NUCLEO_53L8A1_ThresholdsDetection_I2C: This example code is to show how to configure the thresholds detection in interrupt mode using I2C communication.

* X_NUCLEO_53L8A1_ThresholdsDetection_SPI: This example code is to show how to configure the thresholds detection in interrupt mode using SPI communication.

* X_NUCLEO_53L8A1__MultiSensorRanging_I2C: This example code is to show how to make three VL53L8CX ToF sensors run simultaneously in polling mode using I2C communication.

* X_NUCLEO_53L8A1__MultiSensorRanging_SPI: This example code is to show how to make three VL53L8CX ToF sensors run simultaneously in polling mode using SPI communication.

## Dependencies

This package requires the following Arduino library:

* STM32duino VL53L8CX: https://github.com/stm32duino/VL53L8CX


## Documentation

You can find the source files at
https://github.com/stm32duino/X-NUCLEO-53L8A1

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

0 comments on commit 284fed6

Please sign in to comment.