Browse Source
Merge pull request #8518 from Bob-the-Kuhn/temp-test-servo-2
[2.0.x] LP1768 - fix PWMs
pull/1/head
Bob-the-Kuhn
7 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
8 additions and
4 deletions
-
Marlin/src/HAL/HAL_LPC1768/LPC1768_PWM.cpp
|
|
@ -245,14 +245,15 @@ bool LPC1768_PWM_detach_pin(pin_t pin) { |
|
|
|
|
|
|
|
pin = GET_PIN_MAP_PIN(GET_PIN_MAP_INDEX(pin & 0xFF)); |
|
|
|
|
|
|
|
NVIC_EnableIRQ(PWM1_IRQn); // ?? fixes compiler problem?? ISR won't start
|
|
|
|
// unless put in an extra "enable"
|
|
|
|
NVIC_DisableIRQ(PWM1_IRQn); |
|
|
|
|
|
|
|
uint8_t slot = 0xFF; |
|
|
|
for (uint8_t i = 0; i < NUM_PWMS; i++) // find slot
|
|
|
|
if (ISR_table[i].pin == pin) { slot = i; break; } |
|
|
|
if (slot == 0xFF) return false; // return error if pin not found
|
|
|
|
if (slot == 0xFF) { // return error if pin not found
|
|
|
|
NVIC_EnableIRQ(PWM1_IRQn); |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
LPC1768_PWM_update_map_MR(); |
|
|
|
|
|
|
@ -315,7 +316,10 @@ bool LPC1768_PWM_write(pin_t pin, uint32_t value) { |
|
|
|
uint8_t slot = 0xFF; |
|
|
|
for (uint8_t i = 0; i < NUM_PWMS; i++) // find slot
|
|
|
|
if (ISR_table[i].pin == pin) { slot = i; break; } |
|
|
|
if (slot == 0xFF) return false; // return error if pin not found
|
|
|
|
if (slot == 0xFF) { // return error if pin not found
|
|
|
|
NVIC_EnableIRQ(PWM1_IRQn); |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
LPC1768_PWM_update_map_MR(); |
|
|
|
|
|
|
|