cun
This commit is contained in:
@ -38,6 +38,9 @@ static void rc_ble_state_set_disconnected(void);
|
||||
//进程名称
|
||||
static char control_key_task_name[] = "control_key";
|
||||
|
||||
//进程运行中标志
|
||||
static u8 key_detect_sign = 0; //为1表示正在运行
|
||||
|
||||
// ==================================================================================================================================================================
|
||||
// 全局变量
|
||||
// ==================================================================================================================================================================
|
||||
@ -242,8 +245,8 @@ void control_key_init(void){
|
||||
* @param key2_state 按键2值
|
||||
*/
|
||||
void control_key_get_value(u16* Xout_adc, u16* Yout_adc, u8* key1_state, u8* key2_state){
|
||||
*Xout_adc = (u16)adc_get_value(AD_CH_PG5);
|
||||
*Yout_adc = (u16)adc_get_value(AD_CH_PG7);
|
||||
*Xout_adc = (u16)adc_get_value(AD_CH_PG5) * 65;
|
||||
*Yout_adc = (u16)adc_get_value(AD_CH_PG7) * 65;
|
||||
|
||||
*key1_state = gpio_read(IO_PORTG_06);
|
||||
rc_log("adc_get_value: Xout = %d, Yout = %d, key1_state = %d, key2_state = %d\n", *Xout_adc , *Yout_adc, *key1_state, 1);
|
||||
@ -258,11 +261,11 @@ void contol_key_task(void){
|
||||
static u16 Xout_adc = 0;
|
||||
static u16 Yout_adc = 0;
|
||||
static u8 key1_state = 1;
|
||||
u8 ble_data_buff[12] = {0xBE, 0xBB, 0x0A, 0x01, //0-3
|
||||
u8 ble_data_buff[12] = {0xBE, 0xBB, 0x09, 0x01, //0-3
|
||||
0x00, 0x00, 0x00, 0x00, //4-7 遥感值:上下、左右
|
||||
0x00, 0x00, //8、9 两个按键
|
||||
0x00, //10 电量百分比
|
||||
0x0C}; //11 校验和
|
||||
0x00}; //11 校验和
|
||||
|
||||
control_key_init(); //遥感按键初始化
|
||||
|
||||
@ -281,12 +284,35 @@ void contol_key_task(void){
|
||||
|
||||
ble_data_buff[10] = get_vbat_percent();
|
||||
|
||||
ble_data_buff[11] = 0;
|
||||
for(int i = 0 ;i < 11; i++){
|
||||
ble_data_buff[11] += ble_data_buff[i];
|
||||
}
|
||||
|
||||
g_send_data_to_ble_server(ble_data_buff, sizeof(ble_data_buff));
|
||||
os_time_dly(5);
|
||||
os_time_dly(5); //10ms为单位
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 和主板ble连接上后会被调用
|
||||
*
|
||||
*/
|
||||
void create_key_detect_thread(void){
|
||||
key_detect_sign = 1;
|
||||
os_task_create(contol_key_task, NULL, 1, 2048, 128, control_key_task_name);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 和主板ble断连后会被调用
|
||||
*
|
||||
*/
|
||||
void destroy_key_detect_thread(void){
|
||||
if(key_detect_sign == 1){
|
||||
key_detect_sign = 0;
|
||||
os_task_del(control_key_task_name);
|
||||
}
|
||||
}
|
||||
|
||||
// ==================================================================================================================================================================
|
||||
// 辅助函数
|
||||
@ -341,19 +367,19 @@ void rc_app_main_init(void)
|
||||
{
|
||||
rc_log("Initializing Remote Control App...\n");
|
||||
|
||||
// 1. 初始化全局上下文
|
||||
// 初始化全局上下文
|
||||
memset(&g_rc_context, 0, sizeof(RC_Context_t));
|
||||
g_rc_context.state = RC_STATE_DISCONNECTED; // 初始状态为未连接
|
||||
g_rc_context.team = TEAM_NO;
|
||||
FM176XX_HardInit();
|
||||
|
||||
// 2. 检查并启动RFID处理定时器
|
||||
// 检查并启动RFID处理定时器
|
||||
if (g_rfid_timer_id == 0) {
|
||||
// g_rfid_timer_id = sys_timer_add(NULL, rc_rfid_callback_handler, RC_RFID_CALLBACK_INTERVAL_MS);
|
||||
rc_log("RFID handler timer started (ID: %d).\n", g_rfid_timer_id);
|
||||
}
|
||||
|
||||
// 3. 检查并启动BLE处理定时器
|
||||
// 检查并启动BLE处理定时器
|
||||
if (g_ble_timer_id == 0) {
|
||||
// g_ble_timer_id = sys_timer_add(NULL, rc_ble_callback_handler, RC_BLE_CALLBACK_INTERVAL_MS);
|
||||
rc_log("BLE handler timer started (ID: %d).\n", g_ble_timer_id);
|
||||
@ -381,8 +407,9 @@ void test_task(void){
|
||||
}
|
||||
void test_func_main(void){
|
||||
#if TEST_FUNCTION == 1
|
||||
|
||||
// os_task_create(test_task, NULL, 1, 1024, 128, "rfid_test");
|
||||
os_task_create(contol_key_task, NULL, 1, 2048, 128, control_key_task_name);
|
||||
// os_task_create(contol_key_task, NULL, 1, 2048, 128, control_key_task_name);
|
||||
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user