示例#1
0
        /// <summary>
        /// TimerInitialisation
        /// </summary>
        private async void InitAll()
        {
            StripeTimer          = new DispatcherTimer();
            StripeTimer.Interval = TimeSpan.FromMilliseconds(refreshCycle);
            StripeTimer.Tick    += StripeRefresh_Tick;

            SweepTimer          = new DispatcherTimer();
            SweepTimer.Interval = TimeSpan.FromMilliseconds(3000);
            SweepTimer.Tick    += Sweep_Tick;

            GPIOvar = GpioController.GetDefault(); /* Get the default GPIO controller on the system */
            await InitSpi();                       /* Initialize the SPI controller                */

            CSadrLEDD = new SPIAddressObject(SPIAddressObject.eCSadrMode.SPIdedicated, null, null, 0);
            RGBstripe = new LED_APA102(SPIinterface_Demo, CSadrLEDD);
            // Bei der Instanziierung wird erstes LED-Objekt erstellt.

            for (int i = 0; i < StripeLen - 1; i++)
            {
                RGBstripe.AddLED(RGBDefines.Black);
            }

            // LED-Demo
            StripePattern = new PatternGenerator(StripeLen, 1);
            StripePattern.AddCurve(PatternGenerator.eCurveType.Sine);
            StripePattern.AddCurve(PatternGenerator.eCurveType.Pulse);
            StripePattern.AddCurve(PatternGenerator.eCurveType.Cosine);
            StripePattern.AddCurve(PatternGenerator.eCurveType.Triangle);
            StripePattern.AddCurve(PatternGenerator.eCurveType.Sawtooth);

            StripeTimer.Start();
            btn_StartDemo(new object(), new RoutedEventArgs());
        }
示例#2
0
        /// <summary>
        /// TimerInitialisation
        /// </summary>
        private async void InitAll()
        {
            StatusTimer          = new DispatcherTimer();
            StatusTimer.Interval = TimeSpan.FromMilliseconds(refreshCycle);
            StatusTimer.Tick    += StatusTimer_Tick;
            ArrayTimer           = new DispatcherTimer();
            ArrayTimer.Interval  = TimeSpan.FromMilliseconds(refreshCycle * 10);
            ArrayTimer.Tick     += ArrayTimer_Tick;

            GPIOvar = GpioController.GetDefault(); /* Get the default GPIO controller on the system */
            await InitSpi();                       /* Initialize the SPI controller                */



            CSadrLEDD = new SPIAddressObject(SPIAddressObject.eCSadrMode.SPIdedicated, null, null, 0);
            StatusLED = new LED_APA102(SPIinterface_Status, CSadrLEDD);
            // Bei der Instanziierung wird erstes LED-Objekt erstellt.
            LEDArray = new LED_APA102(SPIinterface_Demo, CSadrLEDD);
            // Bei der Instanziierung wird erstes LED-Objekt erstellt.


            LEDArray.AddLED(RGBDefines.Black);
            LEDArray.AddLED(RGBDefines.Black);
            LEDArray.AddLED(RGBDefines.Black);
            LEDArray.AddLED(RGBDefines.Black);
            LEDArray.AddLED(RGBDefines.Black);
            LEDArray.AddLED(RGBDefines.Black);
            LEDArray.AddLED(RGBDefines.Black);
            LEDArray.AddLED(RGBDefines.Black);

            // LED-Demo
            StatusTimer.Start();
            ArrayTimer.Start();
        }
示例#3
0
        private async void InitAll()
        {
            try
            {
                await InitSpi();

                CSadrLEDD = new SPIAddressObject(SPIAddressObject.eCSadrMode.SPIdedicated, null, null, 0);
                // Bei der Instanziierung wird erstes LED-Objekt erstellt.
                LEDArray = new LED_APA102(SPIinterface_Demo, CSadrLEDD);
                // Bei der Instanziierung wird erstes LED-Objekt erstellt.
                LEDArray.AddLED(RGBDefines.Black);
                LEDArray.AddLED(RGBDefines.Black);
                LEDArray.AddLED(RGBDefines.Black);
                LEDArray.AddLED(RGBDefines.Black);
                LEDArray.AddLED(RGBDefines.Black);
                LEDArray.AddLED(RGBDefines.Black);
                LEDArray.AddLED(RGBDefines.Black);
                LEDArray.AddLED(RGBDefines.Black);
                LEDArray.AddLED(RGBDefines.Black);
                BlackoutArray();
                LEDArray.UpdateLEDs();

                this.ArrayTimer = ThreadPoolTimer.CreatePeriodicTimer(ArrayTimer_Tick,
                                                                      TimeSpan.FromMilliseconds(refreshCycle * 10));
                ArrayTimer.Cancel();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("Error:" + ex);
            }
        }
示例#4
0
        private void InitIOModule()
        {
            CSadrADC  = new SPIAddressObject(SPIAddressObject.eCSadrMode.SPIwithCSdemux, null, CSAdrSelection, HW_ADC_CSadr);
            CSadrDAC  = new SPIAddressObject(SPIAddressObject.eCSadrMode.SPIwithCSdemux, null, CSAdrSelection, HW_DAC_CSadr);
            CSadrGPIO = new SPIAddressObject(SPIAddressObject.eCSadrMode.SPIwithCSdemux, null, CSAdrSelection, HW_GPIO_CSadr);
            CSadrLEDD = new SPIAddressObject(SPIAddressObject.eCSadrMode.SPIdedicated, null, null, 0);

            GSLEDdriver = new LEDD_TLC5941(SPIOInterface, CSadrLEDD, GSLEDdriverLatch, GSLEDdriverMode, null);
            DCLEDDriver = new LEDD_TLC5925(SPIOInterface, CSadrLEDD, DCLEDdriverLatch, null);
            StatusLED   = new LED_APA102(StatusLEDInterface, CSadrLEDD);
            DACslave    = new DAC_MCP4922(SPIOInterface, CSadrDAC, null, null);
            ADCslave    = new ADC_MCP3208(SPIOInterface, CSadrADC);
            GPIOslave   = new GPIO_MCP23S17(SPIOInterface, CSadrGPIO, null, null, 0);
        }