@ -34,12 +34,13 @@ void DisinfectionApp::initialize() {
// large space disinfection machine,
// large space disinfection machine,
// small space disinfection machine,
// small space disinfection machine,
// pipe disinfection machine,
// pipe disinfection machine,
ZASSERT ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) ) ;
// DT600B,
ZASSERT ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) | | PORT : : isDT600B ( ) ) ;
/***********************************************************************************************************************
/***********************************************************************************************************************
* 加 热 片 *
* 加 热 片 *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
if ( PORT : : isPowerCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) ) ) {
if ( PORT : : isPowerCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) | | PORT : : isDT600B ( ) ) ) {
LargeSpaceDmPowerCtrlBoardHal : : HADC1_INIT ( ) ;
LargeSpaceDmPowerCtrlBoardHal : : HADC1_INIT ( ) ;
heaterCtrler . initialize ( PC7 , & hadc1 , ADC_CHANNEL_2 , & hadc1 , ADC_CHANNEL_9 ) ;
heaterCtrler . initialize ( PC7 , & hadc1 , ADC_CHANNEL_2 , & hadc1 , ADC_CHANNEL_9 ) ;
}
}
@ -47,7 +48,7 @@ void DisinfectionApp::initialize() {
/***********************************************************************************************************************
/***********************************************************************************************************************
* 风 机 *
* 风 机 *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
if ( PORT : : isPowerCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) ) ) {
if ( PORT : : isPowerCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isDT600B ( ) ) ) {
LargeSpaceDmPowerCtrlBoardHal : : HADC1_INIT ( ) ;
LargeSpaceDmPowerCtrlBoardHal : : HADC1_INIT ( ) ;
blowerCtrler . initialize ( PC5 , & hadc1 , ADC_CHANNEL_1 ) ;
blowerCtrler . initialize ( PC5 , & hadc1 , ADC_CHANNEL_1 ) ;
} //
} //
@ -60,7 +61,7 @@ void DisinfectionApp::initialize() {
/***********************************************************************************************************************
/***********************************************************************************************************************
* 空 压 机 *
* 空 压 机 *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
if ( PORT : : isPowerCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) ) ) {
if ( PORT : : isPowerCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) | | PORT : : isDT600B ( ) ) ) {
LargeSpaceDmPowerCtrlBoardHal : : HADC1_INIT ( ) ;
LargeSpaceDmPowerCtrlBoardHal : : HADC1_INIT ( ) ;
airComCtrler . initialize ( PC3 , & hadc1 , ADC_CHANNEL_0 ) ;
airComCtrler . initialize ( PC3 , & hadc1 , ADC_CHANNEL_0 ) ;
}
}
@ -74,7 +75,7 @@ void DisinfectionApp::initialize() {
/***********************************************************************************************************************
/***********************************************************************************************************************
* H2O2传感器 *
* H2O2传感器 *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
if ( PORT : : isPowerCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) ) ) {
if ( PORT : : isPowerCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) | | PORT : : isDT600B ( ) ) ) {
LargeSpaceDmPowerCtrlBoardHal : : HUART3_INIT ( 19200 , UART_STOPBITS_2 ) ;
LargeSpaceDmPowerCtrlBoardHal : : HUART3_INIT ( 19200 , UART_STOPBITS_2 ) ;
LargeSpaceDmPowerCtrlBoardHal : : HADC1_INIT ( ) ;
LargeSpaceDmPowerCtrlBoardHal : : HADC1_INIT ( ) ;
osDelay ( 3000 ) ;
osDelay ( 3000 ) ;
@ -84,7 +85,7 @@ void DisinfectionApp::initialize() {
/***********************************************************************************************************************
/***********************************************************************************************************************
* 水 浸 传 感 器 *
* 水 浸 传 感 器 *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
if ( PORT : : isLiquidCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) ) ) {
if ( PORT : : isLiquidCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) | | PORT : : isDT600B ( ) ) ) {
ZLOGI ( TAG , " WaterSensor init " ) ;
ZLOGI ( TAG , " WaterSensor init " ) ;
evaporationBinWS . initAsInput ( PC7 , kxs_gpio_nopull , kxs_gpio_no_irq , false /*mirror*/ ) ;
evaporationBinWS . initAsInput ( PC7 , kxs_gpio_nopull , kxs_gpio_no_irq , false /*mirror*/ ) ;
deviceBottomWS . initAsInput ( PC8 , kxs_gpio_nopull , kxs_gpio_no_irq , false /*mirror*/ ) ;
deviceBottomWS . initAsInput ( PC8 , kxs_gpio_nopull , kxs_gpio_no_irq , false /*mirror*/ ) ;
@ -96,7 +97,7 @@ void DisinfectionApp::initialize() {
/***********************************************************************************************************************
/***********************************************************************************************************************
* TMC电机初始化 *
* TMC电机初始化 *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
if ( PORT : : isLiquidCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) ) ) {
if ( PORT : : isLiquidCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) | | PORT : : isDT600B ( ) ) ) {
// TMC电机初始化
// TMC电机初始化
ZLOGI ( TAG , " TMCMotorGroup init " ) ;
ZLOGI ( TAG , " TMCMotorGroup init " ) ;
LargeSpaceDMLiquidCtrlBoardHal : : HSPI1_INIT ( ) ;
LargeSpaceDMLiquidCtrlBoardHal : : HSPI1_INIT ( ) ;
@ -106,7 +107,7 @@ void DisinfectionApp::initialize() {
/***********************************************************************************************************************
/***********************************************************************************************************************
* 三 色 指 示 灯 *
* 三 色 指 示 灯 *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
if ( PORT : : isLiquidCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) ) ) {
if ( PORT : : isLiquidCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) | | PORT : : isDT600B ( ) ) ) {
// 三色指示灯初始化
// 三色指示灯初始化
ZLOGI ( TAG , " WarningLightDriver init " ) ;
ZLOGI ( TAG , " WarningLightDriver init " ) ;
wlDriver . initialize ( PD8 , PD7 , PD9 , PD10 ) ;
wlDriver . initialize ( PD8 , PD7 , PD9 , PD10 ) ;
@ -171,8 +172,11 @@ void DisinfectionApp::initialize() {
} ) ;
} ) ;
}
}
// 加液泵液路进气阀
if ( PORT : : isLiquidCtrlBoard ( ) ) {
/**
* @ brief
* 小 空 间 低 配 版 和 拉 杆 箱 均 不 支 持 排 液 功 能
*/
if ( PORT : : isLiquidCtrlBoard ( ) & & ( PORT : : isLargeSpaceDM ( ) | | PORT : : isSamllSpaceDM ( ) | | PORT : : isPipeDM ( ) ) ) {
static ZGPIO valve ;
static ZGPIO valve ;
valve . initAsOutput ( PB3 , kxs_gpio_nopull , true , false ) ;
valve . initAsOutput ( PB3 , kxs_gpio_nopull , true , false ) ;
REG_LAMADA_FN ( kfn_set_add_fluid_channel_selector_valve , [ & ] ( ProcessContext * cxt ) {
REG_LAMADA_FN ( kfn_set_add_fluid_channel_selector_valve , [ & ] ( ProcessContext * cxt ) {
@ -184,6 +188,40 @@ void DisinfectionApp::initialize() {
zcanbus_send_ack ( cxt - > packet , NULL , 0 ) ;
zcanbus_send_ack ( cxt - > packet , NULL , 0 ) ;
} ) ;
} ) ;
}
}
/**
* @ brief 液 位 状 态
*/
if ( PORT : : isLiquidCtrlBoard ( ) & & ( PORT : : isDT600B ( ) ) ) {
// 初始化
static ZGPIO io0 ;
static bool io0enable = false ;
static ZGPIO io1 ;
static bool io1enable = false ;
static ZGPIO io2 ;
static bool io2enable = false ;
if ( PORT : : isDT600B ( ) ) {
io0 . initAsInput ( PD11 , kxs_gpio_nopull , kxs_gpio_no_irq , true /*mirror*/ ) ;
io0enable = true ;
}
if ( io0enable | | io1enable | | io2enable ) {
REG_LAMADA_FN ( kfn_liquid_level_read_io_state , [ & ] ( ProcessContext * cxt ) {
int32_t liquid_level_state = 0 ;
if ( io0enable ) {
liquid_level_state | = ( io0 . read ( ) ? 0 : 1 ) < < 0 ; // bit0:低液位置
}
if ( io1enable ) {
liquid_level_state | = ( io1 . read ( ) ? 0 : 1 ) < < 1 ; // bit1:中液位
}
if ( io2enable ) {
liquid_level_state | = ( io2 . read ( ) ? 0 : 1 ) < < 2 ; // bit2:高液位
}
zcanbus_send_ack ( cxt - > packet , liquid_level_state ) ;
} ) ;
}
}
}
}
/***********************************************************************************************************************
/***********************************************************************************************************************