Add Microcontrollers

This commit is contained in:
Dan Clark
2025-02-07 09:20:43 +00:00
parent a08f86eb74
commit f2e501454e
19 changed files with 213 additions and 10 deletions
@@ -0,0 +1,24 @@
using Microsoft.Extensions.Configuration;
using System.Collections.ObjectModel;
namespace Toolkit.Foundation;
public class MicrocontrollerBuilder :
IMicrocontrollerBuilder
{
private readonly List<IMicrocontrollerBuilderConfiguration> configurations = [];
public IReadOnlyCollection<IMicrocontrollerBuilderConfiguration> Configurations =>
new ReadOnlyCollection<IMicrocontrollerBuilderConfiguration>(configurations);
public IMicrocontrollerBuilderConfiguration<TConfiguration, TSerialReader, TRead, TReadDeserializer> Add<TConfiguration, TSerialReader, TRead, TReadDeserializer>(IConfiguration configuration)
where TConfiguration : IMicrocontrollerConfiguration, new()
where TSerialReader : SerialReader<TRead>
where TReadDeserializer : IMicrocontrollerModuleDeserializer<TRead>, new()
{
MicrocontrollerBuilderConfiguration<TConfiguration, TSerialReader, TRead, TReadDeserializer>? builderConfiguration = new(configuration);
configurations.Add(builderConfiguration);
return builderConfiguration;
}
}