mirror of
https://github.com/opentx/opentx.git
synced 2025-07-17 13:25:20 +03:00
Heartbeat used on X10
This commit is contained in:
parent
a6fdaa290e
commit
e0214ee51b
5 changed files with 14 additions and 6 deletions
|
@ -311,7 +311,9 @@ void setupPulsesInternalModule(uint8_t protocol)
|
||||||
#if defined(PXX1) && defined(INTMODULE_USART)
|
#if defined(PXX1) && defined(INTMODULE_USART)
|
||||||
case PROTOCOL_CHANNELS_PXX1_SERIAL:
|
case PROTOCOL_CHANNELS_PXX1_SERIAL:
|
||||||
intmodulePulsesData.pxx_uart.setupFrame(INTERNAL_MODULE);
|
intmodulePulsesData.pxx_uart.setupFrame(INTERNAL_MODULE);
|
||||||
|
#if !defined(INTMODULE_HEARTBEAT)
|
||||||
scheduleNextMixerCalculation(INTERNAL_MODULE, INTMODULE_PXX1_SERIAL_PERIOD);
|
scheduleNextMixerCalculation(INTERNAL_MODULE, INTMODULE_PXX1_SERIAL_PERIOD);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ void init_intmodule_heartbeat()
|
||||||
EXTI_StructInit(&EXTI_InitStructure);
|
EXTI_StructInit(&EXTI_InitStructure);
|
||||||
EXTI_InitStructure.EXTI_Line = INTMODULE_HEARTBEAT_EXTI_LINE;
|
EXTI_InitStructure.EXTI_Line = INTMODULE_HEARTBEAT_EXTI_LINE;
|
||||||
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
|
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
|
||||||
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
|
EXTI_InitStructure.EXTI_Trigger = INTMODULE_HEARTBEAT_TRIGGER;
|
||||||
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
|
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
|
||||||
EXTI_Init(&EXTI_InitStructure);
|
EXTI_Init(&EXTI_InitStructure);
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ void stop_intmodule_heartbeat()
|
||||||
EXTI_StructInit(&EXTI_InitStructure);
|
EXTI_StructInit(&EXTI_InitStructure);
|
||||||
EXTI_InitStructure.EXTI_Line = INTMODULE_HEARTBEAT_EXTI_LINE;
|
EXTI_InitStructure.EXTI_Line = INTMODULE_HEARTBEAT_EXTI_LINE;
|
||||||
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
|
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
|
||||||
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
|
EXTI_InitStructure.EXTI_Trigger = INTMODULE_HEARTBEAT_TRIGGER;
|
||||||
EXTI_InitStructure.EXTI_LineCmd = DISABLE;
|
EXTI_InitStructure.EXTI_LineCmd = DISABLE;
|
||||||
EXTI_Init(&EXTI_InitStructure);
|
EXTI_Init(&EXTI_InitStructure);
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ void stop_intmodule_heartbeat()
|
||||||
void check_intmodule_heartbeat()
|
void check_intmodule_heartbeat()
|
||||||
{
|
{
|
||||||
if (EXTI_GetITStatus(INTMODULE_HEARTBEAT_EXTI_LINE) != RESET) {
|
if (EXTI_GetITStatus(INTMODULE_HEARTBEAT_EXTI_LINE) != RESET) {
|
||||||
#if defined(PXX2)
|
#if defined(INTMODULE_USART)
|
||||||
heartbeatCapture.timestamp = RTOS_GET_MS();
|
heartbeatCapture.timestamp = RTOS_GET_MS();
|
||||||
#else
|
#else
|
||||||
heartbeatCapture.timestamp = getTmr2MHz();
|
heartbeatCapture.timestamp = getTmr2MHz();
|
||||||
|
|
|
@ -628,7 +628,7 @@
|
||||||
#define EXTMODULE_DMA_FLAG_TC DMA_IT_TCIF7
|
#define EXTMODULE_DMA_FLAG_TC DMA_IT_TCIF7
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Heartbeat (not used)
|
// Heartbeat
|
||||||
#define INTMODULE_HEARTBEAT
|
#define INTMODULE_HEARTBEAT
|
||||||
#define INTMODULE_HEARTBEAT_RCC_AHB1Periph RCC_AHB1Periph_GPIOD
|
#define INTMODULE_HEARTBEAT_RCC_AHB1Periph RCC_AHB1Periph_GPIOD
|
||||||
#define INTMODULE_HEARTBEAT_GPIO GPIOD
|
#define INTMODULE_HEARTBEAT_GPIO GPIOD
|
||||||
|
@ -638,6 +638,11 @@
|
||||||
#define INTMODULE_HEARTBEAT_EXTI_LINE EXTI_Line12
|
#define INTMODULE_HEARTBEAT_EXTI_LINE EXTI_Line12
|
||||||
#define INTMODULE_HEARTBEAT_EXTI_IRQn EXTI15_10_IRQn
|
#define INTMODULE_HEARTBEAT_EXTI_IRQn EXTI15_10_IRQn
|
||||||
#define INTMODULE_HEARTBEAT_REUSE_INTERRUPT_ROTARY_ENCODER
|
#define INTMODULE_HEARTBEAT_REUSE_INTERRUPT_ROTARY_ENCODER
|
||||||
|
#if defined(PXX2)
|
||||||
|
#define INTMODULE_HEARTBEAT_TRIGGER EXTI_Trigger_Falling
|
||||||
|
#else
|
||||||
|
#define INTMODULE_HEARTBEAT_TRIGGER EXTI_Trigger_Rising
|
||||||
|
#endif
|
||||||
|
|
||||||
// Trainer Port
|
// Trainer Port
|
||||||
#define TRAINER_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_DMA1)
|
#define TRAINER_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_DMA1)
|
||||||
|
|
|
@ -1183,6 +1183,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Heartbeat for iXJT / ISRM synchro
|
// Heartbeat for iXJT / ISRM synchro
|
||||||
|
#define INTMODULE_HEARTBEAT_TRIGGER EXTI_Trigger_Falling
|
||||||
#if defined(PCBXLITE)
|
#if defined(PCBXLITE)
|
||||||
#define INTMODULE_HEARTBEAT
|
#define INTMODULE_HEARTBEAT
|
||||||
#define INTMODULE_HEARTBEAT_RCC_AHB1Periph RCC_AHB1Periph_GPIOD
|
#define INTMODULE_HEARTBEAT_RCC_AHB1Periph RCC_AHB1Periph_GPIOD
|
||||||
|
|
|
@ -141,8 +141,8 @@ TASK_FUNCTION(mixerTask)
|
||||||
run = true;
|
run = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(PXX2) && defined(INTMODULE_HEARTBEAT)
|
#if defined(INTMODULE_USART) && defined(INTMODULE_HEARTBEAT)
|
||||||
if (moduleState[INTERNAL_MODULE].protocol == PROTOCOL_CHANNELS_PXX2_HIGHSPEED && heartbeatCapture.valid && heartbeatCapture.timestamp > lastRunTime) {
|
if ((moduleState[INTERNAL_MODULE].protocol == PROTOCOL_CHANNELS_PXX2_HIGHSPEED || moduleState[INTERNAL_MODULE].protocol == PROTOCOL_CHANNELS_PXX1_SERIAL) && heartbeatCapture.valid && heartbeatCapture.timestamp > lastRunTime) {
|
||||||
run = true;
|
run = true;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue