From 024e695d4c75b95ab2be492139dbc76fab6bd130 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sat, 21 Nov 2020 15:37:27 +0100 Subject: [PATCH 01/11] Update CREDITS.txt --- CREDITS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CREDITS.txt b/CREDITS.txt index 63135b139..f9ef48906 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -2018,3 +2018,4 @@ Gerard Falaise Kevin Raynor Lorenzo gh Jan Landeweer +David Bland From 9b3ee32c2c09cf100b434fc24a32366074fc8ece Mon Sep 17 00:00:00 2001 From: 3djc Date: Sat, 21 Nov 2020 16:42:08 +0100 Subject: [PATCH 02/11] Ghost widget logo color to match module led color (#8109) --- radio/sdcard/horus/WIDGETS/Ghost/img/green.png | Bin 0 -> 1898 bytes radio/sdcard/horus/WIDGETS/Ghost/img/orange.png | Bin 0 -> 1787 bytes radio/sdcard/horus/WIDGETS/Ghost/img/red.png | Bin 0 -> 1561 bytes radio/sdcard/horus/WIDGETS/Ghost/main.lua | 12 ++++++++++++ 4 files changed, 12 insertions(+) create mode 100644 radio/sdcard/horus/WIDGETS/Ghost/img/green.png create mode 100644 radio/sdcard/horus/WIDGETS/Ghost/img/orange.png create mode 100644 radio/sdcard/horus/WIDGETS/Ghost/img/red.png diff --git a/radio/sdcard/horus/WIDGETS/Ghost/img/green.png b/radio/sdcard/horus/WIDGETS/Ghost/img/green.png new file mode 100644 index 0000000000000000000000000000000000000000..27c3a85cccb076c00f058bec9a77ad31dd1261e3 GIT binary patch literal 1898 zcmV-w2bK7VP)5000LuNkl+Z6<_cZ71-n;LI)i-nJ-t*u8{O3FW|KI_-T> zA%u}KQ-U#L31409*Njgxfx=`m5sSs*OkAraq^yjPNTuCtOO^&sMldFLL}<6x)e(}B zLCAd>twgF5tuy(Tzfk(W(@FKi<>=; zvUlw04V5pgg!$Jdq*!noZg)3GY8tqvCSc-3 zpuWzTjH72ffxiA(rGl!a2GdefaFap-wOo$gt9od^sKBy&e}^Gh%6gW+dy4t$}-{-)KZs?JV#%9qNU$jeXE(Wg%i_CVGuVbgp>?%kxa^ zJq_LB{4WuuRC=8p3t3V!ID-L}swzm+QmtfYvPq>Fh zW+vF&kc7!q+=)34c8J9GZtTW{np4suY%I98KY;SjfVp$s z$vBeG>2$cFQlY)I6-~dKMpSGplC$SP*WV8!li_G#A)cG@C)3^cd^-|aT5$Byd6@Tv zhI#GVn0KIza?T%~=OK|utR%N?1(%x#l9UAQn95GZR&zwfJ!=baU2O%PSsCFJ8j9g+ zJ>G6g#BFQVpyf~%W`};vGldCwcr4v^u!{gKGrQYw-V?2BH~>0k;Uf$KDV zKwB$Y|3py5mgW{59X}q=-hBeg@*~}dP+Sa?BYWDf_+oY<60>IEqYDo+`GQq)Tx@8- zn@6HqyKK}cbar-%VR8)>Q79ly%K)LvZB><>3{~vu=|N+5D&`m6>?w`hP_SY&jwMb& z+QNmXD7eC2kNR*c`p1uF&n?lRxN!cwXrE3NF2$8hodVtUGT_*8=bSk>a~785^#?@6 z5uf)hgkt1K%+#!7(oKz%F<`&|$U;Mq{`lkGlbE8u9&OpFP!5f@d#3rs$$v$J;`rXz z5j`#r8#c7E_8_?&4?O)8BLZ8#2%d0!X6?vGbPiL%+}U9#)8tSI1HsToV&W3D+P)}4?L{5>!T7QN0&hB6HMwkBXAUCmR_Fl?2RY}Yqy z5tERBtlXvWwZaHrtDqy5%VCysASRQQ3}xAxI4~e0>-Jp%R=flRE1cxpvqs|3jvY=i z$3Y$8x}p#4GeOD|dzgBL1^XqE)Or;;Yxi0kKb>%UFMsV-z+0kvAS7HPdJL>cie%&+ z8b}C1*RC+gjl5guuH84GGUqE`XqZ({;~v)e@5SOsPLA7v{xJNqfsHMaQFbbdK_F@D=LouDg*jpE9b7tFuIH*eC}Uh)jTzPR&>bd6`k6j#n_3L?X>p7GEpab%Eue1y zESTgySYaZAY6PkOmE_oy3=+@F@5%xt!;uyQMf&zTB ziA+$Pb)zjzlzN0#VSl7N?)17&pGIDF z9vb2X`5ZJvXNF0}i5qf9l=tUia^{0ZyihVJSYS-d@%TjEsjl->7I%gvC+KoJ824gU(YNgB7wmEGy}kqR4|qmaRoEPK4*&oF07*qoM6N<$g2MTp)c^nh literal 0 HcmV?d00001 diff --git a/radio/sdcard/horus/WIDGETS/Ghost/img/orange.png b/radio/sdcard/horus/WIDGETS/Ghost/img/orange.png new file mode 100644 index 0000000000000000000000000000000000000000..6f926c44bb76d26ab0a8d2ca2a5a916dde788b32 GIT binary patch literal 1787 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 Date: Sat, 21 Nov 2020 17:54:45 +0100 Subject: [PATCH 03/11] Update CREDITS.txt --- CREDITS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CREDITS.txt b/CREDITS.txt index f9ef48906..ca65cdd40 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -2019,3 +2019,4 @@ Kevin Raynor Lorenzo gh Jan Landeweer David Bland +Manuel Spoerri From 4555be0286ff7f447b5736996dc1c721f9a0116a Mon Sep 17 00:00:00 2001 From: 3djc Date: Sun, 22 Nov 2020 08:19:42 +0100 Subject: [PATCH 04/11] Add Ghost pack telemetry (#8110) --- radio/src/telemetry/ghost.cpp | 25 +++++++++++++++++++++++++ radio/src/telemetry/ghost.h | 1 + 2 files changed, 26 insertions(+) diff --git a/radio/src/telemetry/ghost.cpp b/radio/src/telemetry/ghost.cpp index 10928da21..67ee38277 100755 --- a/radio/src/telemetry/ghost.cpp +++ b/radio/src/telemetry/ghost.cpp @@ -46,6 +46,9 @@ enum GHOST_ID_VTX_CHAN = 0x000a, // Vtx Channel GHOST_ID_VTX_BAND = 0x000b, // Vtx Band + GHOST_ID_PACK_VOLTS = 0x000c, // Battery Pack Voltage + GHOST_ID_PACK_AMPS = 0x000d, // Battery Pack Current + GHOST_ID_PACK_MAH = 0x000e, // Battery Pack mAh consumed }; const GhostSensor ghostSensors[] = { @@ -63,6 +66,10 @@ const GhostSensor ghostSensors[] = { {GHOST_ID_VTX_CHAN, ZSTR_VTX_CHAN, UNIT_RAW, 0}, {GHOST_ID_VTX_BAND, ZSTR_VTX_BAND, UNIT_TEXT, 0}, + {GHOST_ID_PACK_VOLTS, ZSTR_BATT, UNIT_VOLTS, 2}, + {GHOST_ID_PACK_AMPS, ZSTR_CURR, UNIT_AMPS, 2}, + {GHOST_ID_PACK_MAH, ZSTR_CAPACITY, UNIT_MAH, 0}, + {0x00, NULL, UNIT_RAW, 0}, }; @@ -103,6 +110,11 @@ uint16_t getTelemetryValue_u16(uint8_t index) return (telemetryRxBuffer[index] << 8) | telemetryRxBuffer[index + 1]; } +uint16_t getTelemetryValue_u16le(uint8_t index) +{ + return (telemetryRxBuffer[index + 1] << 8) | telemetryRxBuffer[index]; +} + uint32_t getTelemetryValue_s32(uint8_t index) { uint32_t val = 0; @@ -198,6 +210,19 @@ void processGhostTelemetryFrame() lineData->menuText[GHST_MENU_CHARS] = '\0'; break; } + + case GHST_DL_PACK_STAT: { +#if defined(BLUETOOTH) + if (g_eeGeneral.bluetoothMode == BLUETOOTH_TELEMETRY && bluetooth.state == BLUETOOTH_STATE_CONNECTED) { + bluetooth.write(telemetryRxBuffer, telemetryRxBufferCount); + } +#endif + processGhostTelemetryValue(GHOST_ID_PACK_VOLTS, getTelemetryValue_u16le(3)); + processGhostTelemetryValue(GHOST_ID_PACK_AMPS, getTelemetryValue_u16le(5)); + processGhostTelemetryValue(GHOST_ID_PACK_MAH, getTelemetryValue_u16le(7) * 10); + + break; + } } } diff --git a/radio/src/telemetry/ghost.h b/radio/src/telemetry/ghost.h index 77ced179f..ae8c63465 100755 --- a/radio/src/telemetry/ghost.h +++ b/radio/src/telemetry/ghost.h @@ -43,6 +43,7 @@ #define GHST_DL_OPENTX_SYNC 0x20 #define GHST_DL_LINK_STAT 0x21 #define GHST_DL_VTX_STAT 0x22 +#define GHST_DL_PACK_STAT 0x23 #define GHST_DL_MENU_DESC 0x24 #define GHST_RC_CTR_VAL_12BIT 0x7C0 // 0x3e0 << 1 From 2dfa8a80ab91271eb8ecc2c2f49f4f395e0612b7 Mon Sep 17 00:00:00 2001 From: 3djc Date: Sun, 22 Nov 2020 13:52:56 +0100 Subject: [PATCH 05/11] Fix Ghost menu glitch --- radio/src/opentx.h | 1 + radio/src/pulses/ghost.cpp | 4 ++-- radio/src/telemetry/ghost.cpp | 3 +-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 284048491..fe42cdd5c 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1131,6 +1131,7 @@ union ReusableBuffer #if defined(GHOST) struct { GhostMenuData line[GHST_MENU_LINES + 1]; + uint8_t menuFlags; uint8_t menuAction; uint8_t buttonAction; } ghostMenu; diff --git a/radio/src/pulses/ghost.cpp b/radio/src/pulses/ghost.cpp index 1847976e2..df4fa6f69 100755 --- a/radio/src/pulses/ghost.cpp +++ b/radio/src/pulses/ghost.cpp @@ -22,8 +22,6 @@ uint8_t createGhostMenuControlFrame(uint8_t * frame, int16_t * pulses) { - moduleState[EXTERNAL_MODULE].counter = GHST_FRAME_CHANNEL; - uint8_t * buf = frame; #if SPORT_MAX_BAUDRATE < 400000 *buf++ = g_eeGeneral.telemetryBaudrate == GHST_TELEMETRY_RATE_400K ? GHST_ADDR_MODULE_SYM : GHST_ADDR_MODULE_ASYM; @@ -118,5 +116,7 @@ void setupPulsesGhost() extmodulePulsesData.ghost.length = createGhostMenuControlFrame(pulses, &channelOutputs[g_model.moduleData[EXTERNAL_MODULE].channelsStart]); else extmodulePulsesData.ghost.length = createGhostChannelsFrame(pulses, &channelOutputs[g_model.moduleData[EXTERNAL_MODULE].channelsStart]); + + moduleState[EXTERNAL_MODULE].counter = GHST_FRAME_CHANNEL; } } diff --git a/radio/src/telemetry/ghost.cpp b/radio/src/telemetry/ghost.cpp index 67ee38277..7a9653bb4 100755 --- a/radio/src/telemetry/ghost.cpp +++ b/radio/src/telemetry/ghost.cpp @@ -192,11 +192,10 @@ void processGhostTelemetryFrame() { GhostMenuFrame * packet; GhostMenuData * lineData; - packet = (GhostMenuFrame * ) telemetryRxBuffer; lineData = (GhostMenuData *) &reusableBuffer.ghostMenu.line[packet->lineIndex]; lineData->splitLine = 0; - reusableBuffer.ghostMenu.menuAction = packet->menuFlags; + reusableBuffer.ghostMenu.menuFlags = packet->menuFlags; lineData->lineFlags = packet->lineFlags; for (uint8_t i = 0; i < GHST_MENU_CHARS; i++) { if (packet->menuText[i] == 0x7C) { From c7ddaebc42f103c7ebc82b56e535a93d9c0b6400 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Nov 2020 10:09:45 +0100 Subject: [PATCH 06/11] Dead code removed --- radio/src/targets/taranis/hal.h | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/radio/src/targets/taranis/hal.h b/radio/src/targets/taranis/hal.h index c67d65ff7..b7160cbf9 100644 --- a/radio/src/targets/taranis/hal.h +++ b/radio/src/targets/taranis/hal.h @@ -1242,29 +1242,6 @@ #define EXTMODULE_USART_TX_DMA_STREAM DMA2_Stream6 #define EXTMODULE_USART_RX_DMA_CHANNEL DMA_Channel_5 #define EXTMODULE_USART_RX_DMA_STREAM DMA2_Stream1 -#elif defined(RADIO_X9DP2019) - #define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA2) - #define EXTMODULE_RCC_APB2Periph (RCC_APB2Periph_TIM8 | RCC_APB2Periph_USART6) - #define EXTMODULE_PWR_GPIO GPIOD - #define EXTMODULE_PWR_GPIO_PIN GPIO_Pin_8 // PD.08 - #define EXTERNAL_MODULE_PWR_ON() GPIO_SetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) - #define EXTERNAL_MODULE_PWR_OFF() GPIO_ResetBits(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) - #define IS_EXTERNAL_MODULE_ON() (GPIO_ReadInputDataBit(EXTMODULE_PWR_GPIO, EXTMODULE_PWR_GPIO_PIN) == Bit_SET) - #define EXTMODULE_TX_GPIO GPIOC - #define EXTMODULE_TX_GPIO_PIN GPIO_Pin_7 // PC.07 - #define EXTMODULE_TX_GPIO_PinSource GPIO_PinSource7 - #define EXTMODULE_TIMER TIM8 - #define EXTMODULE_TIMER_TX_GPIO_AF GPIO_AF_TIM8 // TIM8_CH2 - #define EXTMODULE_TIMER_CC_IRQn TIM8_CC_IRQn - #define EXTMODULE_TIMER_CC_IRQHandler TIM8_CC_IRQHandler - #define EXTMODULE_TIMER_DMA_CHANNEL DMA_Channel_7 // TIM8_UP - #define EXTMODULE_TIMER_DMA_STREAM DMA2_Stream1 // TIM8_UP - #define EXTMODULE_TIMER_DMA_STREAM_IRQn DMA2_Stream1_IRQn - #define EXTMODULE_TIMER_DMA_STREAM_IRQHandler DMA2_Stream1_IRQHandler - #define EXTMODULE_TIMER_DMA_FLAG_TC DMA_IT_TCIF1 - #define EXTMODULE_TIMER_OUTPUT_ENABLE TIM_CCER_CC2E - #define EXTMODULE_TIMER_OUTPUT_POLARITY TIM_CCER_CC2NP - #define EXTMODULE_TIMER_FREQ (PERI2_FREQUENCY * TIMER_MULT_APB2) #else #define EXTMODULE_RCC_AHB1Periph (RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_DMA2) #define EXTMODULE_RCC_APB2Periph RCC_APB2Periph_TIM8 From e4a3dc73fdae5f3cafb8989890c53a4ce7128469 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Nov 2020 10:10:33 +0100 Subject: [PATCH 07/11] EXTMODULE TX and RX are inverted, we have to set them to high so that they cannot give power to the module --- radio/src/targets/taranis/extmodule_driver.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/radio/src/targets/taranis/extmodule_driver.cpp b/radio/src/targets/taranis/extmodule_driver.cpp index a5b6a4acd..4287c0f75 100644 --- a/radio/src/targets/taranis/extmodule_driver.cpp +++ b/radio/src/targets/taranis/extmodule_driver.cpp @@ -37,7 +37,8 @@ void extmoduleStop() GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(EXTMODULE_USART_GPIO, &GPIO_InitStructure); - GPIO_ResetBits(EXTMODULE_USART_GPIO, EXTMODULE_TX_GPIO_PIN | EXTMODULE_RX_GPIO_PIN); + // TX and RX are inverted, we set it to HIGH + GPIO_SetBits(EXTMODULE_USART_GPIO, EXTMODULE_TX_GPIO_PIN | EXTMODULE_RX_GPIO_PIN); #endif EXTMODULE_TIMER->DIER &= ~(TIM_DIER_CC2IE | TIM_DIER_UDE); From 0dfe69d72a699931f46132d4a1ffd3991e3c97fc Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Nov 2020 10:11:05 +0100 Subject: [PATCH 08/11] Cosmetics --- radio/src/opentx.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 673c37aa7..f6b60cb7e 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1748,7 +1748,8 @@ void copyTrimsToOffset(uint8_t ch) int16_t output = applyLimits(ch, chans[ch]) - zero; int16_t v = g_model.limitData[ch].offset; - if (g_model.limitData[ch].revert) output = -output; + if (g_model.limitData[ch].revert) + output = -output; v += (output * 125) / 128; g_model.limitData[ch].offset = limit((int16_t)-1000, (int16_t)v, (int16_t)1000); // make sure the offset doesn't go haywire @@ -1832,7 +1833,8 @@ void moveTrimsToOffsets() // copy state of 3 primary to subtrim for (uint8_t i=0; i Date: Tue, 24 Nov 2020 22:13:09 +0100 Subject: [PATCH 09/11] Update CREDITS.txt --- CREDITS.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CREDITS.txt b/CREDITS.txt index ca65cdd40..b408ee915 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -2020,3 +2020,8 @@ Lorenzo gh Jan Landeweer David Bland Manuel Spoerri +Jeff Jacobs +David Thorne +Maddox Philip +James Jewitt +Justin Digby From 807c3ff0b298b2077584b2c209462a6d1afb8f96 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Thu, 26 Nov 2020 17:49:15 +0100 Subject: [PATCH 10/11] Update CREDITS.txt --- CREDITS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CREDITS.txt b/CREDITS.txt index b408ee915..fff715dc5 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -2025,3 +2025,4 @@ David Thorne Maddox Philip James Jewitt Justin Digby +John Magnuson (monthly) From 2319183b42a0b595e53139cbfb1c09c807d4eb85 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Thu, 26 Nov 2020 17:59:20 +0100 Subject: [PATCH 11/11] Update CREDITS.txt --- CREDITS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CREDITS.txt b/CREDITS.txt index fff715dc5..c0b6df8a8 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -2026,3 +2026,4 @@ Maddox Philip James Jewitt Justin Digby John Magnuson (monthly) +Holger Lippert