- IPS200 display menu with real-time status and parameter settings - Camera image processing and line tracking - IMU attitude solution and PID control - WiFi SPI oscilloscope data transmission
69 lines
3.5 KiB
C
69 lines
3.5 KiB
C
#ifndef _USER_MENU_DEVICE_H_
|
|
#define _USER_MENU_DEVICE_H_
|
|
|
|
#include "zf_common_typedef.h" /* 常用类型定义 */
|
|
|
|
/*============================================================
|
|
* 电池电压检测配置
|
|
*============================================================*/
|
|
#define VOLTAGE_PORT (ADC0_CH11_A11) /* 电池电压 ADC 通道 */
|
|
#define VOLTAGE_RECTIFY_COEFFICIENT (1.042832f) /* 电压分压校正系数 */
|
|
|
|
/*============================================================
|
|
* 蜂鸣器与报警配置
|
|
*============================================================*/
|
|
#define BEEP_PIN (P33_10) /* 蜂鸣器 GPIO */
|
|
#define BATT_ALARM_THRESHOLD 30.0f /* 低电量报警阈值 (%) */
|
|
|
|
/*============================================================
|
|
* 电机控制引脚配置
|
|
*============================================================*/
|
|
#define VACUUM_PWM (ATOM0_CH0_P21_2) /* 真空泵 PWM 引脚 */
|
|
|
|
/*============================================================
|
|
* IPS200 显示屏配置
|
|
*============================================================*/
|
|
/* 根据实际硬件选择 SPI 或 并口 方式:
|
|
* IPS200_TYPE_SPI - SPI 接口模式
|
|
* IPS200_TYPE_PARALLEL8 - 8位并口模式 */
|
|
#define IPS200_HARDWARE_TYPE (IPS200_TYPE_SPI)
|
|
|
|
/*============================================================
|
|
* 全局变量声明 (定义在 cpu0_main.c 中)
|
|
*============================================================*/
|
|
|
|
/* ----- 编码器数据 (在 isr.c 中更新) ----- */
|
|
extern volatile int16 encoder_data_1; /* 编码器1计数值 */
|
|
extern volatile int16 encoder_data_2; /* 编码器2计数值 */
|
|
|
|
/* ----- IMU 数据 (在 isr.c 中更新, 变量定义在 zf_device_imu660rb.c) ----- */
|
|
extern int16 imu660rb_acc_x; /* X轴加速度 */
|
|
extern int16 imu660rb_acc_y; /* Y轴加速度 */
|
|
extern int16 imu660rb_acc_z; /* Z轴加速度 */
|
|
extern int16 imu660rb_gyro_x; /* X轴角速度 */
|
|
extern int16 imu660rb_gyro_y; /* Y轴角速度 */
|
|
extern int16 imu660rb_gyro_z; /* Z轴角速度 */
|
|
|
|
/*============================================================
|
|
* 全局变量声明 (由 user_menu_device.c 定义)
|
|
*============================================================*/
|
|
|
|
/* ----- 电池电压变量 ----- */
|
|
extern float battery_voltage; /* 电池电压值 (V) */
|
|
extern float battery_percentage; /* 电池剩余百分比 (0-100) */
|
|
extern float battery_percentage_filter; /* 电池百分比(低通滤波后) */
|
|
|
|
/* ----- CPU占用率变量 ----- */
|
|
extern float cpu_usage_percentage; /* CPU占用率 (0-100) */
|
|
extern float cpu_usage_percentage_filter; /* CPU占用率(低通滤波后) */
|
|
|
|
/*============================================================
|
|
* 函数声明
|
|
*============================================================*/
|
|
void battery_voltage_gather(uint16 adc_get_data); /* 采集电池电压计算电量 */
|
|
void cpu_usage_record_frame(uint32 frame_busy_us); /* 记录帧处理耗时并统计占用率 */
|
|
void low_battery_alarm_check(void); /* 低电量蜂鸣报警 */
|
|
|
|
|
|
#endif
|