Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
MotorShield.cpp
- Committer:
- elijahsj
- Date:
- 2020-08-25
- Revision:
- 1:4c3c2b7337a6
- Parent:
- 0:f2ede00aed8a
- Child:
- 3:2f46953e7c8b
File content as of revision 1:4c3c2b7337a6:
/* Library to interface with 2.74 Motor Shield
** Uses a modified version of FastPWM library to improve PWM accuracy
*/
#include "mbed.h"
#include "MotorShield.h"
#include "HardwareSetup.h"
//GPIOStruct gpio;
MotorShield::MotorShield(PinName forwardPin, PinName reversePin) {
init();
}
void MotorShield::init() {
/** Initial config for the STM32H743 **/
//Init_All_HW(&gpio); // Setup PWM, ADC, GPIO
//wait_us(100);
//TIM12->CCR2 = (PWM_ARR>>1)*(0.5f);
//TIM12->CCR1 = (PWM_ARR>>1)*(0.5f);
direction_val = 0;
duty_cycle_val = 0;
period_val = 10.0;
}
void MotorShield::write(double duty_cycle) {
duty_cycle_val = duty_cycle;
writePWM();
}
void MotorShield::period(double period) {
period_val = period;
writePWM();
}
void MotorShield::direction(int direction) {
direction_val = direction;
writePWM();
}
void MotorShield::writePWM(){
if (direction_val == 0){
//forward.period_us(period_val);
//forward.write(duty_cycle_val);
//reverse.period_us(period_val);
//reverse.write(0);
}
else{
//reverse.period_us(period_val);
//reverse.write(duty_cycle_val);
//forward.period_us(period_val);
//forward.write(0);
}
}