Browse Source

update

master
zhaohe 1 year ago
parent
commit
99ccfa0a65
  1. 43
      app/src/app_ble_service.c
  2. 12
      app/src/heart_wave_sample_service.c
  3. 37
      test.txt

43
app/src/app_ble_service.c

@ -18,8 +18,8 @@ static uint8_t rxbufcache[256];
static bool is_rxbufcache_used = false; //
static bool m_realtime_report_state = false; //
static uint8_t m_txbuf[128];
static uint8_t m_reportbuf[128];
static uint8_t m_txbuf[256];
static uint8_t m_reportbuf[256];
APP_TIMER_DEF(m_record_upload_tmr); //
APP_TIMER_DEF(m_record_upload_finish_packet_report_tmr); //
@ -111,7 +111,7 @@ static void prvf_try_report_sample_end_event() {
return;
}
void prvf_report_sample_data(uint32_t frameIndex, uint32_t data, uint32_t data2, uint32_t data3) {
void prvf_report_sample_data(uint32_t frameIndex, one_frame_data_t* data, int32_t ndata) {
if (!m_realtime_report_state) {
return;
}
@ -125,19 +125,22 @@ void prvf_report_sample_data(uint32_t frameIndex, uint32_t data, uint32_t data2,
/**
* @brief
*/
// reportpacket->data[0] = (data >> 0) & 0xFF;
// reportpacket->data[1] = (data >> 8) & 0xFF;
// reportpacket->data[2] = (data >> 16) & 0xFF;
// reportpacket->data[3] =
for (int i = 0; i < ndata; i++) {
*(uint32_t*)(reportpacket->data) = data;
*(uint32_t*)(reportpacket->data + 4) = data2;
*(uint32_t*)(reportpacket->data + 8) = data3;
reportpacket->data[i * 9 + 0] = ((data[i].data0)) >> 0;
reportpacket->data[i * 9 + 1] = ((data[i].data0)) >> 8;
reportpacket->data[i * 9 + 2] = ((data[i].data0)) >> 16;
// reportpacket->data[12] = 0xFE;
// reportpacket->data[13] = 0xEF;
reportpacket->data[i * 9 + 3] = ((data[i].data1)) >> 0;
reportpacket->data[i * 9 + 4] = ((data[i].data1)) >> 8;
reportpacket->data[i * 9 + 5] = ((data[i].data1)) >> 16;
uint16_t sendlen = sizeof(heartrate_report_packet_t) + 4 * 3;
reportpacket->data[i * 9 + 6] = ((data[i].data2)) >> 0;
reportpacket->data[i * 9 + 7] = ((data[i].data2)) >> 8;
reportpacket->data[i * 9 + 8] = ((data[i].data2)) >> 16;
}
uint16_t sendlen = sizeof(heartrate_report_packet_t) + ndata * 9;
ZLOGI("report data %d %d", sendlen, ndata);
zdatachannel_data_send2(m_reportbuf, sendlen);
return;
}
@ -505,10 +508,10 @@ static void app_event_listener(void* p_event_data, uint16_t event_size) { //
static int cnt = 0;
cnt++;
if (DeviceCtrl_now_state() == kdevice_state_sampling && cnt % 10 == 0) {
uint8_t drop0 = hwss_get_drop_state0();
uint8_t drop1 = hwss_get_drop_state1();
ZLOGI("[%d] drop %s", znordic_getpower_on_ms(), dropstate(drop0, drop1));
prvf_try_report_sensor_drop_event(drop0, drop1);
// uint8_t drop0 = hwss_get_drop_state0();
// uint8_t drop1 = hwss_get_drop_state1();
// ZLOGI("[%d] drop %s", znordic_getpower_on_ms(), dropstate(drop0, drop1));
// prvf_try_report_sensor_drop_event(drop0, drop1);
}
} else if (event->eventType == kevent_sample_stop_event) {
@ -517,10 +520,8 @@ static void app_event_listener(void* p_event_data, uint16_t event_size) { //
//
if (m_realtime_report_state) {
//
prvf_report_sample_data(event->val.little_data_block.frameIndex, //
event->val.little_data_block.data[0].data0, //
event->val.little_data_block.data[0].data1, //
event->val.little_data_block.data[0].data2);
prvf_report_sample_data(event->val.little_data_block.frameIndex, //
event->val.little_data_block.data, LITTLE_DATA_BLOCK_FRAME_NUM);
}
}
}

12
app/src/heart_wave_sample_service.c

@ -138,9 +138,9 @@ static inline void prvf_light_block_trigger_event() {
// memcpy(event.val.little_data_block.data, m_sensor_little_frame_cache, LITTLE_DATA_BLOCK_FRAME_NUM * sizeof(one_frame_data_t));
for (uint32_t i = 0; i < LITTLE_DATA_BLOCK_FRAME_NUM; i++) {
event.val.little_data_block.data[i].data0 = m_sensor_little_frame_cache[0].data0;
event.val.little_data_block.data[i].data1 = m_sensor_little_frame_cache[0].data1;
event.val.little_data_block.data[i].data2 = m_sensor_little_frame_cache[0].data2;
event.val.little_data_block.data[i].data0 = m_sensor_little_frame_cache[i].data0;
event.val.little_data_block.data[i].data1 = m_sensor_little_frame_cache[i].data1;
event.val.little_data_block.data[i].data2 = m_sensor_little_frame_cache[i].data2;
// event.val.little_data_block.data[0].data0 = 1111111111;
// event.val.little_data_block.data[0].data1 = 2222222222;
// event.val.little_data_block.data[0].data2 = 3333333333;
@ -418,8 +418,8 @@ void hwss_init(void) {
ZASSERT(SAMPLE_RATE == 400);
uint32_t timer_ticks = nrfx_timer_ms_to_ticks(&m_timer, 5); // 200HZ
ZLOGI("timer_ticks:%d\n", timer_ticks);
ZASSERT(timer_ticks % 2 == 0); //
timer_ticks = timer_ticks / 2; // 400HZ
ZASSERT(timer_ticks % 2 == 0); //
timer_ticks = timer_ticks / 2; // 400HZ
nrfx_timer_extended_compare(&m_timer, NRF_TIMER_CC_CHANNEL0, timer_ticks, NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK, true);
}
@ -434,6 +434,7 @@ void hwss_start_capture(void) {
m_work_flag = true;
m_frame_index = 0;
m_frame_filter_index = 0;
prvf_light_block_cache_clear();
ads1293_start_conversion(&m_ads1293_0);
ads1293_start_conversion(&m_ads1293_1);
nrfx_timer_enable(&m_timer);
@ -443,6 +444,7 @@ void hwss_stop_capture(void) {
m_work_flag = false;
m_frame_index = 0;
m_frame_filter_index = 0;
prvf_light_block_cache_clear();
ads1293_stop_conversion(&m_ads1293_0);
ads1293_stop_conversion(&m_ads1293_1);
}

37
test.txt

@ -0,0 +1,37 @@
单导:
采样率:500HZ
位宽:12位
上报频率
100HZ
上报数据示例:
0: 0帧数据(2BYTE),1帧数据(2BYTE),2帧数据(2BYTE),3帧数据(2BYTE),4帧数据(2BYTE)
5: 5帧数据(2BYTE),6帧数据(2BYTE),7帧数据(2BYTE),8帧数据(2BYTE),9帧数据(2BYTE)
10:10帧数据(2BYTE),11帧数据(2BYTE),12帧数据(2BYTE),13帧数据(2BYTE),14帧数据(2BYTE)
15:15帧数据(2BYTE),16帧数据(2BYTE),17帧数据(2BYTE),18帧数据(2BYTE),19帧数据(2BYTE)
三导:
采样率:400HZ
位宽:24位
上报频率:
100HZ
上报数据示例:
0: 0帧数据_CH0(3BYTE),0帧数据_CH1(3BYTE),0帧数据_CH2(3BYTE),
1帧数据_CH0(3BYTE),1帧数据_CH1(3BYTE),1帧数据_CH2(3BYTE),
2帧数据_CH0(3BYTE),2帧数据_CH1(3BYTE),2帧数据_CH2(3BYTE),
3帧数据_CH0(3BYTE),3帧数据_CH1(3BYTE),3帧数据_CH2(3BYTE),
4: 4帧数据_CH0(3BYTE),4帧数据_CH1(3BYTE),4帧数据_CH2(3BYTE),
5帧数据_CH0(3BYTE),5帧数据_CH1(3BYTE),5帧数据_CH2(3BYTE),
6帧数据_CH0(3BYTE),6帧数据_CH1(3BYTE),6帧数据_CH2(3BYTE),
7帧数据_CH0(3BYTE),7帧数据_CH1(3BYTE),7帧数据_CH2(3BYTE),
8: 8帧数据_CH0(3BYTE),8帧数据_CH1(3BYTE),8帧数据_CH2(3BYTE),
9帧数据_CH0(3BYTE),9帧数据_CH1(3BYTE),9帧数据_CH2(3BYTE),
10帧数据_CH0(3BYTE),10帧数据_CH1(3BYTE),10帧数据_CH2(3BYTE),
11帧数据_CH0(3BYTE),311数据_CH1(3BYTE),311数据_CH2(3BYTE),
Loading…
Cancel
Save