更新: mux_signal接入
This commit is contained in:
parent
f84a3753de
commit
4fefdd6e8e
|
@ -10,6 +10,7 @@
|
||||||
#define __APPS_GATHER_H
|
#define __APPS_GATHER_H
|
||||||
|
|
||||||
//provided by ZhangXiaoMing
|
//provided by ZhangXiaoMing
|
||||||
|
//{
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "tm1650.h"
|
#include "tm1650.h"
|
||||||
#include "mux_signal.h"
|
#include "mux_signal.h"
|
||||||
|
@ -23,6 +24,48 @@
|
||||||
#include "SIG24130.h"
|
#include "SIG24130.h"
|
||||||
#include "FreeRTOS.h"
|
#include "FreeRTOS.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
|
#if 0
|
||||||
|
// typedef enum
|
||||||
|
// {
|
||||||
|
// CH0_OUT_VOL_V = 0,
|
||||||
|
// CH1_OUT_VOL_MV,
|
||||||
|
// CH2_OUT_CUR,
|
||||||
|
// CH3_OUT_FRE,
|
||||||
|
// CH4_OUT_RES,
|
||||||
|
// CH5_IN_VOL,
|
||||||
|
// CH6_IN_MVOL,
|
||||||
|
// CH7_IN_CUR,
|
||||||
|
// CH8_IN_FRE,
|
||||||
|
// CH9_IN_TC,
|
||||||
|
// CH10_IN_RTD,
|
||||||
|
// CH11_IN_HART,
|
||||||
|
// CHX_IN_MAX,
|
||||||
|
|
||||||
|
// } CHANNEL;
|
||||||
|
|
||||||
|
// typedef struct
|
||||||
|
// {
|
||||||
|
// uint8_t capture_cnt;
|
||||||
|
// uint8_t over_cnt;
|
||||||
|
// float32 high_time; // 高电平时间
|
||||||
|
// float32 duty_time; // 周期
|
||||||
|
// float32 freq;
|
||||||
|
// float32 capture_buf[3];
|
||||||
|
// } st_freq_signal;
|
||||||
|
|
||||||
|
// typedef struct
|
||||||
|
// {
|
||||||
|
// CHANNEL channel;
|
||||||
|
// float32 data_sv;
|
||||||
|
// float32 data_pv;
|
||||||
|
// float32 pwr_delay;
|
||||||
|
// } st_mux_signal;
|
||||||
|
|
||||||
|
// extern st_freq_signal freq_signal;
|
||||||
|
// extern st_mux_signal mux_signal;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//}
|
||||||
|
|
||||||
//LVGL
|
//LVGL
|
||||||
#include "lvgl.h" // 它为整个LVGL提供了更完整的头文件引用
|
#include "lvgl.h" // 它为整个LVGL提供了更完整的头文件引用
|
||||||
|
@ -338,6 +381,12 @@ void set_output(int32_t sto);
|
||||||
//该函数仅适用于改变前后符号相同的情况
|
//该函数仅适用于改变前后符号相同的情况
|
||||||
void change_nixie_cube_OUT(uint8_t dir, uint8_t val);
|
void change_nixie_cube_OUT(uint8_t dir, uint8_t val);
|
||||||
|
|
||||||
|
//通道选择与切换
|
||||||
|
void sig_channel_select(uint8_t io, SIG_FUNCTIONS_TYPE type);
|
||||||
|
|
||||||
|
//更新设定值(根据ON\OFF状态)
|
||||||
|
void sig_sv_update(void);
|
||||||
|
|
||||||
//设置工作模式和工作模式类型
|
//设置工作模式和工作模式类型
|
||||||
void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type);
|
void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type);
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ extern int plot_1500ms_flag;
|
||||||
extern int plot_1500ms_cnt;
|
extern int plot_1500ms_cnt;
|
||||||
extern int twk_1000ms_flag;
|
extern int twk_1000ms_flag;
|
||||||
extern int twk_1000ms_cnt;
|
extern int twk_1000ms_cnt;
|
||||||
|
extern int input_500ms_flag;
|
||||||
|
|
||||||
void duty_tim3(void);
|
void duty_tim3(void);
|
||||||
void duty_tim6(void);
|
void duty_tim6(void);
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: wujunchao wujunchao@wuxismart.com
|
* @Author: wujunchao wujunchao@wuxismart.com
|
||||||
* @Date: 2024-12-27 11:50:56
|
* @Date: 2024-12-27 11:50:56
|
||||||
* @LastEditors: wujunchao wujunchao@wuxismart.com
|
* @LastEditors: wujunchao wujunchao@wuxismart.com
|
||||||
* @LastEditTime: 2025-03-13 12:52:58
|
* @LastEditTime: 2025-03-13 14:43:02
|
||||||
* @FilePath: \signal_generator\App\APP_WU\Src\apps_gather.c
|
* @FilePath: \signal_generator\App\APP_WU\Src\apps_gather.c
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
*/
|
*/
|
||||||
|
@ -123,6 +123,7 @@ void menu_data_init(void)
|
||||||
m5data.input_mode_type = VOL[0].typ; //电压单位初始为V
|
m5data.input_mode_type = VOL[0].typ; //电压单位初始为V
|
||||||
m5data.output_mode = VOL[0].tag; //输出功能初始为电压模式
|
m5data.output_mode = VOL[0].tag; //输出功能初始为电压模式
|
||||||
m5data.output_mode_type = VOL[0].typ; //电压单位初始为V
|
m5data.output_mode_type = VOL[0].typ; //电压单位初始为V
|
||||||
|
sig_channel_select(m5data.io_mode, m5data.output_mode_type);
|
||||||
|
|
||||||
//chart组件显示(int),绘图值
|
//chart组件显示(int),绘图值
|
||||||
pltdata.y_pri_low = 0; //主轴的显示下限,0,通常不做修改
|
pltdata.y_pri_low = 0; //主轴的显示下限,0,通常不做修改
|
||||||
|
@ -501,15 +502,13 @@ void key_functions_main(void)
|
||||||
if(m5data.io_on2off == IO_ON)
|
if(m5data.io_on2off == IO_ON)
|
||||||
{
|
{
|
||||||
m5data.io_on2off = IO_OFF;
|
m5data.io_on2off = IO_OFF;
|
||||||
lv_label_set_text(guider_ui.screen_main_label_ONOFF, "OFF");
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m5data.io_on2off = IO_ON;
|
m5data.io_on2off = IO_ON;
|
||||||
lv_label_set_text(guider_ui.screen_main_label_ONOFF, "ON");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
io_on2off_status(); //更新状态指示
|
io_on2off_status(); //更新ON/OFF/IN/OUT状态指示
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -723,7 +722,6 @@ void key_functions_main(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -791,6 +789,9 @@ void scr_init_run(void)
|
||||||
|
|
||||||
void scr_main_run(void)
|
void scr_main_run(void)
|
||||||
{
|
{
|
||||||
|
//实时更新设定值
|
||||||
|
sig_sv_update(); //不做延时,尽快响应
|
||||||
|
|
||||||
//运行时间显示
|
//运行时间显示
|
||||||
runtime_show(); //1000ms
|
runtime_show(); //1000ms
|
||||||
|
|
||||||
|
@ -800,8 +801,8 @@ void scr_main_run(void)
|
||||||
//动态曲线绘制
|
//动态曲线绘制
|
||||||
plot_drawing(); //1500ms
|
plot_drawing(); //1500ms
|
||||||
|
|
||||||
//当前输入值/测量值显示,已迁移至runtime_show(),两者共用 heart_1000ms_flag
|
//当前输入值/测量值显示
|
||||||
//input_value_show(); //1000ms
|
input_value_show(); //500ms
|
||||||
|
|
||||||
//数值闪烁
|
//数值闪烁
|
||||||
num_twinkle(); //1000ms
|
num_twinkle(); //1000ms
|
||||||
|
@ -1558,6 +1559,140 @@ void change_nixie_cube_OUT(uint8_t dir, uint8_t val)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//通道选择与切换
|
||||||
|
void sig_channel_select(uint8_t io, SIG_FUNCTIONS_TYPE type)
|
||||||
|
{
|
||||||
|
switch (io)
|
||||||
|
{
|
||||||
|
case IO_INPUT:
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case VOLTAGE_MV:
|
||||||
|
{
|
||||||
|
mux_signal.channel = CH6_IN_MVOL;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VOLTAGE_V:
|
||||||
|
{
|
||||||
|
mux_signal.channel = CH5_IN_VOL;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CURRENT_MA:
|
||||||
|
{
|
||||||
|
mux_signal.channel = CH7_IN_CUR;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RESISTANT_OHM:
|
||||||
|
{}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FREQUENCE_KHZ:
|
||||||
|
{
|
||||||
|
mux_signal.channel = CH8_IN_FRE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TC_K:
|
||||||
|
{
|
||||||
|
mux_signal.channel = CH9_IN_TC;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RTD_DC:
|
||||||
|
{
|
||||||
|
mux_signal.channel = CH10_IN_RTD;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case IO_OUTPUT:
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case VOLTAGE_MV:
|
||||||
|
{
|
||||||
|
mux_signal.channel = CH1_OUT_VOL_MV;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case VOLTAGE_V:
|
||||||
|
{
|
||||||
|
mux_signal.channel = CH0_OUT_VOL_V;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CURRENT_MA:
|
||||||
|
{
|
||||||
|
mux_signal.channel = CH2_OUT_CUR;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RESISTANT_OHM:
|
||||||
|
{
|
||||||
|
mux_signal.channel = CH4_OUT_RES;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case FREQUENCE_KHZ:
|
||||||
|
{
|
||||||
|
mux_signal.channel = CH3_OUT_FRE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TC_K:
|
||||||
|
{
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case RTD_DC:
|
||||||
|
{
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//更新设定值(根据ON\OFF状态)
|
||||||
|
float32 sv_watch = 0;
|
||||||
|
void sig_sv_update(void)
|
||||||
|
{
|
||||||
|
switch (m5data.io_on2off)
|
||||||
|
{
|
||||||
|
case IO_ON:
|
||||||
|
{
|
||||||
|
sv_watch = get_output_value();
|
||||||
|
mux_signal.data_sv = get_output_value();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case IO_OFF:
|
||||||
|
{
|
||||||
|
mux_signal.data_sv = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//设置工作模式和工作模式类型
|
//设置工作模式和工作模式类型
|
||||||
void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type)
|
void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type)
|
||||||
{
|
{
|
||||||
|
@ -1565,6 +1700,7 @@ void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type)
|
||||||
//{
|
//{
|
||||||
//功能关闭
|
//功能关闭
|
||||||
m5data.io_on2off = IO_OFF;
|
m5data.io_on2off = IO_OFF;
|
||||||
|
io_on2off_status(); //更新ON/OFF/IN/OUT状态指示
|
||||||
|
|
||||||
//数码管参数清零
|
//数码管参数清零
|
||||||
for(uint8_t i = 0; i < 7; i++) //用于数值显示的数组,初值为0
|
for(uint8_t i = 0; i < 7; i++) //用于数值显示的数组,初值为0
|
||||||
|
@ -1586,7 +1722,6 @@ void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type)
|
||||||
pltdata.yreal_scd_value = 0;
|
pltdata.yreal_scd_value = 0;
|
||||||
pltdata.yreal_scd_value_prv = 0;
|
pltdata.yreal_scd_value_prv = 0;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
switch (mode)
|
switch (mode)
|
||||||
{
|
{
|
||||||
//电压
|
//电压
|
||||||
|
@ -1780,10 +1915,20 @@ void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type)
|
||||||
|
|
||||||
//当前输出数值更新为新的上下限
|
//当前输出数值更新为新的上下限
|
||||||
set_output(pltdata.yreal_pri_low*1000);
|
set_output(pltdata.yreal_pri_low*1000);
|
||||||
|
|
||||||
|
//通道选择与切换
|
||||||
|
sig_channel_select(m5data.io_mode, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
void input_value_show(void)
|
void input_value_show(void)
|
||||||
{
|
{
|
||||||
|
if(input_500ms_flag)
|
||||||
|
{
|
||||||
|
input_500ms_flag = 0;
|
||||||
|
|
||||||
|
//获取输入值
|
||||||
|
pltdata.yreal_scd_value = mux_signal.data_pv;
|
||||||
|
|
||||||
if( MY_ABS(pltdata.yreal_scd_value - pltdata.yreal_scd_value_prv) < (float32)0.01)
|
if( MY_ABS(pltdata.yreal_scd_value - pltdata.yreal_scd_value_prv) < (float32)0.01)
|
||||||
{
|
{
|
||||||
//变化值过小的情况下不更新显示内容
|
//变化值过小的情况下不更新显示内容
|
||||||
|
@ -1813,6 +1958,7 @@ void input_value_show(void)
|
||||||
|
|
||||||
set_nixie_cube(IO_INPUT, 99, pvi);
|
set_nixie_cube(IO_INPUT, 99, pvi);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void io_on2off_status(void)
|
void io_on2off_status(void)
|
||||||
{
|
{
|
||||||
|
@ -1820,6 +1966,8 @@ void io_on2off_status(void)
|
||||||
{
|
{
|
||||||
case IO_ON:
|
case IO_ON:
|
||||||
{
|
{
|
||||||
|
lv_label_set_text(guider_ui.screen_main_label_ONOFF, "ON");
|
||||||
|
|
||||||
switch (m5data.io_mode)
|
switch (m5data.io_mode)
|
||||||
{
|
{
|
||||||
case IO_OUTPUT:
|
case IO_OUTPUT:
|
||||||
|
@ -1846,6 +1994,8 @@ void io_on2off_status(void)
|
||||||
|
|
||||||
case IO_OFF:
|
case IO_OFF:
|
||||||
{
|
{
|
||||||
|
lv_label_set_text(guider_ui.screen_main_label_ONOFF, "OFF");
|
||||||
|
|
||||||
switch (m5data.io_mode)
|
switch (m5data.io_mode)
|
||||||
{
|
{
|
||||||
case IO_OUTPUT:
|
case IO_OUTPUT:
|
||||||
|
|
|
@ -16,6 +16,8 @@ int plot_1500ms_flag = 0;
|
||||||
int plot_1500ms_cnt = 0;
|
int plot_1500ms_cnt = 0;
|
||||||
int twk_1000ms_flag = 0;
|
int twk_1000ms_flag = 0;
|
||||||
int twk_1000ms_cnt = 0;
|
int twk_1000ms_cnt = 0;
|
||||||
|
int input_500ms_flag = 0;
|
||||||
|
int input_500ms_cnt = 0;
|
||||||
|
|
||||||
void duty_tim3(void)
|
void duty_tim3(void)
|
||||||
{
|
{
|
||||||
|
@ -53,6 +55,13 @@ void duty_tim6(void)
|
||||||
twk_1000ms_cnt = 0;
|
twk_1000ms_cnt = 0;
|
||||||
twk_1000ms_flag = 1;
|
twk_1000ms_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input_500ms_cnt++;
|
||||||
|
if( input_500ms_cnt >= 500)
|
||||||
|
{
|
||||||
|
input_500ms_cnt = 0;
|
||||||
|
input_500ms_flag = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -270,6 +270,11 @@
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>RTD,0x0A</ItemText>
|
<ItemText>RTD,0x0A</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>23</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>sv_watch</ItemText>
|
||||||
|
</Ww>
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<MemoryWindow1>
|
<MemoryWindow1>
|
||||||
<Mm>
|
<Mm>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue