From b8770a2d2f05797e0f68068ded8d091e24c6bc7d Mon Sep 17 00:00:00 2001 From: 3djc Date: Fri, 22 Feb 2019 15:49:49 +0100 Subject: [PATCH] Transfer (share with Friend) pulse part (not working) --- radio/src/pulses/pxx2.cpp | 18 ++++++++++++++++++ radio/src/pulses/pxx2.h | 3 +++ 2 files changed, 21 insertions(+) diff --git a/radio/src/pulses/pxx2.cpp b/radio/src/pulses/pxx2.cpp index e795a763f..6c520643c 100644 --- a/radio/src/pulses/pxx2.cpp +++ b/radio/src/pulses/pxx2.cpp @@ -179,6 +179,22 @@ bool Pxx2Pulses::setupSpectrumAnalyser(uint8_t module) return true; } +bool Pxx2Pulses::setupShareMode(uint8_t module) +{ + addFrameType(PXX2_TYPE_C_MODULE, PXX2_TYPE_ID_RX_SETUP); + + Pxx2Transport::addByte(0xC0); + + Pxx2Transport::addByte(0x40); + + for(uint8_t i=0; i < 24 ; i++) { + Pxx2Transport::addByte(i); + } + + moduleSettings[module].mode = MODULE_MODE_NORMAL; + return true; +} + bool Pxx2Pulses::setupFrame(uint8_t module) { initFrame(); @@ -192,6 +208,8 @@ bool Pxx2Pulses::setupFrame(uint8_t module) result = setupBindFrame(module); else if (mode == MODULE_MODE_SPECTRUM_ANALYSER) result = setupSpectrumAnalyser(module); + else if (mode == MODULE_MODE_SHARE) + result = setupShareMode(module); else setupChannelsFrame(module); diff --git a/radio/src/pulses/pxx2.h b/radio/src/pulses/pxx2.h index a07fa8d69..4adca374a 100644 --- a/radio/src/pulses/pxx2.h +++ b/radio/src/pulses/pxx2.h @@ -29,6 +29,7 @@ #define PXX2_TYPE_ID_REGISTER 0x01 #define PXX2_TYPE_ID_BIND 0x02 #define PXX2_TYPE_ID_CHANNELS 0x03 + #define PXX2_TYPE_ID_RX_SETUP 0x05 #define PXX2_TYPE_ID_SPORT 0xFE #define PXX2_TYPE_C_POWER_METER 0x02 @@ -106,6 +107,8 @@ class Pxx2Pulses: public PxxPulses { bool setupBindFrame(uint8_t module); + bool setupShareMode(uint8_t module); + void setupChannelsFrame(uint8_t module); bool setupSpectrumAnalyser(uint8_t module);