Skip to content

Commit c394b66

Browse files
committed
Add custom PWM output function
1 parent b4b7beb commit c394b66

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

variants/OPENTRACKER_V3/variant.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,25 @@ ADC_VBAT,
143143

144144
// ----------------------------------------------------------------------------
145145

146+
#include <board.h>
147+
#include "PinConfigured.h"
148+
extern "C" uint32_t g_anOutputPinConfigured[];
149+
150+
void analogWritePWM(uint32_t ulPin, uint32_t ulValue, uint32_t ulMax, uint32_t ulFreq)
151+
{
152+
uint8_t do_init = 0;
153+
PinName p = digitalPinToPinName(ulPin);
154+
if(pin_in_pinmap(p, PinMap_PWM)) {
155+
if(is_pin_configured(p, g_anOutputPinConfigured) == false) {
156+
do_init = 1;
157+
set_pin_configured(p, g_anOutputPinConfigured);
158+
}
159+
pwm_start(p, ulFreq*ulMax, ulMax, ulValue, do_init);
160+
}
161+
}
162+
163+
// ----------------------------------------------------------------------------
164+
146165
#ifdef __cplusplus
147166
extern "C" {
148167
#endif

variants/OPENTRACKER_V3/variant.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,4 +266,8 @@ VBAT,
266266

267267
#include "opentracker.h"
268268

269+
#ifdef __cplusplus
270+
void analogWritePWM(uint32_t ulPin, uint32_t ulValue, uint32_t ulMax, uint32_t ulFreq);
271+
#endif
272+
269273
#endif /* _VARIANT_ARDUINO_STM32_ */

0 commit comments

Comments
 (0)