Skip to content

File syn_distance.c

FileList > sensor > syn_distance.c

Go to the source code of this file

Generic Distance & Proximity Sensor Driver (HC-SR04, VL53L0X, Sharp IR).

  • #include "syn_distance.h"
  • #include "../util/syn_assert.h"
  • #include <string.h>

Public Functions

Type Name
void syn_distance_feed_pulse (SYN_Distance * sensor, uint32_t pulse_us)
Feed measured pulse duration in microseconds (for Ultrasonic) or raw mm (for TOF).
uint32_t syn_distance_get_cm (const SYN_Distance * sensor)
Get calculated distance in centimeters.
uint32_t syn_distance_get_mm (const SYN_Distance * sensor)
Get calculated distance in millimeters.
SYN_Status syn_distance_init (SYN_Distance * sensor, SYN_GPIO_Pin trig_pin, SYN_GPIO_Pin echo_pin, uint32_t min_mm, uint32_t max_mm, SYN_DistanceType type)
Initialize Distance Sensor.
bool syn_distance_is_obstacle_detected (const SYN_Distance * sensor)
Check if an object is within proximity threshold.
void syn_distance_set_proximity_threshold (SYN_Distance * sensor, uint32_t thresh_mm)
Set proximity alarm threshold in mm.

Public Functions Documentation

function syn_distance_feed_pulse

Feed measured pulse duration in microseconds (for Ultrasonic) or raw mm (for TOF).

void syn_distance_feed_pulse (
    SYN_Distance * sensor,
    uint32_t pulse_us
) 

Parameters:

  • sensor Distance sensor context.
  • pulse_us Echo pulse width in microseconds (or raw mm).

function syn_distance_get_cm

Get calculated distance in centimeters.

uint32_t syn_distance_get_cm (
    const SYN_Distance * sensor
) 

Parameters:

  • sensor Distance sensor context.

Returns:

Distance in cm.


function syn_distance_get_mm

Get calculated distance in millimeters.

uint32_t syn_distance_get_mm (
    const SYN_Distance * sensor
) 

Parameters:

  • sensor Distance sensor context.

Returns:

Distance in mm.


function syn_distance_init

Initialize Distance Sensor.

SYN_Status syn_distance_init (
    SYN_Distance * sensor,
    SYN_GPIO_Pin trig_pin,
    SYN_GPIO_Pin echo_pin,
    uint32_t min_mm,
    uint32_t max_mm,
    SYN_DistanceType type
) 

Parameters:

  • sensor Distance sensor context.
  • trig_pin Trigger GPIO pin (or SCL for I2C TOF).
  • echo_pin Echo GPIO pin (or SDA for I2C TOF).
  • min_mm Min valid distance in mm (e.g. 20mm).
  • max_mm Max valid distance in mm (e.g. 4000mm).
  • type Sensor type.

Returns:

SYN_OK on success.


function syn_distance_is_obstacle_detected

Check if an object is within proximity threshold.

bool syn_distance_is_obstacle_detected (
    const SYN_Distance * sensor
) 

Parameters:

  • sensor Distance sensor context.

Returns:

True if obstacle detected within threshold.


function syn_distance_set_proximity_threshold

Set proximity alarm threshold in mm.

void syn_distance_set_proximity_threshold (
    SYN_Distance * sensor,
    uint32_t thresh_mm
) 

Parameters:

  • sensor Distance sensor context.
  • thresh_mm Proximity threshold in mm.


The documentation for this class was generated from the following file src/syntropic/sensor/syn_distance.c