signal_generator/User/driver/uart_lcd.h

56 lines
1.6 KiB
C

/*
* @Author: wangxujie wangxujie@wuxismart.com
* @Date: 2025-03-10 15:05:20
* @LastEditors: wangxujie wangxujie@wuxismart.com
* @LastEditTime: 2025-07-29 15:28:31
* @FilePath: \signal_generator\User\driver\uart_lcd.h
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#ifndef __UART_LCD_H__
#define __UART_LCD_H__
#include "main.h"
typedef struct
{
uint8_t cmd_head; // 帧头
uint8_t cmd_type; // 命令类型
uint8_t cmd_ctrl_type; // 控制类型
uint16_t cmd_page_id; // 画面ID
uint16_t cmd_ctrl_id; // 控件ID
uint8_t cmd_curve_channel; // 曲线通道
uint16_t cmd_data_len; // 数据长度
uint8_t cmd_data[256]; // 数据内容
uint32_t cmd_tail; // 帧尾
} lcd_makecurve_t; // lcd绘制曲线结构体
extern lcd_makecurve_t lcd_makecurve_data;
typedef struct
{
uint8_t page_num;
uint8_t key_state[3];
uint8_t current_value[2];
uint8_t lcd_flag;
} uart_lcd_t;
extern uart_lcd_t uart_lcd_state;
typedef struct
{
uint8_t confirm_key_flag;
uint8_t confirm_key_flag_last;
int direction;
int encode_num_last;
int encode_num;
} ec11_t;
extern ec11_t ec11_data;
void uart_lcd_draw_ipaddr(void);
void uart_lcd_init(void);
void uart_lcd_current_out(uint8_t channel);
void uart_lcd_channel_switch(uint8_t channel);
void uart_lcd_page_switch(uint8_t page);
void uart_lcd_ecll_control_current_out(void);
void uart_lcd_ec11_control_current(void);
void uart_lcd_makecurvet(lcd_makecurve_t *makecurve_data);
void uart_lcd_makecurve_test(void);
#endif