cun
This commit is contained in:
@ -572,7 +572,7 @@ void skiing_tracker_update(skiing_tracker_t *tracker, float *acc_g, float *gyr_d
|
||||
* @param angle_data 传入的欧若拉角数据
|
||||
* @return 速度cm/s
|
||||
*/
|
||||
int sensor_processing_task(signed short* acc_data_buf, signed short* gyr_data_buf, float* angle_data, float* quaternion) {
|
||||
uint16_t sensor_processing_task(signed short* acc_data_buf, signed short* gyr_data_buf, float* angle_data, float* quaternion) {
|
||||
|
||||
static int initialized = 0;
|
||||
static float acc_data_g[3];
|
||||
@ -630,6 +630,6 @@ int sensor_processing_task(signed short* acc_data_buf, signed short* gyr_data_bu
|
||||
skiing_tracker_update(&my_skiing_tracker, acc_data_g, gyr_data_dps, angle_data, delta_time);
|
||||
|
||||
|
||||
return (int)(my_skiing_tracker.speed * 100);
|
||||
return (uint16_t)(my_skiing_tracker.speed * 100);
|
||||
}
|
||||
|
||||
|
||||
@ -84,5 +84,5 @@ typedef struct{
|
||||
*/
|
||||
void skiing_tracker_init(skiing_tracker_t *tracker);
|
||||
|
||||
int sensor_processing_task(signed short* acc_data_buf, signed short* gyr_data_buf, float* angle_data, float* quaternion);
|
||||
uint16_t sensor_processing_task(signed short* acc_data_buf, signed short* gyr_data_buf, float* angle_data, float* quaternion);
|
||||
#endif // SKIING_TRACKER_H
|
||||
@ -61,7 +61,7 @@ typedef struct {
|
||||
// -- 磁力计 --
|
||||
uint8_t mmc5603nj_buffer[9];
|
||||
// -- 速度 --
|
||||
int speed_cms;
|
||||
uint16_t speed_cms;
|
||||
// -- 气压计 --
|
||||
//...
|
||||
} BLE_send_data_t;
|
||||
@ -70,7 +70,7 @@ static int count = 0;
|
||||
|
||||
// --- 环形缓冲区 ---
|
||||
static circle_buffer_t BLE_send_buff; // 环形缓冲区管理结构体
|
||||
|
||||
BLE_send_data_t BLE_send_data[SENSOR_DATA_BUFFER_SIZE];
|
||||
|
||||
//END -- 变量定义
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@ -124,7 +124,7 @@ void start_collect_fuc(void){
|
||||
static int initialized = 0;
|
||||
static int calibration_done = 0;
|
||||
char status = 0;
|
||||
BLE_send_data_t BLE_send_data;
|
||||
BLE_send_data_t BLE_send_data_tmp;
|
||||
uint8_t mmc5603nj_buffer[9];
|
||||
signed short acc_data_buf[3];
|
||||
signed short gyr_data_buf[3];
|
||||
@ -140,14 +140,32 @@ void start_collect_fuc(void){
|
||||
|
||||
memcpy(acc_data_buf, &combined_raw_data[0], 3 * sizeof(signed short));
|
||||
memcpy(gyr_data_buf, &combined_raw_data[3], 3 * sizeof(signed short));
|
||||
int speed = sensor_processing_task(acc_data_buf,gyr_data_buf,angle, quaternion_output);
|
||||
uint16_t speed = sensor_processing_task(acc_data_buf,gyr_data_buf,angle, quaternion_output);
|
||||
|
||||
// -- 数据包装进结构体 --
|
||||
memcpy(BLE_send_data_tmp.acc_data, acc_data_buf, 3 * sizeof(signed short));
|
||||
memcpy(BLE_send_data_tmp.gyr_data, gyr_data_buf, 3 * sizeof(signed short));
|
||||
memcpy(BLE_send_data_tmp.mmc5603nj_buffer, mmc5603nj_buffer, 9);
|
||||
BLE_send_data_tmp.speed_cms = speed;
|
||||
|
||||
// -- 放进缓冲区 --
|
||||
if(circle_buffer_is_full(&BLE_send_buff) == 0){
|
||||
circle_buffer_write(&BLE_send_buff, &BLE_send_data_tmp);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief ble数据发送
|
||||
*
|
||||
*/
|
||||
void BLE_send_fuc(void){
|
||||
BLE_send_data_t BLE_send_data_tmp;
|
||||
if(circle_buffer_is_empty(&BLE_send_buff) == 0){
|
||||
circle_buffer_read(&BLE_send_buff, &BLE_send_data_tmp);
|
||||
}
|
||||
|
||||
memcpy(BLE_send_data.acc_data, acc_data_buf, 3 * sizeof(signed short));
|
||||
memcpy(BLE_send_data.gyr_data, gyr_data_buf, 3 * sizeof(signed short));
|
||||
memcpy(BLE_send_data.mmc5603nj_buffer, mmc5603nj_buffer, 9);
|
||||
BLE_send_data.speed_cms = speed;
|
||||
|
||||
|
||||
}
|
||||
@ -171,6 +189,6 @@ void xtell_task_create(void){
|
||||
|
||||
xlog("xtell_task_create\n");
|
||||
|
||||
circle_buffer_init(&BLE_send_buff, sensor_read_buffer, SENSOR_DATA_BUFFER_SIZE, sizeof(BLE_send_data_t));
|
||||
circle_buffer_init(&BLE_send_buff, BLE_send_data, SENSOR_DATA_BUFFER_SIZE, sizeof(BLE_send_data_t));
|
||||
|
||||
}
|
||||
|
||||
@ -93,6 +93,7 @@ u8 MMC5603nj_init = 0; //地磁是否初始化
|
||||
// -- 线程id --
|
||||
u16 SC7U22_calibration_id;
|
||||
u16 start_collect_fuc_id;
|
||||
u16 BLE_send_fuc_id;
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
extern int bt_hci_event_handler(struct bt_event *bt);
|
||||
|
||||
Reference in New Issue
Block a user