Library for MAX30101, read/write functions for registers implemented.
Dependents: test_MAX30101 testSensor
MAX30101.h@7:1d223c9b4ef4, 2017-05-12 (annotated)
- Committer:
- Rhyme
- Date:
- Fri May 12 00:15:06 2017 +0000
- Revision:
- 7:1d223c9b4ef4
- Parent:
- 6:8fbe6e6eeff1
document cleaned up a little
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Rhyme | 4:c6761ad52524 | 1 | #ifndef _MAX30101_H_ |
Rhyme | 4:c6761ad52524 | 2 | #define _MAX30101_H_ |
Rhyme | 0:4ad9373787e8 | 3 | /** |
Rhyme | 0:4ad9373787e8 | 4 | * MAX30101 |
Rhyme | 0:4ad9373787e8 | 5 | * High-Sensitivity Pulse Oximeter and |
Rhyme | 0:4ad9373787e8 | 6 | * Heart-Rate Sensor for Wearable Health |
Rhyme | 0:4ad9373787e8 | 7 | */ |
Rhyme | 0:4ad9373787e8 | 8 | |
Rhyme | 0:4ad9373787e8 | 9 | class MAX30101 |
Rhyme | 0:4ad9373787e8 | 10 | { |
Rhyme | 0:4ad9373787e8 | 11 | public: |
Rhyme | 0:4ad9373787e8 | 12 | /** |
Rhyme | 0:4ad9373787e8 | 13 | * MAX30101 constructor |
Rhyme | 0:4ad9373787e8 | 14 | * |
Rhyme | 0:4ad9373787e8 | 15 | * @param sda SDA pin |
Rhyme | 0:4ad9373787e8 | 16 | * @param scl SCL pin |
Rhyme | 0:4ad9373787e8 | 17 | * @param addr 7bit address of the I2C peripheral |
Rhyme | 0:4ad9373787e8 | 18 | */ |
Rhyme | 0:4ad9373787e8 | 19 | MAX30101(PinName sda, PinName scl, int addr) ; |
Rhyme | 0:4ad9373787e8 | 20 | |
Rhyme | 4:c6761ad52524 | 21 | /** |
Rhyme | 4:c6761ad52524 | 22 | * MAX30101 destructor |
Rhyme | 4:c6761ad52524 | 23 | */ |
Rhyme | 0:4ad9373787e8 | 24 | ~MAX30101() ; |
Rhyme | 3:d28dcc8fe74d | 25 | |
Rhyme | 3:d28dcc8fe74d | 26 | /** |
Rhyme | 3:d28dcc8fe74d | 27 | * Get part id |
Rhyme | 3:d28dcc8fe74d | 28 | * @returns PART_ID |
Rhyme | 3:d28dcc8fe74d | 29 | */ |
Rhyme | 1:fc677d82d0f1 | 30 | uint8_t getID(void) ; |
Rhyme | 3:d28dcc8fe74d | 31 | |
Rhyme | 3:d28dcc8fe74d | 32 | /** |
Rhyme | 3:d28dcc8fe74d | 33 | * Get revision id |
Rhyme | 3:d28dcc8fe74d | 34 | * @returns REV_ID |
Rhyme | 3:d28dcc8fe74d | 35 | */ |
Rhyme | 1:fc677d82d0f1 | 36 | uint8_t getRev(void) ; |
Rhyme | 4:c6761ad52524 | 37 | |
Rhyme | 4:c6761ad52524 | 38 | /** |
Rhyme | 4:c6761ad52524 | 39 | * Get interrupt status |
Rhyme | 4:c6761ad52524 | 40 | * @returns interrupt Status 1 as MSB and interrupt Status 2 as LSB |
Rhyme | 4:c6761ad52524 | 41 | */ |
Rhyme | 1:fc677d82d0f1 | 42 | uint16_t getIntStatus(void) ; |
Rhyme | 4:c6761ad52524 | 43 | |
Rhyme | 4:c6761ad52524 | 44 | /** |
Rhyme | 4:c6761ad52524 | 45 | * Get interrupt enable |
Rhyme | 4:c6761ad52524 | 46 | * @returns interrupt Enable 1 as MSB and interrupt Status 2 as LSB |
Rhyme | 4:c6761ad52524 | 47 | */ |
Rhyme | 2:c465a8d44b9a | 48 | uint16_t getIntEnable(void) ; |
Rhyme | 4:c6761ad52524 | 49 | |
Rhyme | 4:c6761ad52524 | 50 | /** |
Rhyme | 4:c6761ad52524 | 51 | * Set interrupt enable |
Rhyme | 4:c6761ad52524 | 52 | * @param mask uint16_t MSB for Enable 1 and LSB for Enable 2 |
Rhyme | 4:c6761ad52524 | 53 | */ |
Rhyme | 1:fc677d82d0f1 | 54 | void setIntEnable(uint16_t mask) ; |
Rhyme | 4:c6761ad52524 | 55 | |
Rhyme | 4:c6761ad52524 | 56 | /** |
Rhyme | 4:c6761ad52524 | 57 | * Get FIFO Write Pointer |
Rhyme | 4:c6761ad52524 | 58 | * @returns FIFO_WR_PTR |
Rhyme | 4:c6761ad52524 | 59 | */ |
Rhyme | 1:fc677d82d0f1 | 60 | uint8_t getFIFO_WR_PTR(void) ; |
Rhyme | 4:c6761ad52524 | 61 | |
Rhyme | 4:c6761ad52524 | 62 | /** |
Rhyme | 4:c6761ad52524 | 63 | * Set FIFO Write Pointer |
Rhyme | 4:c6761ad52524 | 64 | * @param data uint8_t FIFO_WR_PTR[4:0] |
Rhyme | 4:c6761ad52524 | 65 | */ |
Rhyme | 1:fc677d82d0f1 | 66 | void setFIFO_WR_PTR(uint8_t data) ; |
Rhyme | 4:c6761ad52524 | 67 | |
Rhyme | 4:c6761ad52524 | 68 | /** |
Rhyme | 4:c6761ad52524 | 69 | * Get FIFO Overflow Counter |
Rhyme | 4:c6761ad52524 | 70 | * @returns OVF_COUNTER |
Rhyme | 4:c6761ad52524 | 71 | */ |
Rhyme | 1:fc677d82d0f1 | 72 | uint8_t getOVF_COUNTER(void) ; |
Rhyme | 4:c6761ad52524 | 73 | |
Rhyme | 4:c6761ad52524 | 74 | /** |
Rhyme | 4:c6761ad52524 | 75 | * Set FIFO Overflow Counter |
Rhyme | 4:c6761ad52524 | 76 | * @param data uint8_t OVF_COUNTER[4:0] |
Rhyme | 4:c6761ad52524 | 77 | */ |
Rhyme | 1:fc677d82d0f1 | 78 | void setOVF_COUNTER(uint8_t data) ; |
Rhyme | 4:c6761ad52524 | 79 | |
Rhyme | 4:c6761ad52524 | 80 | /** |
Rhyme | 4:c6761ad52524 | 81 | * Get FIFO Read Pointer |
Rhyme | 4:c6761ad52524 | 82 | * @returns FIFO_RD_PTR |
Rhyme | 4:c6761ad52524 | 83 | */ |
Rhyme | 1:fc677d82d0f1 | 84 | uint8_t getFIFO_RD_PTR(void) ; |
Rhyme | 4:c6761ad52524 | 85 | |
Rhyme | 4:c6761ad52524 | 86 | /** |
Rhyme | 4:c6761ad52524 | 87 | * Set FIFO Read Pointer |
Rhyme | 4:c6761ad52524 | 88 | * @param data uint8_t FIFO_RD_PTR[4:0] |
Rhyme | 4:c6761ad52524 | 89 | */ |
Rhyme | 1:fc677d82d0f1 | 90 | void setFIFO_RD_PTR(uint8_t data) ; |
Rhyme | 4:c6761ad52524 | 91 | |
Rhyme | 4:c6761ad52524 | 92 | /** |
Rhyme | 4:c6761ad52524 | 93 | * Get FIFO Data |
Rhyme | 4:c6761ad52524 | 94 | * @returns FIFO_DATA |
Rhyme | 4:c6761ad52524 | 95 | */ |
Rhyme | 1:fc677d82d0f1 | 96 | uint8_t getFIFO_DATA(void) ; |
Rhyme | 4:c6761ad52524 | 97 | |
Rhyme | 4:c6761ad52524 | 98 | /** |
Rhyme | 4:c6761ad52524 | 99 | * Set FIFO Data |
Rhyme | 4:c6761ad52524 | 100 | * @param FIFO_DATA[7:0] |
Rhyme | 4:c6761ad52524 | 101 | */ |
Rhyme | 1:fc677d82d0f1 | 102 | void setFIFO_DATA(uint8_t data) ; |
Rhyme | 4:c6761ad52524 | 103 | |
Rhyme | 4:c6761ad52524 | 104 | /** |
Rhyme | 4:c6761ad52524 | 105 | * Get FIFO Confuguraion |
Rhyme | 4:c6761ad52524 | 106 | * @returns FIFO_CONFIG |
Rhyme | 4:c6761ad52524 | 107 | */ |
Rhyme | 1:fc677d82d0f1 | 108 | uint8_t getFIFO_CONFIG(void) ; |
Rhyme | 4:c6761ad52524 | 109 | |
Rhyme | 4:c6761ad52524 | 110 | /** |
Rhyme | 4:c6761ad52524 | 111 | * Set FIFO Configuration |
Rhyme | 4:c6761ad52524 | 112 | * @param data uint8_t |
Rhyme | 4:c6761ad52524 | 113 | * @note bit[7:5] -> SMP_AVE[2:0] |
Rhyme | 4:c6761ad52524 | 114 | * @note bit[4] -> FIFO_ROLLOVER_EN |
Rhyme | 4:c6761ad52524 | 115 | * @note bit[3:0] -> FIFO_A_FULL[3:0] |
Rhyme | 4:c6761ad52524 | 116 | */ |
Rhyme | 1:fc677d82d0f1 | 117 | void setFIFO_CONFIG(uint8_t data) ; |
Rhyme | 4:c6761ad52524 | 118 | |
Rhyme | 4:c6761ad52524 | 119 | /** |
Rhyme | 4:c6761ad52524 | 120 | * Get MODE Configuration |
Rhyme | 4:c6761ad52524 | 121 | * @returns MODE_CONFIG |
Rhyme | 4:c6761ad52524 | 122 | */ |
Rhyme | 1:fc677d82d0f1 | 123 | uint8_t getMODE_CONFIG(void) ; |
Rhyme | 4:c6761ad52524 | 124 | |
Rhyme | 4:c6761ad52524 | 125 | /** |
Rhyme | 4:c6761ad52524 | 126 | * Set MODE Configuration |
Rhyme | 4:c6761ad52524 | 127 | * @param data uint8_t |
Rhyme | 4:c6761ad52524 | 128 | * @note bit[7] Shutdown Control (SHDN) |
Rhyme | 4:c6761ad52524 | 129 | * @note bit[6] Reset Control (RESET) |
Rhyme | 4:c6761ad52524 | 130 | * @note bit[5:3] (reserved) |
Rhyme | 4:c6761ad52524 | 131 | * @note bit[2:0] Mode Control (MODE) |
Rhyme | 4:c6761ad52524 | 132 | */ |
Rhyme | 1:fc677d82d0f1 | 133 | void setMODE_CONFIG(uint8_t data) ; |
Rhyme | 4:c6761ad52524 | 134 | |
Rhyme | 4:c6761ad52524 | 135 | /** |
Rhyme | 4:c6761ad52524 | 136 | * Get SpO2 Configuration |
Rhyme | 4:c6761ad52524 | 137 | * @returns SPO2_CONFIG |
Rhyme | 4:c6761ad52524 | 138 | */ |
Rhyme | 1:fc677d82d0f1 | 139 | uint8_t getSPO2_CONFIG(void) ; |
Rhyme | 4:c6761ad52524 | 140 | |
Rhyme | 4:c6761ad52524 | 141 | /** |
Rhyme | 4:c6761ad52524 | 142 | * Set SpO2 Configuration |
Rhyme | 4:c6761ad52524 | 143 | * @param data uint8_t |
Rhyme | 4:c6761ad52524 | 144 | * @note bit[7] (reserved) |
Rhyme | 4:c6761ad52524 | 145 | * @note bit[6:5] SpO2 ADC Range Control (SPO2_ADC_RGE[1:0]) |
Rhyme | 4:c6761ad52524 | 146 | * @note bit[4:2] SpO2 Sample Rate Control (SPO2_SR[2:0]) |
Rhyme | 4:c6761ad52524 | 147 | * @note bit[1:0] LED Pulse Width Control (LED_PW[1:0]) |
Rhyme | 4:c6761ad52524 | 148 | */ |
Rhyme | 1:fc677d82d0f1 | 149 | void setSPO2_CONFIG(uint8_t data) ; |
Rhyme | 4:c6761ad52524 | 150 | |
Rhyme | 4:c6761ad52524 | 151 | /** |
Rhyme | 4:c6761ad52524 | 152 | * Get LED1 Pulse Amplitude |
Rhyme | 4:c6761ad52524 | 153 | * @returns LED1_PA |
Rhyme | 4:c6761ad52524 | 154 | */ |
Rhyme | 1:fc677d82d0f1 | 155 | uint8_t getLED1_PA(void) ; |
Rhyme | 4:c6761ad52524 | 156 | |
Rhyme | 4:c6761ad52524 | 157 | /** |
Rhyme | 4:c6761ad52524 | 158 | * Set LED1 Pulse Amplitude |
Rhyme | 4:c6761ad52524 | 159 | * @param data uint8_t LED1_PA[7:0] |
Rhyme | 4:c6761ad52524 | 160 | */ |
Rhyme | 1:fc677d82d0f1 | 161 | void setLED1_PA(uint8_t data) ; |
Rhyme | 4:c6761ad52524 | 162 | |
Rhyme | 4:c6761ad52524 | 163 | /** |
Rhyme | 4:c6761ad52524 | 164 | * Get LED2 Pulse Amplitude |
Rhyme | 4:c6761ad52524 | 165 | * @returns LED2_PA |
Rhyme | 4:c6761ad52524 | 166 | */ |
Rhyme | 1:fc677d82d0f1 | 167 | uint8_t getLED2_PA(void) ; |
Rhyme | 4:c6761ad52524 | 168 | |
Rhyme | 4:c6761ad52524 | 169 | /** |
Rhyme | 4:c6761ad52524 | 170 | * Set LED2 Pulse Amplitude |
Rhyme | 4:c6761ad52524 | 171 | * @param data uint8_t LED2_PA[7:0] |
Rhyme | 4:c6761ad52524 | 172 | */ |
Rhyme | 1:fc677d82d0f1 | 173 | void setLED2_PA(uint8_t data) ; |
Rhyme | 4:c6761ad52524 | 174 | |
Rhyme | 4:c6761ad52524 | 175 | /** |
Rhyme | 4:c6761ad52524 | 176 | * Get LED3 Pulse Amplitude |
Rhyme | 4:c6761ad52524 | 177 | * @returns LED3_PA |
Rhyme | 4:c6761ad52524 | 178 | */ |
Rhyme | 1:fc677d82d0f1 | 179 | uint8_t getLED3_PA(void) ; |
Rhyme | 4:c6761ad52524 | 180 | |
Rhyme | 4:c6761ad52524 | 181 | /** |
Rhyme | 4:c6761ad52524 | 182 | * Set LED3 Pulse Amplitude |
Rhyme | 4:c6761ad52524 | 183 | * @param data uint8_t LED3_PA[7:0] |
Rhyme | 4:c6761ad52524 | 184 | */ |
Rhyme | 1:fc677d82d0f1 | 185 | void setLED3_PA(uint8_t data) ; |
Rhyme | 4:c6761ad52524 | 186 | |
Rhyme | 4:c6761ad52524 | 187 | /** |
Rhyme | 4:c6761ad52524 | 188 | * Get Proximity Mode LED Pulse Amplitude |
Rhyme | 4:c6761ad52524 | 189 | * @returns PILOT_PA |
Rhyme | 4:c6761ad52524 | 190 | */ |
Rhyme | 1:fc677d82d0f1 | 191 | uint8_t getPILOT_PA(void) ; |
Rhyme | 4:c6761ad52524 | 192 | |
Rhyme | 4:c6761ad52524 | 193 | /** |
Rhyme | 4:c6761ad52524 | 194 | * Set Proximity Mode LED Pulse Amplitude |
Rhyme | 4:c6761ad52524 | 195 | * @param data uint8_t PILOT_PA[7:0] |
Rhyme | 4:c6761ad52524 | 196 | */ |
Rhyme | 1:fc677d82d0f1 | 197 | void setPILOT_PA(uint8_t data) ; |
Rhyme | 4:c6761ad52524 | 198 | |
Rhyme | 4:c6761ad52524 | 199 | /** |
Rhyme | 4:c6761ad52524 | 200 | * Get Multi-LED Mode Control Registers |
Rhyme | 4:c6761ad52524 | 201 | * @returns SLOT2, SLOT1, SLOT4, SLOT3 combined as uint16_t |
Rhyme | 4:c6761ad52524 | 202 | */ |
Rhyme | 1:fc677d82d0f1 | 203 | uint16_t getSLOT(void) ; |
Rhyme | 4:c6761ad52524 | 204 | |
Rhyme | 4:c6761ad52524 | 205 | /** |
Rhyme | 4:c6761ad52524 | 206 | * Set Multi-LED Mode Control Registers |
Rhyme | 4:c6761ad52524 | 207 | * @param data uint16_t |
Rhyme | 4:c6761ad52524 | 208 | * @note bit[15] (reserved) |
Rhyme | 4:c6761ad52524 | 209 | * @note bit[14:12] SLOT2[2:0] |
Rhyme | 4:c6761ad52524 | 210 | * @note bit[11] (reserved) |
Rhyme | 4:c6761ad52524 | 211 | * @note bit[10:8] SLOT1[2:0] |
Rhyme | 4:c6761ad52524 | 212 | * @note bit[7] (reserved) |
Rhyme | 4:c6761ad52524 | 213 | * @note bit[6:4] SLOT4[2:0] |
Rhyme | 4:c6761ad52524 | 214 | * @note bit[3] (reserved) |
Rhyme | 4:c6761ad52524 | 215 | * @note bit[2:0] SLOT3[2:0] |
Rhyme | 4:c6761ad52524 | 216 | */ |
Rhyme | 1:fc677d82d0f1 | 217 | void setSLOT(uint16_t data) ; |
Rhyme | 4:c6761ad52524 | 218 | |
Rhyme | 4:c6761ad52524 | 219 | /** |
Rhyme | 4:c6761ad52524 | 220 | * Get Temperature Data (Integer part) |
Rhyme | 4:c6761ad52524 | 221 | * @returns TINT |
Rhyme | 4:c6761ad52524 | 222 | */ |
Rhyme | 1:fc677d82d0f1 | 223 | uint8_t getTEMP_INT(void) ; |
Rhyme | 4:c6761ad52524 | 224 | |
Rhyme | 4:c6761ad52524 | 225 | /** |
Rhyme | 4:c6761ad52524 | 226 | * Get Temperature Data (Fraction part) |
Rhyme | 4:c6761ad52524 | 227 | * @returns TFRAC |
Rhyme | 4:c6761ad52524 | 228 | */ |
Rhyme | 2:c465a8d44b9a | 229 | uint8_t getTEMP_FRAC(void) ; |
Rhyme | 4:c6761ad52524 | 230 | |
Rhyme | 4:c6761ad52524 | 231 | /** |
Rhyme | 4:c6761ad52524 | 232 | * Get Die Temperature Configure |
Rhyme | 4:c6761ad52524 | 233 | * @returns TEMP_EN |
Rhyme | 4:c6761ad52524 | 234 | */ |
Rhyme | 4:c6761ad52524 | 235 | uint8_t getTEMP_EN(void) ; |
Rhyme | 4:c6761ad52524 | 236 | |
Rhyme | 4:c6761ad52524 | 237 | /** |
Rhyme | 6:8fbe6e6eeff1 | 238 | * Set Die Temperature Configure |
Rhyme | 6:8fbe6e6eeff1 | 239 | */ |
Rhyme | 6:8fbe6e6eeff1 | 240 | void setTEMP_EN(void) ; |
Rhyme | 6:8fbe6e6eeff1 | 241 | |
Rhyme | 6:8fbe6e6eeff1 | 242 | /** |
Rhyme | 4:c6761ad52524 | 243 | * Get Temperature |
Rhyme | 4:c6761ad52524 | 244 | * @returns temperature as a float |
Rhyme | 4:c6761ad52524 | 245 | */ |
Rhyme | 2:c465a8d44b9a | 246 | float getTEMP(void) ; |
Rhyme | 4:c6761ad52524 | 247 | |
Rhyme | 4:c6761ad52524 | 248 | /** |
Rhyme | 4:c6761ad52524 | 249 | * Get Proximity Mode Interrupt Threshold |
Rhyme | 4:c6761ad52524 | 250 | * @returns PROX_INT_THR |
Rhyme | 4:c6761ad52524 | 251 | */ |
Rhyme | 1:fc677d82d0f1 | 252 | uint8_t getPROX_INT_THR(void) ; |
Rhyme | 4:c6761ad52524 | 253 | |
Rhyme | 4:c6761ad52524 | 254 | /** |
Rhyme | 4:c6761ad52524 | 255 | * Set Proximity Mode Interrupt Threshold |
Rhyme | 4:c6761ad52524 | 256 | * @param data uint8_t PROX_INT_THRESH[7:0] |
Rhyme | 4:c6761ad52524 | 257 | */ |
Rhyme | 1:fc677d82d0f1 | 258 | void setPROX_INT_THR(uint8_t data) ; |
Rhyme | 4:c6761ad52524 | 259 | |
Rhyme | 4:c6761ad52524 | 260 | /** |
Rhyme | 4:c6761ad52524 | 261 | * Clear FIFO |
Rhyme | 4:c6761ad52524 | 262 | */ |
Rhyme | 2:c465a8d44b9a | 263 | void clearFIFO(void) ; |
Rhyme | 4:c6761ad52524 | 264 | |
Rhyme | 4:c6761ad52524 | 265 | /** |
Rhyme | 4:c6761ad52524 | 266 | * Read FIFO |
Rhyme | 4:c6761ad52524 | 267 | * @returns FIFO data as uint32_t |
Rhyme | 4:c6761ad52524 | 268 | * @note FIFO data is always a 3-bytes data |
Rhyme | 4:c6761ad52524 | 269 | * @note byte1[1:0] : FIFO_DATA[17]-FIFO_DATA[16] |
Rhyme | 4:c6761ad52524 | 270 | * @note byte2[7:0] : FIFO_DATA[15]-FIFO_DATA[8] |
Rhyme | 4:c6761ad52524 | 271 | * @note byte3[7:0] : FIFO_DATA[7]-FIFO_DATA[0] |
Rhyme | 4:c6761ad52524 | 272 | * @note The data is left aligned, so FIFO_DATA[17] |
Rhyme | 4:c6761ad52524 | 273 | * @note is always MSB, although the data length |
Rhyme | 7:1d223c9b4ef4 | 274 | * @note can be 18-bit ~ 15-bit |
Rhyme | 4:c6761ad52524 | 275 | */ |
Rhyme | 2:c465a8d44b9a | 276 | uint32_t readFIFO(void) ; |
Rhyme | 4:c6761ad52524 | 277 | |
Rhyme | 4:c6761ad52524 | 278 | /** |
Rhyme | 4:c6761ad52524 | 279 | * Reset |
Rhyme | 4:c6761ad52524 | 280 | */ |
Rhyme | 2:c465a8d44b9a | 281 | void reset(void) ; |
Rhyme | 0:4ad9373787e8 | 282 | |
Rhyme | 0:4ad9373787e8 | 283 | /* |
Rhyme | 0:4ad9373787e8 | 284 | * some member functions here (yet to be written) |
Rhyme | 0:4ad9373787e8 | 285 | */ |
Rhyme | 0:4ad9373787e8 | 286 | |
Rhyme | 0:4ad9373787e8 | 287 | private: |
Rhyme | 0:4ad9373787e8 | 288 | I2C m_i2c; |
Rhyme | 0:4ad9373787e8 | 289 | int m_addr; |
Rhyme | 0:4ad9373787e8 | 290 | void readRegs(int addr, uint8_t *data, int len) ; |
Rhyme | 0:4ad9373787e8 | 291 | void writeRegs(uint8_t *data, int len) ; |
Rhyme | 0:4ad9373787e8 | 292 | } ; |
Rhyme | 2:c465a8d44b9a | 293 | |
Rhyme | 2:c465a8d44b9a | 294 | /* bits of Interrupt Status register */ |
Rhyme | 2:c465a8d44b9a | 295 | /* In this class Interrupt Status 1 and |
Rhyme | 2:c465a8d44b9a | 296 | * Interrupt Status 2 are combined to be a uint16_t |
Rhyme | 2:c465a8d44b9a | 297 | */ |
Rhyme | 2:c465a8d44b9a | 298 | #define INT_ST_A_FULL 0x8000 /* FIFO Almost Full Flag */ |
Rhyme | 2:c465a8d44b9a | 299 | #define INT_ST_PPG_RGY 0x4000 /* New FIFO Data Ready */ |
Rhyme | 2:c465a8d44b9a | 300 | #define INT_ST_ALC_OVF 0x2000 /* Ambient Light Cancellation Overflow */ |
Rhyme | 2:c465a8d44b9a | 301 | #define INT_ST_PROX_INT 0x1000 /* Proximity Threshold Triggered */ |
Rhyme | 2:c465a8d44b9a | 302 | #define INT_ST_PWR_RDY 0x0100 /* Power Ready Flag */ |
Rhyme | 2:c465a8d44b9a | 303 | #define INT_ST_DIE_TEMP_RDY 0x0002 /* Internal Temperature Ready Flag */ |
Rhyme | 2:c465a8d44b9a | 304 | /* bits of Interrupt Enable register */ |
Rhyme | 2:c465a8d44b9a | 305 | #define INT_EN_A_FULL 0x8000 /* FIFO Almost Full Flag */ |
Rhyme | 2:c465a8d44b9a | 306 | #define INT_EN_PPG_RGY 0x4000 /* New FIFO Data Ready */ |
Rhyme | 2:c465a8d44b9a | 307 | #define INT_EN_ALC_OVF 0x2000 /* Ambient Light Cancellation Overflow */ |
Rhyme | 2:c465a8d44b9a | 308 | #define INT_EN_PROX_INT 0x1000 /* Proximity Threshold Triggered */ |
Rhyme | 2:c465a8d44b9a | 309 | #define INT_EN_DIE_TEMP_RDY 0x0002 /* Internal Temperature Ready Flag */ |
Rhyme | 2:c465a8d44b9a | 310 | /* Mode configuration bits */ |
Rhyme | 2:c465a8d44b9a | 311 | #define MODE_HR 0x02 /* Heart Rate mode */ |
Rhyme | 2:c465a8d44b9a | 312 | #define MODE_SPO2 0x03 /* SpO2 mode */ |
Rhyme | 2:c465a8d44b9a | 313 | #define MODE_MULTI_LED 0x07 /* Multi-LED mode */ |
Rhyme | 2:c465a8d44b9a | 314 | #define MODE_RESET 0x40 /* Reset Control, this bit is auto clear */ |
Rhyme | 2:c465a8d44b9a | 315 | #define MODE_SHDN 0x80 /* Shutdown Control */ |
Rhyme | 2:c465a8d44b9a | 316 | |
Rhyme | 2:c465a8d44b9a | 317 | |
Rhyme | 0:4ad9373787e8 | 318 | #endif /* _MAX30101_H_ */ |