fix: Internal PXX exclusive S.PORT (#3822)
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
#include "opentx.h"
|
||||
#include "hal/module_port.h"
|
||||
|
||||
#include "telemetry.h"
|
||||
#include "io/multi_protolist.h"
|
||||
@@ -83,6 +84,11 @@ MultiModuleStatus &getMultiModuleStatus(uint8_t module)
|
||||
return multiModuleStatus[module];
|
||||
}
|
||||
|
||||
static uint8_t _getMultiStatusModuleIdx(const MultiModuleStatus* p)
|
||||
{
|
||||
return p - multiModuleStatus;
|
||||
}
|
||||
|
||||
uint8_t getMultiBindStatus(uint8_t module)
|
||||
{
|
||||
return multiBindStatus[module];
|
||||
@@ -116,6 +122,11 @@ MultiModuleStatus& getMultiModuleStatus(uint8_t)
|
||||
return multiModuleStatus;
|
||||
}
|
||||
|
||||
static uint8_t _getMultiStatusModuleIdx(const MultiModuleStatus*)
|
||||
{
|
||||
return EXTERNAL_MODULE;
|
||||
}
|
||||
|
||||
uint8_t getMultiBindStatus(uint8_t)
|
||||
{
|
||||
return multiBindStatus;
|
||||
@@ -497,14 +508,11 @@ static void processMultiTelemetryPaket(const uint8_t * packet, uint8_t module)
|
||||
void MultiModuleStatus::getStatusString(char * statusText) const
|
||||
{
|
||||
if (!isValid()) {
|
||||
#if defined(PCBFRSKY)
|
||||
#if !defined(INTERNAL_MODULE_MULTI)
|
||||
if (isSportLineUsedByInternalModule())
|
||||
if (!modulePortIsPortUsedByModule(getModuleIndex(), ETX_MOD_PORT_SPORT)) {
|
||||
strcpy(statusText, STR_DISABLE_INTERNAL);
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
strcpy(statusText, STR_MODULE_NO_TELEMETRY);
|
||||
} else {
|
||||
strcpy(statusText, STR_MODULE_NO_TELEMETRY);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (!protocolValid()) {
|
||||
@@ -556,6 +564,10 @@ void MultiModuleStatus::getStatusString(char * statusText) const
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t MultiModuleStatus::getModuleIndex() const {
|
||||
return _getMultiStatusModuleIdx(this);
|
||||
}
|
||||
|
||||
static void processMultiTelemetryByte(const uint8_t data, uint8_t module)
|
||||
{
|
||||
uint8_t * rxBuffer = getTelemetryRxBuffer(module);
|
||||
|
||||
Reference in New Issue
Block a user