public void InitializeConnection(int deviceIndex) { int numberPokeysDevices = device.EnumerateDevices(); if (numberPokeysDevices == 0) { throw new Exception("No Pokeys Devices Found"); } device.ConnectToDevice(deviceIndex); }
public void updateStatus() { if (owner == null) { return; } if (!PinId.HasValue) { Error = null; } else if (!owner.PokeysIndex.HasValue) { Error = null; } else { PoKeysDevice_DLL.PoKeysDevice poKeysDevice = PoKeysEnumerator.Singleton.PoKeysDevice; if (!poKeysDevice.ConnectToDevice(owner.PokeysIndex.Value)) { Error = Translations.Main.PokeysConnectError; } else { byte pinFunction = 0; if (!poKeysDevice.GetPinData((byte)(PinId.Value - 1), ref pinFunction)) { Error = Translations.Main.DigitalOutputErrorGetIOType; } else { if ((pinFunction & 0x4) == 0) { Error = Translations.Main.DigitalOutputErrorBadIOType; } else { Error = null; } } poKeysDevice.DisconnectDevice(); } } writeOutputState(); }
private void writeOutputState() { if (string.IsNullOrEmpty(Error) && owner != null && owner.PokeysIndex.HasValue && MatrixLedConfig != null) { PoKeysDevice_DLL.PoKeysDevice poKeysDevice = PoKeysEnumerator.Singleton.PoKeysDevice; if (!poKeysDevice.ConnectToDevice(owner.PokeysIndex.Value)) { Error = Translations.Main.PokeysConnectError; } else { foreach (SevenSegmentDigit digit in SevenSegmentDigits) { for (int segmentPosition = 0; segmentPosition < 8; ++segmentPosition) { SevenSegmentDigitSegment segment = digit.Segments[segmentPosition]; if (segment.Dirty) { bool setPixelOk; if (MatrixLedConfig.DigitOnRow) { setPixelOk = MatrixLed.SetPixel((byte)(digit.Index - 1), (byte)(MatrixLedConfig.SegmentIndexes[segmentPosition] - 1), segment.Value); } else { setPixelOk = MatrixLed.SetPixel((byte)(MatrixLedConfig.SegmentIndexes[segmentPosition] - 1), (byte)(digit.Index - 1), segment.Value); } if (!setPixelOk) { Error = Translations.Main.MatrixLedErrorWrite; } segment.Dirty = false; } } } poKeysDevice.DisconnectDevice(); } } }
public void updateStatus() { if (owner == null) { return; } if (MatrixLedConfig == null) { Error = null; } else if (!owner.PokeysIndex.HasValue) { Error = null; } else { PoKeysDevice_DLL.PoKeysDevice poKeysDevice = PoKeysEnumerator.Singleton.PoKeysDevice; if (!poKeysDevice.ConnectToDevice(owner.PokeysIndex.Value)) { Error = Translations.Main.PokeysConnectError; } else { if (!MatrixLed.IsEnabled()) { Error = Translations.Main.MatrixLedErrorNotEnabled; } else { Error = null; } poKeysDevice.DisconnectDevice(); } } setOutputStateDirty(); writeOutputState(); }
protected override void writeOutputState() { if (string.IsNullOrEmpty(Error) && owner != null && owner.PokeysIndex.HasValue && DeviceId.HasValue && PinId.HasValue) { PoKeysDevice_DLL.PoKeysDevice poKeysDevice = PoKeysEnumerator.Singleton.PoKeysDevice; if (!poKeysDevice.ConnectToDevice(owner.PokeysIndex.Value)) { Error = Translations.Main.PokeysConnectError; } else { if (!owner.PoExtBus.SetOutput(DeviceId.Value, PinId.Value, OutputState)) { Error = Translations.Main.PoExtBusErrorWrite; } poKeysDevice.DisconnectDevice(); } } }
protected override void writeOutputState() { if (string.IsNullOrEmpty(Error) && owner != null && owner.PokeysIndex.HasValue && MatrixLed != null && Row.HasValue && Column.HasValue) { PoKeysDevice_DLL.PoKeysDevice poKeysDevice = PoKeysEnumerator.Singleton.PoKeysDevice; if (!poKeysDevice.ConnectToDevice(owner.PokeysIndex.Value)) { Error = Translations.Main.PokeysConnectError; } else { if (!MatrixLed.SetPixel((byte)(Row.Value - 1), (byte)(Column.Value - 1), OutputState)) { Error = Translations.Main.MatrixLedErrorWrite; } poKeysDevice.DisconnectDevice(); } } }
public void updateStatus() { if (owner == null) { return; } if (!DeviceId.HasValue || !PinId.HasValue) { Error = null; } else if (!owner.PokeysIndex.HasValue) { Error = null; } else { PoKeysDevice_DLL.PoKeysDevice poKeysDevice = PoKeysEnumerator.Singleton.PoKeysDevice; if (!poKeysDevice.ConnectToDevice(owner.PokeysIndex.Value)) { Error = Translations.Main.PokeysConnectError; } else { if (!owner.PoExtBus.IsOutputEnabled(DeviceId.Value, PinId.Value)) { Error = Translations.Main.PoExtBusErrorNotEnabled; } else { Error = null; } poKeysDevice.DisconnectDevice(); } } writeOutputState(); }
public void updateStatus() { if (owner == null) { return; } if (MatrixLed == null || !Row.HasValue || !Column.HasValue) { Error = null; } else if (!owner.PokeysIndex.HasValue) { Error = null; } else { PoKeysDevice_DLL.PoKeysDevice poKeysDevice = PoKeysEnumerator.Singleton.PoKeysDevice; if (!poKeysDevice.ConnectToDevice(owner.PokeysIndex.Value)) { Error = Translations.Main.PokeysConnectError; } else { if (!MatrixLed.IsPixelEnabled((byte)(Row.Value - 1), (byte)(Column.Value - 1))) { Error = string.Format(Translations.Main.MatrixLedPixelErrorNotEnabled, Row, Column); } else { Error = null; } poKeysDevice.DisconnectDevice(); } } writeOutputState(); }