1 #ifndef libpropeller_pwm2_h__ 2 #define libpropeller_pwm2_h__ 6 extern char _load_start_pwm2_cog[];
32 volatile void * asm_reference = NULL;
33 __asm__
volatile (
"mov %[asm_reference], #PWM2_Entry \n\t" 34 : [asm_reference]
"+r" (asm_reference));
42 Cog = cognew(_load_start_pwm2_cog, &Periodxy) + 1;
52 waitcnt(Periodxy * 2 + CNT);
72 Pinxmask = (1 << pinX);
73 Ctrxval = ((4 << 26) + pinX);
89 Pinymask = (1 << pinY);
90 Ctryval = ((4 << 26) + pinY);
100 Dutyx = ((percent * Periodxy) / 100);
111 Dutyy = ((percent * Periodxy) / 100);
121 Periodxy = (CLKFREQ / frequency);
127 int Percentx, Percenty;
129 int volatile Periodxy;
130 int volatile Dutyx, Pinxmask, Ctrxval;
131 int volatile Dutyy, Pinymask, Ctryval;
133 static const int kDefaultFrequency = 12000;
138 #endif // libpropeller_pwm2_h__ void SetPinY(const int pinY)
void SetFrequency(const int frequency)
void SetPinX(const int pinX)
void SetDutyY(const int percent)
void SetDutyX(const int percent)