适配了YULite8同时去除SD卡功能的版本

This commit is contained in:
ipason 2025-07-22 09:33:16 +08:00
parent 7720031c01
commit c0fc7ed616
6 changed files with 65 additions and 12 deletions

View File

@ -46,12 +46,20 @@ struct FluxProtocol fluxProtocol;
void nom_test_task(void* arg)
{
float time = 0;
uint16_t index = lv_dropdown_get_selected(ui_pageSetting_dropdownDeviceType);
while (1)
{
// if((index == YU_Lite8)&&(lv_spinbox_get_value(ui_pageHome_spinboxStage)!=8))
// {
// lv_spinbox_set_value(ui_pageHome_spinboxRate,15);
// }
/* 开始测试前 下发积分时间,确保测试时间正确 */
comulate_time_set();
time = (float)lv_spinbox_get_value(ui_pageFluxRead_spinboxTime);
flux_test_time_set(time);
lv_label_set_text(ui_pageHome_labelStartTest,"Cancel Test Nom");

View File

@ -121,7 +121,10 @@ extern enum Bs_test_Rate currentTestRate;
/* 导出三种流量计体积数据 */
extern float Spirit3_Volume[4];
extern float Spirit6_Volume[6];
extern float YULite8_Volume[6];
extern float YULite8_Volume[8];
extern float YULite8_UpperLimit[8];
extern float YULite8_LowerLimit[8];
/* 导出呼吸模拟器控制地址 */
extern uint32_t bs_addr_all[6];

View File

@ -24,7 +24,11 @@ char *device_name[3] = {
/* 定义用于存储nominalVolume的数组 单位ml */
float Spirit3_Volume[4] = { 210,420,630,750};
float Spirit6_Volume[6] = { 210,420,630,840,1050,1200};
float YULite8_Volume[6] = { 210,420,630,750,870,990,1110,990};
float YULite8_Volume[8] = { 210,420,630,750,870,990,1110,990};
/* 定义用于存储YU-Lite8上下限的数组 */
float YULite8_UpperLimit[8] = { 22,36,52.5,62.5,72.5,82.5,92.5,24.5};
float YULite8_LowerLimit[8] = { 6,20,31.5,37.5,43.5,49.5,55.5,8.5};
/* 定义用于存储呼吸模拟器频率控制的Modbus寄存器地址 */
uint32_t bs_addr_all[6] = { BS_ADDR_15BPM,BS_ADDR_20BPM,BS_ADDR_25BPM,BS_ADDR_30BPM,BS_ADDR_35BPM,BS_ADDR_40BPM};

View File

@ -55,7 +55,7 @@ extern "C" {
#define NOM_RESULT_FILE_HEADER "timestamp,timeStr,is_nom,device type,stage,rate,volume\n"
/* 配置是否选择记录数据到SD卡内 */
#define LOG_RECORD_ENABLE (1)
#define LOG_RECORD_ENABLE (0)
/* SD卡读写引脚编号 */
#define CONFIG_EXAMPLE_PIN_CLK (14)

View File

@ -164,13 +164,16 @@ void comulate_time_set(void)
lv_spinbox_set_value(ui_pageFluxRead_spinboxTime,20);
break;
case 35:
/*呼吸频率为35BPM时积分时间设定为16秒*/
/*呼吸频率为35BPM时积分时间设定为17秒*/
lv_spinbox_set_value(ui_pageFluxRead_spinboxTime,18);
break;
case 40:
/*呼吸频率为40BPM时积分时间设定为15秒*/
lv_spinbox_set_value(ui_pageFluxRead_spinboxTime,15);
break;
case 60:
lv_spinbox_set_value(ui_pageFluxRead_spinboxTime,10);
break;
default:
break;
}
@ -295,6 +298,16 @@ void on_spinboxStage_valueChanged(lv_event_t * e)
int32_t value = lv_spinbox_get_value(e->target);
lv_label_set_text_fmt(ui_pageHome_labelResultStage,"%ld",value);
if(lv_spinbox_get_value(ui_pageHome_spinboxStage) == 8)
{
lv_spinbox_set_value(ui_pageHome_spinboxRate,60);
}
if ((lv_dropdown_get_selected(ui_pageSetting_dropdownDeviceType) == YU_Lite8)&&(lv_spinbox_get_value(ui_pageHome_spinboxStage)<=7))
{
lv_spinbox_set_value(ui_pageHome_spinboxRate,15);
}
standard_volume_refresh();
/* 更新当前挡位数据 */
@ -336,14 +349,30 @@ static void standard_volume_refresh(void)
/*判定当前测试设备为YU-Lite-8*/
fluxProtocol.nominalVolumeStage = YULite8_Volume[fluxProtocol.currentStage-1];
}
float Volume_nominal = fluxProtocol.nominalVolumeStage /fluxProtocol.currentBPM*1.0;
float VolumeMax = Volume_nominal*1.15;
float VolumeMin = Volume_nominal*0.85;
lv_label_set_text_fmt(ui_pageHome_labelNominalVolume,"%.2f",Volume_nominal);
lv_label_set_text_fmt(ui_pageHome_labelNominalVolumeMax,"%.2f",VolumeMax);
lv_label_set_text_fmt(ui_pageHome_labelNominalVolumeMin,"%.2f",VolumeMin);
if (fluxProtocol.currentDevice == YU_Lite8)
{
float Volume_nominal = fluxProtocol.nominalVolumeStage /fluxProtocol.currentBPM*1.0;
float VolumeMax = YULite8_UpperLimit[fluxProtocol.currentStage-1];
float VolumeMin = YULite8_LowerLimit[fluxProtocol.currentStage-1];
lv_label_set_text_fmt(ui_pageHome_labelNominalVolume,"%.2f",Volume_nominal);
lv_label_set_text_fmt(ui_pageHome_labelNominalVolumeMax,"%.2f",VolumeMax);
lv_label_set_text_fmt(ui_pageHome_labelNominalVolumeMin,"%.2f",VolumeMin);
}else{
float Volume_nominal = fluxProtocol.nominalVolumeStage /fluxProtocol.currentBPM*1.0;
float VolumeMax = Volume_nominal*1.15;
float VolumeMin = Volume_nominal*0.85;
lv_label_set_text_fmt(ui_pageHome_labelNominalVolume,"%.2f",Volume_nominal);
lv_label_set_text_fmt(ui_pageHome_labelNominalVolumeMax,"%.2f",VolumeMax);
lv_label_set_text_fmt(ui_pageHome_labelNominalVolumeMin,"%.2f",VolumeMin);
}
/* 更新BS界面中各频率值 */

View File

@ -55,9 +55,18 @@ void on_dropdownDeviceType_valueChanged(lv_event_t * e)
if (index == Spirit3)
{
lv_spinbox_set_range(ui_pageHome_spinboxStage,1,4);
}else{
lv_spinbox_set_range(ui_pageHome_spinboxRate,15,40);
}else if(index == Spirit6)
{
lv_spinbox_set_range(ui_pageHome_spinboxStage,1,6);
lv_spinbox_set_range(ui_pageHome_spinboxRate,15,40);
}else if (index == YU_Lite8)
{
lv_spinbox_set_range(ui_pageHome_spinboxStage,1,8);
lv_spinbox_set_value(ui_pageHome_spinboxRate,15);
lv_spinbox_set_range(ui_pageHome_spinboxRate,15,60);
}
#if LOG_RECORD_ENABLE
WRITE_LOG_TO_SD("常规测试设备类型修改成功");