public static async Task <ProtocolController> CreateAsync(ISerialPortWrapper serialPort, ILogger logger) { var protocolController = new ProtocolController(serialPort, logger); protocolController.ConfigureCommPort(); protocolController.LoadDefaultParametersList(); await protocolController.LoadParametersListAsync(); await protocolController.SaveParametersListAsync(); return(protocolController); }
static async Task <int> Main() { Log.Logger = new LoggerConfiguration() .WriteTo.RollingFile("mppt-cli.log", Serilog.Events.LogEventLevel.Information) .WriteTo.Console() .CreateLogger(); var serviceProvider = ConfigureServices(); var protocolController = await ProtocolController.CreateAsync(serviceProvider.GetRequiredService <ISerialPortWrapper>(), Log.Logger); var app = new ConsoleApp(protocolController, Log.Logger); return(await app.OnExecuteAsync()); }
public ConsoleApp(ProtocolController protocolController, ILogger logger) { this.protocolController = protocolController; this.logger = logger; }