12 import org.jetbrains.annotations.Contract;
13 import org.jetbrains.annotations.NotNull;
14 import org.slf4j.Logger;
15 import org.slf4j.LoggerFactory;
17 import java.util.List;
29 private static final Logger log = LoggerFactory.getLogger(
Kernel.class);
50 tdkLambdaPowerSupplyFactory;
57 pvCiPressureGaugeFactory;
70 this.portDriver = portDriver;
72 createTDKLambdaPowerSupplyFactory();
74 log.info(
"Started kernel {}", this.toString());
76 createPVCIPressureGaugeFactory();
77 createVariableProviderRegistry();
84 @Contract(pure =
true)
94 handleLogging(portNames);
115 return this.portDriver;
122 @Contract(pure =
true)
125 return this.deviceRegistry;
132 @Contract(pure =
true)
135 return this.deviceRegistry;
144 return this.tdkLambdaPowerSupplyFactory;
150 @Contract(
" -> !null")
163 return this.pvCiPressureGaugeFactory;
170 @Contract(pure =
true)
173 return this.variableProviders;
179 @Contract(pure =
true)
183 return this.variableProviders;
200 this.runner = runner;
208 private void createTDKLambdaPowerSupplyFactory(){
211 this.tdkLambdaPowerSupplyFactory.
setKernel(
this);
218 private void createPVCIPressureGaugeFactory(){
220 this.pvCiPressureGaugeFactory.
setKernel(
this);
226 private void createVariableProviderRegistry(){
236 private void handleLogging(List<String> portNames){
237 if (portNames.isEmpty()) {
238 writeLogEntryForEmptyList();
240 writeLogEntryForPortsDetected(portNames);
248 private void writeLogEntryForEmptyList(){
249 log.warn(
"Kernel {} has not detected any available serial ports",
257 private void writeLogEntryForPortsDetected(List<String> portNames){
258 for (String portName: portNames){
259 log.info(
"Kernel {} detected serial port {}",
this, portName);
Kernel(PortDriver portDriver)
List< String > getSerialPortNames()
kernel.views.VariableProviderContainer getVariableProvidersView()
SerialPort getPortByName(String portName)
void setKernel(Kernel kernel)
DeviceContainer getDeviceRegistryView()
Boolean isPortInUse(String portName)
TaskRunner getTaskRunner()
void setKernel(Kernel kernel)
VariableProviderContainer getVariableProvidersController()
void setTaskRunner(TaskRunner runner)
List< String > getSerialPortNames()
kernel.controllers.PVCiPressureGaugeFactory getPressureGaugeFactory()
ModbusConnector getModbusConnector()
kernel.controllers.DeviceRegistry getDeviceRegistryController()
TDKLambdaPowerSupplyFactory getPowerSupplyFactory()
PortDriver getPortDriver()
CommPortReporter getCommPortReporter()