mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-24 00:35:39 +03:00
STM32F30x - Working parallel PWM. Timer IRQ handle was not defined for
TIM8 correctly. Software serial conficted with parallel PWM input. Fixed crash due to incorrect timerConfig index calculation code. The crash occurred when capture compare interrupt handlers attempted to call an invalid callback. Note: the crash does not affect existing baseflight code since the formula is OK when using a 2 dimensional array with equal dimensions. Formula details here: https://docs.google.com/spreadsheets/d/1UuxnC0VKiprvt1wt3KXffefEWJUb_-ILFLQuP377Anw
This commit is contained in:
parent
fbe2f82c05
commit
92bed4a33d
10 changed files with 82 additions and 82 deletions
|
@ -32,8 +32,8 @@
|
|||
softSerial_t softSerialPorts[MAX_SOFTSERIAL_PORTS];
|
||||
|
||||
|
||||
void onSerialTimer(uint8_t portIndex, uint16_t capture);
|
||||
void onSerialRxPinChange(uint8_t portIndex, uint16_t capture);
|
||||
void onSerialTimer(uint8_t portIndex, captureCompare_t capture);
|
||||
void onSerialRxPinChange(uint8_t portIndex, captureCompare_t capture);
|
||||
|
||||
void setTxSignal(softSerial_t *softSerial, uint8_t state)
|
||||
{
|
||||
|
@ -335,7 +335,7 @@ void processRxState(softSerial_t *softSerial)
|
|||
}
|
||||
}
|
||||
|
||||
void onSerialTimer(uint8_t portIndex, uint16_t capture)
|
||||
void onSerialTimer(uint8_t portIndex, captureCompare_t capture)
|
||||
{
|
||||
softSerial_t *softSerial = &(softSerialPorts[portIndex]);
|
||||
|
||||
|
@ -343,7 +343,7 @@ void onSerialTimer(uint8_t portIndex, uint16_t capture)
|
|||
processRxState(softSerial);
|
||||
}
|
||||
|
||||
void onSerialRxPinChange(uint8_t portIndex, uint16_t capture)
|
||||
void onSerialRxPinChange(uint8_t portIndex, captureCompare_t capture)
|
||||
{
|
||||
softSerial_t *softSerial = &(softSerialPorts[portIndex]);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue