Alp Sayin / FastPWM

Fork of FastPWM by Erik -

Revision:
11:e0a8f0fcb1c9
Parent:
10:36362e9067b0
Child:
12:4600daab8a83
--- a/Device/FastPWM_KLXX.cpp	Fri Jun 27 06:18:23 2014 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-#ifdef TARGET_KLXX
-
-#include "FastPWM.h"
-
-void FastPWM::initFastPWM( void ) {
-    bits = 16;
-}
-
-void FastPWM::pulsewidth_ticks( uint32_t ticks ) {
-    *(_pwm.CnV) = ticks;
-}
-
-void FastPWM::period_ticks( uint32_t ticks ) {
-    *(_pwm.MOD) = ticks - 1;
-}
-
-uint32_t FastPWM::getPeriod( void ) {
-    return *(_pwm.MOD) + 1;
-}
-
-uint32_t FastPWM::setPrescaler(uint32_t reqScale) {
-        
-    //Yes this is ugly, yes I should feel bad about it
-    volatile uint32_t *TPM_SC = _pwm.MOD - 2;
-    
-    const char prescalers[] = {1, 2, 4, 8, 16, 32, 64, 128};
-    
-    //If prescaler is 0, return current one
-    if (reqScale == 0)
-        return (prescalers[(*TPM_SC) & 0x07]);
-    
-    uint32_t retval = 0;
-    char bin;
-    
-    for (bin = 0; bin<8; bin++) {
-        retval = prescalers[bin];
-        if (retval >= reqScale)
-            break;
-    }
-    
-    //Clear lower 5 bits, write new value:
-    char clockbits = *TPM_SC & (3<<3);
-    
-    //For some reason clearing them takes some effort
-    while ((*TPM_SC & 0x1F) != 0)
-        *TPM_SC &= ~0x1F;
-        
-    
-    *TPM_SC |= bin + clockbits;
-    
-    return retval;   
-}
-#endif
\ No newline at end of file