22/* *
33 * Support for the RP2040 MCU, as found on the Raspberry Pi Pico.
44 */
5+
6+ #include " ./rp2040_mcu.h"
7+
8+
59#if defined(TARGET_RP2040)
610
711
1317#define SIMPLEFOC_DEBUG_RP2040
1418
1519#include " ../../hardware_api.h"
16- #include " ./rp2040_mcu.h"
1720#include " hardware/pwm.h"
1821#include " hardware/clocks.h"
22+ #include < pinDefinitions.h>
1923
2024#define _PWM_FREQUENCY 24000
2125#define _PWM_FREQUENCY_MAX 66000
@@ -30,7 +34,8 @@ uint16_t wrapvalues[NUM_PWM_SLICES];
3034
3135// TODO add checks which channels are already used...
3236
33- void setupPWM (int pin, long pwm_frequency, bool invert, RP2040DriverParams* params, uint8_t index) {
37+ void setupPWM (int pin_nr, long pwm_frequency, bool invert, RP2040DriverParams* params, uint8_t index) {
38+ uint pin = (uint)digitalPinToPinName (pin_nr); // we could check for -DBOARD_HAS_PIN_REMAP ?
3439 gpio_set_function (pin, GPIO_FUNC_PWM);
3540 uint slice = pwm_gpio_to_slice_num (pin);
3641 uint chan = pwm_gpio_to_channel (pin);
@@ -45,7 +50,7 @@ void setupPWM(int pin, long pwm_frequency, bool invert, RP2040DriverParams* para
4550 uint32_t wrapvalue = (sysclock_hz * 8 ) / div / pwm_frequency - 1 ;
4651#ifdef SIMPLEFOC_DEBUG_RP2040
4752 SimpleFOCDebug::print (" Configuring pin " );
48- SimpleFOCDebug::print (pin);
53+ SimpleFOCDebug::print (( int ) pin);
4954 SimpleFOCDebug::print (" slice " );
5055 SimpleFOCDebug::print ((int )slice);
5156 SimpleFOCDebug::print (" channel " );
0 commit comments