Пример #1
0
        public static void Main()
        {
            var lcd = new FEZ_Components.LCD2x16(
                FEZ_Pin.Digital.Di3, FEZ_Pin.Digital.Di2, FEZ_Pin.Digital.Di1, FEZ_Pin.Digital.Di0, FEZ_Pin.Digital.Di7, FEZ_Pin.Digital.Di6);
            lcd.Clear();

            using (var servo0 = new FEZ_Components.ServoMotor(FEZ_Pin.Digital.Di13))
            {
                servo0.SetPosition(0);
                Thread.Sleep(1000);
            }

            for (int ii = 10; ii >= 0; ii--)
            {
                lcd.CursorHome();
                lcd.Print("Downcount: " + ii + " ");
                Thread.Sleep(1000);
            }

            var piezo = new PWM((PWM.Pin) FEZ_Pin.PWM.Di10);

            using (var servo0 = new FEZ_Components.ServoMotor(FEZ_Pin.Digital.Di13))
            {
                servo0.SetPosition(180);
                Thread.Sleep(1000);
            }

            piezo.Set(5000, 50);
            Thread.Sleep(500);
            piezo.Set(1000, 50);
            Thread.Sleep(500);
            piezo.Set(500, 50);
            Thread.Sleep(500);
            piezo.Set(50, 50);
            Thread.Sleep(500);
            piezo.Set(0, 0);

            using (var servo0 = new FEZ_Components.ServoMotor(FEZ_Pin.Digital.Di13))
            {
                servo0.SetPosition(0);
                Thread.Sleep(1000);
            }

            lcd.Clear();

            // Blink board LED
            //bool ledState = false;
            //OutputPort led = new OutputPort((Cpu.Pin)FEZ_Pin.Digital.LED, ledState);

            //while (true)
            //{
            //    // Sleep for 500 milliseconds
            //    Thread.Sleep(500);

            //    // toggle LED state
            //    ledState = !ledState;
            //    led.Write(ledState);
            //}
        }
Пример #2
0
        public static void Init()
        {
            leftMotor.Set(false);
            rightMotor.Set(false);

            DIRB.Write(true);  // right side go forward
            DIRA.Write(false); //left side go forward
        }
Пример #3
0
        public static void Init()
        {
            try
            {
                if (RealTimeClock.GetTime().Year < 2012)
                {
                    RealTimeClock.SetTime(new DateTime(2012, 01, 01, 12, 0, 0));
                }
                Utility.SetLocalTime(RealTimeClock.GetTime());

                bool res = InitLcd();
                res |= SetHeap();
                res |= SetBoot();
                if (res)
                {
                    PowerState.RebootDevice(false);
                }

#if USE_LED_PWM
                _ledGreen      = new PWM(PWM.Pin.PWM3);
                _ledGreenValue = 0;
                _ledGreen.Set(false);

                _ledRed      = new PWM(PWM.Pin.PWM2);
                _ledRedValue = 0;
                _ledRed.Set(false);
#else
                _ledGreen = new OutputPort(EMX.Pin.IO49, false);
                _ledRed   = new OutputPort(EMX.Pin.IO50, false);
#endif

                InitNetwork();

                LcdBacklightLevel = AppSettings.Instance.LcdBacklightLevel;

                VsDriver.Init(out _lcdInit, out _lcdSet);//Mp.App.Resources.Plugins.GetBytes(Mp.App.Resources.Plugins.BinaryResources.Flac_v140));
                if (_lcdInit.Invoke(48) != 0)
                {
                    throw new Exception("Could not init LCD backlight");                           //IO48 is for LCD backlight
                }
                if (_lcdSet.Invoke(LcdBacklightLevel) != 0)
                {
                    throw new Exception("Could not set LCD backlight level");
                }

                VsDriver.Volume  = AppSettings.Instance.Audio.Volume;
                VsDriver.Balance = AppSettings.Instance.Audio.Balance;
                VsDriver.Bass    = AppSettings.Instance.Audio.Bass;
                VsDriver.Treble  = AppSettings.Instance.Audio.Treble;

                PowerState.OnRebootEvent += (soft) =>
                {
                    AppSettings.Instance.Save();
                };
            }
            catch (Exception)
            { }
        }
Пример #4
0
        public void Run()
        {
            var p = new PWM(PWM.Pin.PWM1);

            var freq = 60;
            byte duty = 12;

            p.Set(freq, duty);
        }
Пример #5
0
        public void Run()
        {
            var p = new PWM(PWM.Pin.PWM1);

            var  freq = 60;
            byte duty = 12;

            p.Set(freq, duty);
        }
Пример #6
0
        // static Dial[] dials = new Dial[3];

        // static I2CDevice.Configuration i2con;
        // static I2CDevice i2c;


        public static void Heartbeat()
        {
            sbyte dirr = 1;
            byte  duty = 40;
            PWM   pwm  = new PWM((PWM.Pin)FEZ_Pin.PWM.LED);

            while (true)
            {
                pwm.Set(10000, duty);
                duty = (byte)(duty + dirr);
                if (duty > 98 || duty < 2)
                {
                    dirr *= -1;
                }
                Thread.Sleep(10);
            }
        }
Пример #7
0
        public void Move(sbyte speed1, sbyte speed2)
        {
            if (speed1 > 100 || speed1 < -100 || speed2 > 100 || speed2 < -100)
            {
                new ArgumentException();
            }

            _last_speed1 = speed1;
            _last_speed2 = speed2;

            if (speed1 < 0)
            {
                _dir1a.Write(true);
                _dir1b.Write(false);
            }
            else
            {
                _dir1a.Write(false);
                _dir1b.Write(true);
            }
            _pwm1.Set(1000, (byte)Math.Abs(speed1));

            ////////////////////////////

            if (speed2 > 0) //The motor 2 is mirrored !!! Sign changed (LEFT)
            {
                _dir2a.Write(true);
                _dir2b.Write(false);
            }
            else
            {
                _dir2a.Write(false);
                _dir2b.Write(true);
            }
            _pwm2.Set(1000, (byte)Math.Abs(speed2));
        }
Пример #8
0
        public static void Set(PWM pwm, byte dutyCycle)
        {
            byte cycle = NumericHelper.Map(dutyCycle, 0, 255, 0, 100);

            pwm.Set(10000, cycle);
        }
Пример #9
0
 private void Reset()
 {
     _red.Set(false);
     _green.Set(false);
     _blue.Set(false);
 }
Пример #10
0
 private static void Test(PWM pwm)
 {
     pwm.Set(true);
     Thread.Sleep(500);
     pwm.Set(false);
 }
		/** Tests the setting and getting of weights */
		public void TestSetGet () {
			PWM pwm = new PWM( "test", alpha, 0.0 );
			pwm.Add( alpha['a'], "0 0" );
			pwm.Set( alpha['a'], 0, 1 );
			pwm.Set( 'a', 1, 2 );
			Assert.AreEqual( 1.0, pwm.Get( 'a', 0 ), 1e-3 );
			Assert.AreEqual( 2.0, pwm.Get( 'a', 1 ), 1e-3 );

			Assert.AreEqual( 1.0, pwm.Get( 't', 0 ), 1e-3 );
			Assert.AreEqual( 2.0, pwm.Get( 't', 1 ), 1e-3 );
		}