Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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
        }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 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
        }