12 #include "MAX30101_Defs.h" 22 #define BUFFER_STORAGE_SIZE 8 29 uint32_t red[BUFFER_STORAGE_SIZE];
30 uint32_t IR[BUFFER_STORAGE_SIZE];
31 uint32_t green[BUFFER_STORAGE_SIZE];
44 uint8_t MAX30101_Start(
void);
52 uint8_t MAX30101_IsDevicePresent(
void);
65 uint8_t MAX30101_IsFIFOAFull(uint8_t* flag);
74 uint8_t MAX30101_IsPPGReady(uint8_t* flag);
83 uint8_t MAX30101_IsALCOverflow(uint8_t* flag);
92 uint8_t MAX30101_IsPowerReady(uint8_t* flag);
101 uint8_t MAX30101_IsTempReady(uint8_t* flag);
109 uint8_t MAX30101_EnableFIFOAFullInt(
void);
117 uint8_t MAX30101_EnablePPGReadyInt(
void);
125 uint8_t MAX30101_EnableALCOverflowInt(
void);
133 uint8_t MAX30101_EnableTempReadyInt(
void);
141 uint8_t MAX30101_DisableFIFOAFullInt(
void);
149 uint8_t MAX30101_DisablePPGReadyInt(
void);
157 uint8_t MAX30101_DisableALCOverflowInt(
void);
165 uint8_t MAX30101_DisableTempReadyInt(
void);
178 uint8_t MAX30101_ReadWritePointer(uint8_t* wr);
187 uint8_t MAX30101_ReadOverflowCounter(uint8_t* oc);
196 uint8_t MAX30101_ReadReadPointer(uint8_t* rr);
204 uint8_t MAX30101_ClearFIFO(
void);
221 uint8_t MAX30101_ReadRawFIFOBytes(uint8_t num_samples, uint8_t active_leds, uint8_t* data);
238 uint8_t MAX30101_ReadRawFIFO(uint8_t num_samples, uint8_t active_leds, uint32_t* data);
255 uint8_t MAX30101_ReadFIFO(uint8_t num_samples, uint8_t active_leds,
MAX30101_Data* data);
271 uint8_t MAX30101_SetSampleAverage(uint8_t samples);
281 uint8_t MAX30101_EnableFIFORollover(
void);
292 uint8_t MAX30101_DisableFIFORollover(
void);
303 uint8_t MAX30101_SetFIFOAlmostFull(uint8_t samples);
318 uint8_t MAX30101_Shutdown(
void);
326 uint8_t MAX30101_WakeUp(
void);
338 uint8_t MAX30101_Reset(
void);
353 uint8_t MAX30101_SetMode(uint8_t mode);
374 uint8_t MAX30101_SetSpO2SampleRate(uint8_t range);
395 uint8_t MAX30101_SetSpO2ADCRange(uint8_t sr);
412 uint8_t MAX30101_SetSpO2PulseWidth(uint8_t pw);
426 uint8_t MAX30101_SetLEDPulseAmplitude(uint8_t led_channel, uint8_t pa);
451 uint8_t MAX30101_EnableSlot(uint8_t slot, uint8_t led);
461 uint8_t MAX30101_DisableSlots(
void);
478 uint8_t MAX30101_ReadTemperature(
float* temperature);
492 uint8_t MAX30101_ReadRawTemperature(int8_t* integer, uint8_t* frac);
502 uint8_t MAX30101_StartTemperatureConversion(
void);
515 uint8_t MAX30101_ReadPartID(uint8_t* part_id);
525 uint8_t MAX30101_ReadRevisionID(uint8_t* revision_id);
539 uint8_t MAX30101_ReadRegister(uint8_t reg_addr, uint8_t* reg_value);
553 uint8_t MAX30101_LogRegisters(
void (*fun_ptr)(
const char*));
566 uint8_t MAX30101_PrintRegister(
void (*print_fun)(
const char*), uint8_t reg_addr);
Circular buffer for MAX30101 data.