mirror of
https://github.com/opentx/opentx.git
synced 2025-07-23 16:25:16 +03:00
Introduced definition HARDWARE_INTERNAL_MODULE to avoid testing the brand etc.
This commit is contained in:
parent
4b393e48a0
commit
f5c6c55ac5
8 changed files with 15 additions and 9 deletions
|
@ -574,7 +574,7 @@ bool isExternalModuleAvailable(int module)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if defined(PCBTARANIS) || defined(PCBHORUS)
|
#if defined(HARDWARE_INTERNAL_MODULE)
|
||||||
if (module == MODULE_TYPE_R9M && g_model.moduleData[INTERNAL_MODULE].type == MODULE_TYPE_XJT) {
|
if (module == MODULE_TYPE_R9M && g_model.moduleData[INTERNAL_MODULE].type == MODULE_TYPE_XJT) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,14 +31,17 @@ TrainerPulsesData trainerPulsesData __DMA;
|
||||||
uint8_t getModuleType(uint8_t module)
|
uint8_t getModuleType(uint8_t module)
|
||||||
{
|
{
|
||||||
uint8_t type = g_model.moduleData[module].type;
|
uint8_t type = g_model.moduleData[module].type;
|
||||||
#if defined(PCBTARANIS) || defined(PCBHORUS)
|
|
||||||
|
#if defined(HARDWARE_INTERNAL_MODULE)
|
||||||
if (module == INTERNAL_MODULE && isInternalModuleAvailable(type)) {
|
if (module == INTERNAL_MODULE && isInternalModuleAvailable(type)) {
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (module == EXTERNAL_MODULE && isExternalModuleAvailable(type)) {
|
if (module == EXTERNAL_MODULE && isExternalModuleAvailable(type)) {
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
return MODULE_TYPE_NONE;
|
return MODULE_TYPE_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -334,7 +337,7 @@ void setupPulsesExternalModule(uint8_t protocol)
|
||||||
void setupPulses(uint8_t module, uint8_t protocol)
|
void setupPulses(uint8_t module, uint8_t protocol)
|
||||||
{
|
{
|
||||||
switch (module) {
|
switch (module) {
|
||||||
#if defined(PCBTARANIS) || defined(PCBHORUS)
|
#if defined(HARDWARE_INTERNAL_MODULE)
|
||||||
case INTERNAL_MODULE:
|
case INTERNAL_MODULE:
|
||||||
setupPulsesInternalModule(protocol);
|
setupPulsesInternalModule(protocol);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -510,6 +510,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Internal Module
|
// Internal Module
|
||||||
|
#define HARDWARE_INTERNAL_MODULE
|
||||||
#define INTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA2)
|
#define INTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_DMA2)
|
||||||
#define INTMODULE_PWR_GPIO GPIOA
|
#define INTMODULE_PWR_GPIO GPIOA
|
||||||
#define INTMODULE_PWR_GPIO_PIN GPIO_Pin_8 // PA.08
|
#define INTMODULE_PWR_GPIO_PIN GPIO_Pin_8 // PA.08
|
||||||
|
|
|
@ -176,8 +176,7 @@ extern "C" void TELEMETRY_DMA_TX_IRQHandler(void)
|
||||||
DMA_ClearITPendingBit(TELEMETRY_DMA_Stream_TX, TELEMETRY_DMA_TX_FLAG_TC);
|
DMA_ClearITPendingBit(TELEMETRY_DMA_Stream_TX, TELEMETRY_DMA_TX_FLAG_TC);
|
||||||
TELEMETRY_USART->CR1 |= USART_CR1_TCIE;
|
TELEMETRY_USART->CR1 |= USART_CR1_TCIE;
|
||||||
if (telemetryProtocol == PROTOCOL_TELEMETRY_FRSKY_SPORT) {
|
if (telemetryProtocol == PROTOCOL_TELEMETRY_FRSKY_SPORT) {
|
||||||
outputTelemetryBuffer.size = 0;
|
outputTelemetryBuffer.reset();
|
||||||
outputTelemetryBuffer.trigger = 0x7E;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ set(NAVIGATION_TYPE 9x)
|
||||||
set(TARGET_DIR sky9x)
|
set(TARGET_DIR sky9x)
|
||||||
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} 9x_bitmaps)
|
set(FIRMWARE_DEPENDENCIES ${FIRMWARE_DEPENDENCIES} 9x_bitmaps)
|
||||||
set(PPM_LIMITS_SYMETRICAL YES)
|
set(PPM_LIMITS_SYMETRICAL YES)
|
||||||
|
set(PXX1 YES)
|
||||||
|
|
||||||
if(PCB STREQUAL 9XRPRO)
|
if(PCB STREQUAL 9XRPRO)
|
||||||
add_definitions(-Dat91sam3s8 -DREVX)
|
add_definitions(-Dat91sam3s8 -DREVX)
|
||||||
|
|
|
@ -279,7 +279,7 @@ extern "C" void PWM_IRQHandler(void)
|
||||||
if (reason & PWM_ISR1_CHID3) {
|
if (reason & PWM_ISR1_CHID3) {
|
||||||
// Use the current protocol, don't switch until set_up_pulses
|
// Use the current protocol, don't switch until set_up_pulses
|
||||||
switch (moduleSettings[EXTERNAL_MODULE].protocol) {
|
switch (moduleSettings[EXTERNAL_MODULE].protocol) {
|
||||||
case PROTOCOL_CHANNELS_PXX:
|
case PROTOCOL_CHANNELS_PXX1_PULSES:
|
||||||
// Alternate periods of 6.5mS and 2.5 mS
|
// Alternate periods of 6.5mS and 2.5 mS
|
||||||
period = pwmptr->PWM_CH_NUM[3].PWM_CPDR;
|
period = pwmptr->PWM_CH_NUM[3].PWM_CPDR;
|
||||||
if (period == 2500 * 2) {
|
if (period == 2500 * 2) {
|
||||||
|
@ -365,11 +365,12 @@ extern "C" void PWM_IRQHandler(void)
|
||||||
|
|
||||||
#if !defined(REVA)
|
#if !defined(REVA)
|
||||||
if (reason & PWM_ISR1_CHID1) {
|
if (reason & PWM_ISR1_CHID1) {
|
||||||
pwmptr->PWM_CH_NUM[1].PWM_CPDRUPD = *modulePulsesData[EXTRA_MODULE].ppm.ptr++;
|
// TODO EXTRA_MODULE will be broken
|
||||||
|
/*pwmptr->PWM_CH_NUM[1].PWM_CPDRUPD = *modulePulsesData[EXTRA_MODULE].ppm.ptr++;
|
||||||
if (*modulePulsesData[EXTRA_MODULE].ppm.ptr == 0) {
|
if (*modulePulsesData[EXTRA_MODULE].ppm.ptr == 0) {
|
||||||
setupPulses(EXTRA_MODULE);
|
setupPulses(EXTRA_MODULE);
|
||||||
setExtraModulePolarity();
|
setExtraModulePolarity();
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -669,6 +669,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Internal Module
|
// Internal Module
|
||||||
|
#define HARDWARE_INTERNAL_MODULE
|
||||||
#if defined(PCBXLITE) || defined(PCBX3)
|
#if defined(PCBXLITE) || defined(PCBX3)
|
||||||
#define INTMODULE_RCC_APB1Periph RCC_APB1Periph_TIM3
|
#define INTMODULE_RCC_APB1Periph RCC_APB1Periph_TIM3
|
||||||
#define INTMODULE_RCC_APB2Periph RCC_APB2Periph_USART1
|
#define INTMODULE_RCC_APB2Periph RCC_APB2Periph_USART1
|
||||||
|
|
|
@ -89,7 +89,7 @@ void sendSynchronousPulses()
|
||||||
{
|
{
|
||||||
for (uint8_t module = 0; module < NUM_MODULES; module++) {
|
for (uint8_t module = 0; module < NUM_MODULES; module++) {
|
||||||
if (isModuleSynchronous(module) && setupPulses(module)) {
|
if (isModuleSynchronous(module) && setupPulses(module)) {
|
||||||
#if defined(PCBHORUS) || defined(PCBTARANIS)
|
#if defined(HARDWARE_INTERNAL_MODULE)
|
||||||
if (module == INTERNAL_MODULE)
|
if (module == INTERNAL_MODULE)
|
||||||
intmoduleSendNextFrame();
|
intmoduleSendNextFrame();
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue