Skip to content

File syn_biometric.h

FileList > sensor > syn_biometric.h

Go to the source code of this file

Generic Pulse Oximeter & Heart Rate Sensor Driver (MAX30102, MAX30100).

  • #include "../common/syn_defs.h"
  • #include "../drivers/syn_soft_i2c.h"
  • #include <stdbool.h>
  • #include <stddef.h>
  • #include <stdint.h>

Classes

Type Name
struct SYN_Biometric
Generic Biometric Sensor Context.

Public Types

Type Name
enum SYN_BiometricType
Biometric Sensor Type.

Public Functions

Type Name
void syn_biometric_feed_samples (SYN_Biometric * bio, uint32_t red_raw, uint32_t ir_raw)
Feed raw Red & IR photodiode samples.
uint16_t syn_biometric_get_bpm (const SYN_Biometric * bio)
Get measured Heart Rate in BPM.
float syn_biometric_get_spo2 (const SYN_Biometric * bio)
Get measured Blood Oxygen Saturation %.
SYN_Status syn_biometric_init (SYN_Biometric * bio, SYN_GPIO_Pin scl, SYN_GPIO_Pin sda, uint8_t i2c_addr, SYN_BiometricType type)
Initialize Biometric Sensor.
bool syn_biometric_is_finger_detected (const SYN_Biometric * bio)
Check if finger is detected.

Public Types Documentation

enum SYN_BiometricType

Biometric Sensor Type.

enum SYN_BiometricType {
    SYN_BIOMETRIC_MAX30102 = 0,
    SYN_BIOMETRIC_MAX30100 = 1
};


Public Functions Documentation

function syn_biometric_feed_samples

Feed raw Red & IR photodiode samples.

void syn_biometric_feed_samples (
    SYN_Biometric * bio,
    uint32_t red_raw,
    uint32_t ir_raw
) 

Parameters:

  • bio Biometric sensor context.
  • red_raw Raw 18-bit Red LED sample.
  • ir_raw Raw 18-bit IR LED sample.

function syn_biometric_get_bpm

Get measured Heart Rate in BPM.

uint16_t syn_biometric_get_bpm (
    const SYN_Biometric * bio
) 

Parameters:

  • bio Biometric sensor context.

Returns:

Heart rate in Beats Per Minute.


function syn_biometric_get_spo2

Get measured Blood Oxygen Saturation %.

float syn_biometric_get_spo2 (
    const SYN_Biometric * bio
) 

Parameters:

  • bio Biometric sensor context.

Returns:

SpO2 percentage.


function syn_biometric_init

Initialize Biometric Sensor.

SYN_Status syn_biometric_init (
    SYN_Biometric * bio,
    SYN_GPIO_Pin scl,
    SYN_GPIO_Pin sda,
    uint8_t i2c_addr,
    SYN_BiometricType type
) 

Parameters:

  • bio Biometric sensor context.
  • scl I2C SCL GPIO pin.
  • sda I2C SDA GPIO pin.
  • i2c_addr I2C slave address (e.g. 0x57).
  • type Sensor type (MAX30102 or MAX30100).

Returns:

SYN_OK on success.


function syn_biometric_is_finger_detected

Check if finger is detected.

bool syn_biometric_is_finger_detected (
    const SYN_Biometric * bio
) 

Parameters:

  • bio Biometric sensor context.

Returns:

True if finger present.



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