Files
QD4C-firmware/app/page/cw_page_ui_widget.c

124 lines
3.9 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "cw_page_ui_widget.h"
/**
* @brief 绘制光标
*
* @param Curser_In 当前光标位置
* @param Curser_Last_In 上一时刻光标位置
*/
void Print_Curser(uint8 Curser_In, uint8 Curser_Last_In) {
ips114_show_string(0, Curser_Last_In, " ");
ips114_show_string(0, Curser_In, ">");
}
/**
* @brief 打印菜单项
*
*/
void Print_Menu(const ITEM *item, uint8 item_sum) {
ips114_show_string(0, 0, " --return--");
for (uint8 i = 0; i < item_sum; i++) {
ips114_show_string(8, i + 1, item[i].text);
}
}
/**
* @brief 打印数值项
*
*/
void Print_Value(const ITEM *item, uint8 item_sum) {
// for (uint8 i = 0; i < item_sum; i++) {
// switch (Param_Data[item[i].data_tag].type) {
// case EINT8:
// ips114_show_int(128, i + 1,
// *((int8 *)Param_Data[item[i].data_tag].p_data), 5);
// break;
// case EINT16:
// ips114_show_int(128, i + 1,
// *((int16 *)Param_Data[item[i].data_tag].p_data), 5);
// break;
// case EINT32:
// ips114_show_int(128, i + 1,
// *((int32 *)Param_Data[item[i].data_tag].p_data), 5);
// break;
// case EUINT8:
// ips114_show_int(128, i + 1,
// *((uint8 *)Param_Data[item[i].data_tag].p_data), 5);
// break;
// case EUINT16:
// ips114_show_int(128, i + 1,
// *((uint16 *)Param_Data[item[i].data_tag].p_data), 5);
// break;
// case EUINT32:
// ips114_show_int(128, i + 1,
// *((uint32 *)Param_Data[item[i].data_tag].p_data), 5);
// case EFLOAT:
// ips114_show_float(128, i + 1,
// *((float *)Param_Data[item[i].data_tag].p_data), 5, 2);
// break;
// default:
// break;
// }
// }
}
/**
* @brief
*
* @param item_num
* @param dir
*/
void Set_Vaule(ITEM *item, uint8 item_num, float step) {
// if (EFLOAT == Param_Data[item[item_num].data_tag].type) { // 待修改变量为浮点
// *((float *)Param_Data[item[item_num].data_tag].p_data) += step;
// ips114_show_float(128, item_num + 1,
// *((float *)Param_Data[item[item_num].data_tag].p_data), 6,
// 2);
// return;
// }
// if (0 < step &&
// 1 > step) { // 避免步进值小于 1 时截尾为 0不知道为啥 ceil 函数不可用
// step = 1;
// } else if (0 > step && -1 < step) {
// step = -1;
// }
// switch (Param_Data[item[item_num].data_tag].type) {
// case EINT8:
// *((int8 *)Param_Data[item[item_num].data_tag].p_data) += (int8)step;
// ips114_show_int(128, item_num + 1,
// *((int8 *)Param_Data[item[item_num].data_tag].p_data), 5);
// break;
// case EINT16:
// *((int16 *)Param_Data[item[item_num].data_tag].p_data) += (int16)step;
// ips114_show_int(128, item_num + 1,
// *((int16 *)Param_Data[item[item_num].data_tag].p_data), 5);
// break;
// case EINT32:
// *((int32 *)Param_Data[item[item_num].data_tag].p_data) += (int32)step;
// ips114_show_int(128, item_num + 1,
// *((int32 *)Param_Data[item[item_num].data_tag].p_data), 5);
// break;
// case EUINT8:
// *((uint8 *)Param_Data[item[item_num].data_tag].p_data) += (uint8)step;
// ips114_show_int(128, item_num + 1,
// *((uint8 *)Param_Data[item[item_num].data_tag].p_data), 5);
// break;
// case EUINT16:
// *((uint16 *)Param_Data[item[item_num].data_tag].p_data) += (uint16)step;
// ips114_show_int(128, item_num + 1,
// *((uint16 *)Param_Data[item[item_num].data_tag].p_data), 5);
// break;
// case EUINT32:
// *((uint32 *)Param_Data[item[item_num].data_tag].p_data) += (uint32)step;
// ips114_show_int(128, item_num + 1,
// *((uint32 *)Param_Data[item[item_num].data_tag].p_data), 5);
// break;
// default:
// break;
// }
}