internal NeuronGroupBoardBase(NeuronGroup neuronGroup, IBoardInformation boardSystemInformation, NeuronSpiConnector spiConnector, I2CConnector i2CConnector, DriverLogger logger) { NeuronGroup = neuronGroup; SpiConnector = spiConnector; I2CConnector = i2CConnector; Logger = logger; _observeLocker = new object(); _registersToObserve = new Dictionary <ushort, List <IObservedRegisterObject> >(); BoardSystemInformation = boardSystemInformation; DigitalInputDictionary = new Dictionary <IUniqueIdentifier, IDigitalInput>(); DigitalOutputsDictionary = new Dictionary <IUniqueIdentifier, IDigitalOutput>(); RelayOutputsDictionary = new Dictionary <IUniqueIdentifier, IDigitalOutput>(); UserLedsDictionary = new Dictionary <IUniqueIdentifier, IUserLed>(); AnalogInputsDictionary = new Dictionary <IUniqueIdentifier, IAnalogInput>(); AnalogOutputsDictionary = new Dictionary <IUniqueIdentifier, IAnalogOutput>(); OneWireConnectorsDictionary = new Dictionary <IUniqueIdentifier, IOneWireConnector>(); ModbusConnectorsDictionary = new Dictionary <IUniqueIdentifier, IModbusConnector>(); _pollInProgess = false; _pollingTimer = new Timer(PollInformation, new object(), 50, 50); }
public B10001GroupBoard(NeuronGroup neuronGroup, IBoardInformation boardSystemInformation, NeuronSpiConnector spiConnector, I2CConnector i2CConnector, DriverLogger logger) : base(neuronGroup, boardSystemInformation, spiConnector, i2CConnector, logger) { #region Digital Inputs for (ushort i = 0; i < AnzahlDigitalInputs; i++) { var input = new DigitalInput(i + 1, neuronGroup, 0, i); SetObservation(0, input); DigitalInputDictionary.Add(input.UniqueIdentifyer, input); } #endregion Digital Inputs #region Digital Outputs for (ushort i = 0; i < AnzahlDigitalOutputs; i++) { var digitalOutput = new DigitalOutput(1 + i, neuronGroup, i, spiConnector, logger, DigitalRelayOutputType.DigitalOutput, 1, i); DigitalOutputsDictionary.Add(digitalOutput.UniqueIdentifyer, digitalOutput); } #endregion Digital Outputs #region One Wire var oneWireConnector = new OneWireConnector(neuronGroup, 1, Logger, I2CConnector); OneWireConnectorsDictionary.Add(oneWireConnector.UniqueIdentifyer, oneWireConnector); #endregion One Wire #region User LED's for (ushort i = 0; i < UserLedsCount; i++) { var userLed = new UserLed(i + 1, neuronGroup, (ushort)(8 + i), spiConnector, 20, i); UserLedsDictionary.Add(userLed.UniqueIdentifyer, userLed); } #endregion User LED's #region Analog Output var analogOutput = new AnalogOutput(neuronGroup, 1, 2, spiConnector, logger); AnalogOutputsDictionary.Add(analogOutput.UniqueIdentifyer, analogOutput); #endregion Analog Output #region Analog Input var analogInput = new AnalogInput(neuronGroup, 1, 3, spiConnector); SetObservation(3, analogInput); AnalogInputsDictionary.Add(analogInput.UniqueIdentifyer, analogInput); #endregion Analog Input }
public HardwareInformationControlViewModel(IBoardInformation boardInformation) { AnalogInputCount = boardInformation.AnalogInputCount; AnalogOutputCount = boardInformation.AnalogOutputCount; DigitalInputCount = boardInformation.DigitalInputCount; DigitalOutputCount = boardInformation.DigitalOutputCount; FirmwareVersion = boardInformation.FirmwareVersion; HardwareName = boardInformation.HardwareName; HardwareVersion = boardInformation.HardwareVersion; UserLedCount = boardInformation.UserLedCount; NeuronGroup = boardInformation.NeuronGroup; }
public HardwareInformationControl(IBoardInformation boardInformation) { ViewModel = new HardwareInformationControlViewModel(boardInformation); InitializeComponent(); }
public UniversalNeuronGroupDiRoBoard(int digitalInCount, int relayOutCount, NeuronGroup neuronGroup, IBoardInformation boardSystemInformation, NeuronSpiConnector spiConnector, I2CConnector i2CConnector, DriverLogger logger) : base(neuronGroup, boardSystemInformation, spiConnector, i2CConnector, logger) { #region Digital Inputs for (ushort i = 0; i < digitalInCount; i++) { var input = new DigitalInput(i + 1, neuronGroup, 0, i); SetObservation(0, input); DigitalInputDictionary.Add(input.UniqueIdentifyer, input); } #endregion Digital Inputs #region Relay Outputs for (ushort i = 0; i < relayOutCount; i++) { var digitalOutput = new DigitalOutput(1 + i, neuronGroup, i, spiConnector, logger, DigitalRelayOutputType.RelayOutput, 1, i); DigitalOutputsDictionary.Add(digitalOutput.UniqueIdentifyer, digitalOutput); } #endregion Relay Outputs }