Fix MPM firmware update
This commit is contained in:
@@ -128,6 +128,7 @@ class MultiInternalUpdateDriver: public MultiFirmwareUpdateDriver
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(HARDWARE_EXTERNAL_MODULE)
|
||||
class MultiExternalUpdateDriver: public MultiFirmwareUpdateDriver
|
||||
{
|
||||
public:
|
||||
@@ -141,15 +142,7 @@ class MultiExternalUpdateDriver: public MultiFirmwareUpdateDriver
|
||||
|
||||
void init(bool inverted) override
|
||||
{
|
||||
#if !defined(EXTMODULE_USART)
|
||||
GPIO_InitTypeDef GPIO_InitStructure;
|
||||
GPIO_InitStructure.GPIO_Pin = EXTMODULE_TX_GPIO_PIN;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
|
||||
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
|
||||
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
|
||||
GPIO_Init(EXTMODULE_TX_GPIO, &GPIO_InitStructure);
|
||||
#endif
|
||||
extmoduleInitTxPin();
|
||||
|
||||
if (inverted)
|
||||
telemetryPortInvertedInit(57600);
|
||||
@@ -164,9 +157,7 @@ class MultiExternalUpdateDriver: public MultiFirmwareUpdateDriver
|
||||
|
||||
void sendByte(uint8_t byte) const override
|
||||
{
|
||||
#if defined(HARDWARE_EXTERNAL_MODULE)
|
||||
extmoduleSendInvertedByte(byte);
|
||||
#endif
|
||||
}
|
||||
|
||||
void clear() const override
|
||||
@@ -184,6 +175,7 @@ class MultiExternalUpdateDriver: public MultiFirmwareUpdateDriver
|
||||
clear();
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
class MultiExtSportUpdateDriver: public MultiFirmwareUpdateDriver
|
||||
{
|
||||
|
||||
@@ -144,6 +144,17 @@ void extmoduleSendNextFrameSoftSerial(const void* pulses, uint16_t length, bool
|
||||
stm32_pulse_start_dma_req(&extmoduleTimer, pulses, length, LL_TIM_OCMODE_TOGGLE, 0);
|
||||
}
|
||||
|
||||
void extmoduleInitTxPin()
|
||||
{
|
||||
LL_GPIO_InitTypeDef pinInit;
|
||||
LL_GPIO_StructInit(&pinInit);
|
||||
pinInit.Pin = extmoduleTimer.GPIO_Pin;
|
||||
pinInit.Mode = LL_GPIO_MODE_OUTPUT;
|
||||
pinInit.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
|
||||
pinInit.Pull = LL_GPIO_PULL_UP;
|
||||
LL_GPIO_Init(extmoduleTimer.GPIOx, &pinInit);
|
||||
}
|
||||
|
||||
// Delay based byte sending @ 57600 bps
|
||||
void extmoduleSendInvertedByte(uint8_t byte)
|
||||
{
|
||||
|
||||
@@ -41,4 +41,5 @@ void extmoduleSendNextFrameSoftSerial(const void* pulses, uint16_t length,
|
||||
bool polarity = true);
|
||||
|
||||
// Bitbang serial
|
||||
void extmoduleInitTxPin();
|
||||
void extmoduleSendInvertedByte(uint8_t byte);
|
||||
|
||||
@@ -42,6 +42,7 @@ void extmodulePpmStart(unsigned short, bool) {}
|
||||
void extmoduleSerialStart() {}
|
||||
void extmodulePxx1SerialStart() {}
|
||||
void extmodulePxx1PulsesStart() {}
|
||||
void extmoduleInitTxPin() {}
|
||||
void extmoduleSendInvertedByte(uint8_t) {}
|
||||
void extmoduleSendNextFramePxx1(void const*, unsigned short) {}
|
||||
void extmoduleSendNextFrameSoftSerial(void const*, unsigned short, bool) {}
|
||||
|
||||
Reference in New Issue
Block a user