You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package com.iflytop.handacid.app.service;
import com.iflytop.handacid.app.common.enums.ChannelCode; import com.iflytop.handacid.app.common.enums.ChannelStateCode; import com.iflytop.handacid.app.core.command.DeviceCommand; import com.iflytop.handacid.app.core.command.DeviceCommandGenerator; import com.iflytop.handacid.app.core.state.DeviceState; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service;
/** * 通道控制 */ @Slf4j @Service @RequiredArgsConstructor public class ChannelCtrlService { private final DeviceCommandService deviceCommandService; private final DeviceState deviceState;
/** * 根据通道code获取泵相对移动指令 */ public DeviceCommand getPumpMoveByCommandByChannel(ChannelCode channelCode, Double position) { return switch (channelCode) { case CHANNEL_1 -> DeviceCommandGenerator.pump1MoveBy(position); case CHANNEL_2 -> DeviceCommandGenerator.pump2MoveBy(position); case CHANNEL_3 -> DeviceCommandGenerator.pump3MoveBy(position); case CHANNEL_4 -> DeviceCommandGenerator.pump4MoveBy(position); }; }
/** * 根据通道code获取泵正转指令 */ public DeviceCommand getPumpForwardRotateCommandByChannel(ChannelCode channelCode) { return switch (channelCode) { case CHANNEL_1 -> DeviceCommandGenerator.pump1ForwardRotate(); case CHANNEL_2 -> DeviceCommandGenerator.pump2ForwardRotate(); case CHANNEL_3 -> DeviceCommandGenerator.pump3ForwardRotate(); case CHANNEL_4 -> DeviceCommandGenerator.pump4ForwardRotate(); }; }
/** * 根据通道code获取停止泵指令 */ public DeviceCommand getPumpStopCommandByChannel(ChannelCode channelCode) { return switch (channelCode) { case CHANNEL_1 -> DeviceCommandGenerator.pump1Stop(); case CHANNEL_2 -> DeviceCommandGenerator.pump2Stop(); case CHANNEL_3 -> DeviceCommandGenerator.pump3Stop(); case CHANNEL_4 -> DeviceCommandGenerator.pump4Stop(); }; }
/** * 加液 * * @param channelCode 通道code * @param volume 加液量 */ public void solutionAddStart(ChannelCode channelCode, Double volume) {
}
/** * 停止加液 * @param channelCode 通道code */ public void solutionAddStop(ChannelCode channelCode) { deviceState.getChannelStateMap().get(channelCode).setStateCode(ChannelStateCode.IDLE);
} }
|