diff --git a/app/src/ble_data_processer_utils.c b/app/src/ble_data_processer_utils.c index 047556f..ef3e5e3 100644 --- a/app/src/ble_data_processer_utils.c +++ b/app/src/ble_data_processer_utils.c @@ -45,7 +45,14 @@ void report_ecg_data(app_event_t* data) { reportpacket->sample_data_num = ECG_DATA_REPORT_FRAME_NUM; for (int i = 0; i < ECG_DATA_REPORT_FRAME_NUM; i++) { - reportpacket->frame[i] = data->val.ecg_data_report_event.ecgData->frame[i].data; + int32_t frame = data->val.ecg_data_report_event.ecgData->frame[i].data; + if (frame >= INT16_MAX) { + reportpacket->frame[i] = INT16_MAX; + } else if (frame <= INT16_MIN) { + reportpacket->frame[i] = INT16_MIN; + } else { + reportpacket->frame[i] = frame; + } } uint8_t leadoffstate = 0; for (int i = 0; i < ECG_DATA_REPORT_FRAME_NUM; i++) {