|
|
@ -144,22 +144,33 @@ void DisinfectionApp::initialize() { |
|
|
|
static ZGPIO eValve0; |
|
|
|
static ZGPIO eValve1; |
|
|
|
airTightnessTestChGpio.initAsOutput(PD14, kxs_gpio_nopull, true, false); |
|
|
|
eValve0.initAsOutput(PD15, kxs_gpio_nopull, false, true); |
|
|
|
eValve1.initAsOutput(PC6, kxs_gpio_nopull, false, true); |
|
|
|
eValve0.initAsOutput(PD15, kxs_gpio_nopull, true, false); |
|
|
|
eValve1.initAsOutput(PC6, kxs_gpio_nopull, true, false); |
|
|
|
REG_LAMADA_FN(kfn_air_leak_test_set_mode, [&](ProcessContext* cxt) { |
|
|
|
if (GET_PARAM(0) == kAirLeakTestMode_disinfection) { |
|
|
|
airTightnessTestChGpio.write(1); // 内管路
|
|
|
|
eValve0.write(1); // 电磁阀打开
|
|
|
|
eValve1.write(1); // 电磁阀打开
|
|
|
|
airTightnessTestChGpio.write(0); // 内管路
|
|
|
|
eValve0.write(0); // 联通
|
|
|
|
eValve1.write(0); // 联通
|
|
|
|
} else if (GET_PARAM(0) == kAirLeakTestMode_inflation) { |
|
|
|
airTightnessTestChGpio.write(0); // 连接空气
|
|
|
|
eValve0.write(1); // 电磁阀打开
|
|
|
|
eValve1.write(1); // 电磁阀打开
|
|
|
|
airTightnessTestChGpio.write(1); // 连接空气
|
|
|
|
eValve0.write(0); // 联通
|
|
|
|
eValve1.write(0); // 联通
|
|
|
|
} else if (GET_PARAM(0) == kAirLeakTestMode_leakTest) { |
|
|
|
airTightnessTestChGpio.write(1); // 内管路
|
|
|
|
eValve0.write(0); // 电磁阀闭合
|
|
|
|
eValve1.write(0); // 电磁阀闭合
|
|
|
|
airTightnessTestChGpio.write(0); // 内管路
|
|
|
|
eValve0.write(1); // 闭合
|
|
|
|
eValve1.write(1); // 闭合
|
|
|
|
} else if (GET_PARAM(0) == kAirLeakTestMode_closeAll) { |
|
|
|
airTightnessTestChGpio.write(0); |
|
|
|
eValve0.write(0); |
|
|
|
eValve1.write(0); |
|
|
|
} else if (GET_PARAM(0) == kAirLeakTestMode_openAll) { |
|
|
|
airTightnessTestChGpio.write(1); |
|
|
|
eValve0.write(1); |
|
|
|
eValve1.write(1); |
|
|
|
} |
|
|
|
|
|
|
|
// kAirLeakTestMode_closeAll
|
|
|
|
// kAirLeakTestMode_openAll
|
|
|
|
airLeakTestMode = (air_leak_test_mode_t)GET_PARAM(0); |
|
|
|
zcanbus_send_ack(cxt->packet, NULL, 0); |
|
|
|
}); |
|
|
|