1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-19 14:25:11 +03:00

Heartbeat used on X10

This commit is contained in:
Bertrand Songis 2019-07-16 09:42:49 +02:00
parent a6fdaa290e
commit e0214ee51b
No known key found for this signature in database
GPG key ID: F189F79290FEC50F
5 changed files with 14 additions and 6 deletions

View file

@ -311,7 +311,9 @@ void setupPulsesInternalModule(uint8_t protocol)
#if defined(PXX1) && defined(INTMODULE_USART)
case PROTOCOL_CHANNELS_PXX1_SERIAL:
intmodulePulsesData.pxx_uart.setupFrame(INTERNAL_MODULE);
#if !defined(INTMODULE_HEARTBEAT)
scheduleNextMixerCalculation(INTERNAL_MODULE, INTMODULE_PXX1_SERIAL_PERIOD);
#endif
break;
#endif

View file

@ -39,7 +39,7 @@ void init_intmodule_heartbeat()
EXTI_StructInit(&EXTI_InitStructure);
EXTI_InitStructure.EXTI_Line = INTMODULE_HEARTBEAT_EXTI_LINE;
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_Init(&EXTI_InitStructure);
@ -60,7 +60,7 @@ void stop_intmodule_heartbeat()
EXTI_StructInit(&EXTI_InitStructure);
EXTI_InitStructure.EXTI_Line = INTMODULE_HEARTBEAT_EXTI_LINE;
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_Init(&EXTI_InitStructure);
}
@ -68,7 +68,7 @@ void stop_intmodule_heartbeat()
void check_intmodule_heartbeat()
{
if (EXTI_GetITStatus(INTMODULE_HEARTBEAT_EXTI_LINE) != RESET) {
#if defined(PXX2)
#if defined(INTMODULE_USART)
heartbeatCapture.timestamp = RTOS_GET_MS();
#else
heartbeatCapture.timestamp = getTmr2MHz();

View file

@ -628,7 +628,7 @@
#define EXTMODULE_DMA_FLAG_TC DMA_IT_TCIF7
#endif
// Heartbeat (not used)
// Heartbeat
#define INTMODULE_HEARTBEAT
#define INTMODULE_HEARTBEAT_RCC_AHB1Periph RCC_AHB1Periph_GPIOD
#define INTMODULE_HEARTBEAT_GPIO GPIOD
@ -638,6 +638,11 @@
#define INTMODULE_HEARTBEAT_EXTI_LINE EXTI_Line12
#define INTMODULE_HEARTBEAT_EXTI_IRQn EXTI15_10_IRQn
#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
#define TRAINER_RCC_AHB1Periph (RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_DMA1)

View file

@ -1183,6 +1183,7 @@
#endif
// Heartbeat for iXJT / ISRM synchro
#define INTMODULE_HEARTBEAT_TRIGGER EXTI_Trigger_Falling
#if defined(PCBXLITE)
#define INTMODULE_HEARTBEAT
#define INTMODULE_HEARTBEAT_RCC_AHB1Periph RCC_AHB1Periph_GPIOD

View file

@ -141,8 +141,8 @@ TASK_FUNCTION(mixerTask)
run = true;
}
#if defined(PXX2) && defined(INTMODULE_HEARTBEAT)
if (moduleState[INTERNAL_MODULE].protocol == PROTOCOL_CHANNELS_PXX2_HIGHSPEED && heartbeatCapture.valid && heartbeatCapture.timestamp > lastRunTime) {
#if defined(INTMODULE_USART) && defined(INTMODULE_HEARTBEAT)
if ((moduleState[INTERNAL_MODULE].protocol == PROTOCOL_CHANNELS_PXX2_HIGHSPEED || moduleState[INTERNAL_MODULE].protocol == PROTOCOL_CHANNELS_PXX1_SERIAL) && heartbeatCapture.valid && heartbeatCapture.timestamp > lastRunTime) {
run = true;
}
#endif