Maxim Integrated / Mbed OS MAXREFDES220_HR_SPO2_MONITOR

Dependencies:   max32630fthr USBDevice

Fork of MAXREFDES220_HEART_RATE_MONITOR by Maxim Integrated

Finger Heart Rate Monitor and SpO2 Monitor

The MAXREFDES220 Smart Sensor FeatherWing board is a integrated solution for providing finger-based heart rate measurements and SpO2 (blood oxygen saturation). This evaluation board interfaces to the host computer using the I2C interface. Heart rate outpu is available in beats per minute (BPM) and SpO2 is reported in percentages.; the PPG (photoplethysmography) raw data is also available. The board has an MAX30101 chip which is a low power heart rate monitor with adjustable sample rates and adjustable LED currents. The low cost MAX32664 microcontroller is pre-flashed with C code for finger-based pulse rate and SpO2 monitoring. Bootloader software is included to allow for future algorithms or updates to the algorithm from Maxim Integrated.

Ordering information will be available soon.

Note: SpO2 values are not calibrated. Calibration should be performed using the final end product.

Warning

The MAXREFDES220 source code listed is dated and only compatible with the 1.2.8a.msbl. The latest sample host source code is available on the MAX32664 website.

MAXREFDES220 FeatherWing Pinout Connections

/media/uploads/phonemacro/maxrefdes220_pinouts_heart_rate_monitor.jpg

Revision:
7:3e2a5545f1d8
Parent:
5:e458409e913f
Child:
8:0f55f59ca341
--- a/Interfaces/SmartSensor/SSInterface.h	Thu May 24 14:55:26 2018 -0700
+++ b/Interfaces/SmartSensor/SSInterface.h	Mon May 28 17:31:55 2018 -0700
@@ -160,7 +160,6 @@
 	#define SS_CMDIDX_ERASE			0x03
 	#define SS_CMDIDX_SENDPAGE		0x04
 	#define SS_CMDIDX_ERASE_PAGE	0x05
-	#define SS_CMDIDX_STAY_IN_BTLRD	0x06
 #define SS_FAM_R_BOOTLOADER	0x81
 	#define SS_CMDIDX_BOOTFWVERSION	0x00
 	#define SS_CMDIDX_PAGESIZE		0x01
@@ -218,7 +217,7 @@
 #define SS_LARGE_BUF_SIZE 8224
 
 #define SS_RESET_TIME	10
-#define SS_STARTUP_TIME	1000
+#define SS_STARTUP_TIME	50
 
 #define SS_MAX_SUPPORTED_SENSOR_NUM	0xFE
 #define SS_MAX_SUPPORTED_ALGO_NUM	0xFE
@@ -514,6 +513,8 @@
 	 */
 	SS_STATUS ss_comm_check();
 
+	SS_STATUS stay_in_bootloader();
+	SS_STATUS exit_from_bootloader();
 
 	void enable_irq();
 	void disable_irq();
@@ -536,6 +537,7 @@
     char fw_version[128];
     const char* plat_name;
 
+	bool in_bootldr;
 	bool sc_en;
 	int data_type;