Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public async Task Initialize()
- {
- try
- {
- if (!LightningProvider.IsLightningEnabled)
- {
- throw new Exception("No lightning provider detected!");
- }
- LowLevelDevicesController.DefaultProvider = LightningProvider.GetAggregateProvider();
- Gpio = await GpioController.GetDefaultAsync();
- APhase = Gpio.OpenPin(19);
- BPhase = Gpio.OpenPin(6);
- APhase.SetDriveMode(GpioPinDriveMode.Output);
- BPhase.SetDriveMode(GpioPinDriveMode.Output);
- Pwm = await PwmController.GetDefaultAsync();
- Pwm.SetDesiredFrequency(1000);
- AEnable = Pwm.OpenPin(26);
- BEnable = Pwm.OpenPin(13);
- }
- catch (Exception e)
- {
- throw e;
- }
- }
- private bool stopMove = true;
- private double speed = 1;
- public void StopMove()
- {
- stopMove = true;
- }
- public async Task MoveForward()
- {
- await Task.Delay(1);
- stopMove = false;
- APhase.Write(GpioPinValue.Low);
- BPhase.Write(GpioPinValue.Low);
- AEnable.SetActiveDutyCyclePercentage(speed);
- BEnable.SetActiveDutyCyclePercentage(speed);
- Debug.WriteLine("Starting...");
- AEnable.Start();
- BEnable.Start();
- while (!stopMove) { }
- AEnable.Stop();
- BEnable.Stop();
- AEnable.SetActiveDutyCyclePercentage(0);
- BEnable.SetActiveDutyCyclePercentage(0);
- }
- public async Task MoveBackward()
- {
- await Task.Delay(1);
- stopMove = false;
- APhase.Write(GpioPinValue.High);
- BPhase.Write(GpioPinValue.High);
- AEnable.SetActiveDutyCyclePercentage(speed);
- BEnable.SetActiveDutyCyclePercentage(speed);
- AEnable.Start();
- BEnable.Start();
- while (!stopMove) { }
- AEnable.Stop();
- BEnable.Stop();
- AEnable.SetActiveDutyCyclePercentage(0);
- BEnable.SetActiveDutyCyclePercentage(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement