1 #include "../hardware_api.h"
3 #if defined(__arm__) && defined(CORE_TEENSY)
6 void _setHighFrequency(
const long freq,
const int pin){
8 analogWriteFrequency(pin, freq);
15 void _configure2PWM(
long pwm_frequency,
const int pinA,
const int pinB) {
16 if(!pwm_frequency || !
_isset(pwm_frequency) ) pwm_frequency = 50000;
17 else pwm_frequency =
_constrain(pwm_frequency, 0, 50000);
18 _setHighFrequency(pwm_frequency, pinA);
19 _setHighFrequency(pwm_frequency, pinB);
25 void _configure3PWM(
long pwm_frequency,
const int pinA,
const int pinB,
const int pinC) {
26 if(!pwm_frequency || !
_isset(pwm_frequency) ) pwm_frequency = 50000;
27 else pwm_frequency =
_constrain(pwm_frequency, 0, 50000);
28 _setHighFrequency(pwm_frequency, pinA);
29 _setHighFrequency(pwm_frequency, pinB);
30 _setHighFrequency(pwm_frequency, pinC);
36 void _configure4PWM(
long pwm_frequency,
const int pinA,
const int pinB,
const int pinC,
const int pinD) {
37 if(!pwm_frequency || !
_isset(pwm_frequency) ) pwm_frequency = 50000;
38 else pwm_frequency =
_constrain(pwm_frequency, 0, 50000);
39 _setHighFrequency(pwm_frequency, pinA);
40 _setHighFrequency(pwm_frequency, pinB);
41 _setHighFrequency(pwm_frequency, pinC);
42 _setHighFrequency(pwm_frequency, pinD);
50 analogWrite(pinA, 255.0*dc_a);
51 analogWrite(pinB, 255.0*dc_b);
58 analogWrite(pinA, 255.0*dc_a);
59 analogWrite(pinB, 255.0*dc_b);
60 analogWrite(pinC, 255.0*dc_c);
66 void _writeDutyCycle4PWM(
float dc_1a,
float dc_1b,
float dc_2a,
float dc_2b,
int pin1A,
int pin1B,
int pin2A,
int pin2B){
68 analogWrite(pin1A, 255.0*dc_1a);
69 analogWrite(pin1B, 255.0*dc_1b);
70 analogWrite(pin2A, 255.0*dc_2a);
71 analogWrite(pin2B, 255.0*dc_2b);
78 int _configure6PWM(
long pwm_frequency,
float dead_zone,
const int pinA_h,
const int pinA_l,
const int pinB_h,
const int pinB_l,
const int pinC_h,
const int pinC_l){
85 void _writeDutyCycle6PWM(
float dc_a,
float dc_b,
float dc_c,
float dead_zone,
int pinA_h,
int pinA_l,
int pinB_h,
int pinB_l,
int pinC_h,
int pinC_l){