Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void vSPO2Meas(void const * argument)
- {
- uint16_t i=0;
- for(;;)
- {
- for(i=0;i<n_ir_buffer_length;i++)
- {
- while(HAL_GPIO_ReadPin(MAX30102_INT_GPIO_Port, MAX30102_INT_Pin)==1); //wait until the interrupt pin asserts
- maxim_max30102_read_fifo(hi2c1, (aun_red_buffer+i), (aun_ir_buffer+i)); //read from MAX30102 FIFO
- if(un_min>aun_red_buffer[i])
- un_min=aun_red_buffer[i]; //update signal min
- if(un_max<aun_red_buffer[i])
- un_max=aun_red_buffer[i]; //update signal max
- }
- un_prev_data=aun_red_buffer[i];
- //calculate heart rate and SpO2 after 500 samples
- saturation=maxim_heart_rate_and_oxygen_saturation(aun_ir_buffer, n_ir_buffer_length, aun_red_buffer, &n_sp02, &ch_spo2_valid, &n_heart_rate, &ch_hr_valid);
- //sp02toUART(huart3, n_sp02, ch_spo2_valid);
- osDelay(10000);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement