Ben Katz / FastPWM3

Dependents:   qonly_controller foc-ed_in_the_bot_compact foc-ed_in_the_bot_compact CurrentModeSine ... more

Fork of FastPWM by Erik -

Revision:
4:a7b9f778c4b4
Parent:
3:3094d3806cfc
Child:
5:2812f0a115f7
--- a/FastPWM.cpp	Wed Jul 25 07:14:39 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-#include "FastPWM.h"
-
-FastPWM::FastPWM(PinName pin) : PWMObject(pin){
-    //Set clock source
-    LPC_SC->PCLKSEL0|=1<<12;
-    
-    _duty=0;
-    _period=0.02;
-    if (pin==p26||pin==LED1) {
-        PWMUnit=1;
-        MR=&LPC_PWM1->MR1;
-        }
-    else if (pin==p25||pin==LED2){
-        PWMUnit=2;
-        MR=&LPC_PWM1->MR2;
-        }
-    else if (pin==p24||pin==LED3){
-        PWMUnit=3;
-        MR=&LPC_PWM1->MR3;
-        }
-    else if (pin==p23||pin==LED4){
-        PWMUnit=4;
-        MR=&LPC_PWM1->MR4;
-        }
-    else if (pin==p22){
-        PWMUnit=5;
-        MR=&LPC_PWM1->MR5;
-        }
-    else if (pin==p21){
-        PWMUnit=6;
-        MR=&LPC_PWM1->MR6;
-        }
-    else
-        error("No hardware PWM pin\n\r");
-    
-    period(_period);
-}
-
-void FastPWM::period(double seconds) {
-    LPC_PWM1->MR0 = (unsigned int) (seconds * (double)F_CLK);
-    LPC_PWM1->LER |= 1;
-    _period = seconds;
-    pulsewidth(_duty*_period);
-}
-
-void FastPWM::period_ms(int ms) {
-    period((double)ms/1000.0);
-}
-
-void FastPWM::period_us(int us) {
-    period((double)us/1000000.0);
-}
-
-void FastPWM::period_us(double us) {
-    period(us/1000000.0);
-}
-
-void FastPWM::pulsewidth(double seconds) {
-    *MR=(unsigned int) (seconds * (double)F_CLK);
-    LPC_PWM1->LER |= 1<<PWMUnit;
-    _duty=seconds/_period;
-}
-
-void FastPWM::pulsewidth_ms(int ms) {
-    pulsewidth((double)ms/1000.0);
-}
-
-void FastPWM::pulsewidth_us(int us) {
-    pulsewidth((double)us/1000000.0);
-}
-
-void FastPWM::pulsewidth_us(double us) {
-    pulsewidth(us/1000000.0);
-}
-
-void FastPWM::write(double duty) {
-    _duty=duty;
-    pulsewidth(duty*_period);
-}
-
-double FastPWM::read( void ) {
-    return _duty;
-    }
-    
-FastPWM & FastPWM::operator= (double value) {
-    write(value);
-    return(*this);
-    }
-    
-FastPWM::operator double() {
-    return _duty;
-}
-    
\ No newline at end of file