Library for the VNH5019 Motor Driver, with a helper class for the Pololu Dual VNH5019 Dual Motor Driver Shield http://www.pololu.com/product/2502

Dependents:   VNH5019_second VNH5019_second1

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers VNH5019Accel.cpp Source File

VNH5019Accel.cpp

00001 #include "VNH5019Accel.h"
00002 
00003 void VNH5019Accel::Interrupt()
00004 {
00005     float MyRequestedSpeed = RequestedSpeed;
00006     if (CurrentSpeed != MyRequestedSpeed)
00007     {
00008         if (std::abs(CurrentSpeed-MyRequestedSpeed) < VNH5019ChangePerTick)
00009             CurrentSpeed = MyRequestedSpeed;
00010         else if (MyRequestedSpeed > CurrentSpeed)
00011             CurrentSpeed += VNH5019ChangePerTick;
00012         else
00013             CurrentSpeed -= VNH5019ChangePerTick;
00014         Driver.speed(CurrentSpeed);
00015     }
00016     else
00017     {
00018         float MyRequestedBrake = RequestedBrake;
00019         if (CurrentBrake != MyRequestedBrake)
00020         {
00021             if (std::abs(CurrentBrake-MyRequestedBrake) < VNH5019BrakeChangePerTick)
00022                 CurrentBrake = MyRequestedBrake;
00023             else if (MyRequestedBrake > CurrentBrake)
00024                 CurrentBrake += VNH5019BrakeChangePerTick;
00025           else
00026                 CurrentBrake -= VNH5019BrakeChangePerTick;
00027             Driver.brake(CurrentBrake);
00028         }
00029     }
00030 }
00031 
00032 DualVNH5019AccelMotorShield::DualVNH5019AccelMotorShield()
00033 : m1(PTD4, PTA4, PTC8, PTB0, PTD5),
00034   m2(PTC9, PTA13, PTD3, PTB1, PTD0)
00035 {
00036 }