mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-09 23:38:10 +00:00
Test protocol
This commit is contained in:
parent
ceea384a36
commit
5ce99ee419
@ -86,6 +86,7 @@ const char STR_XN297DUMP[] ="XN297DP";
|
|||||||
const char STR_FRSKYR9[] ="FrSkyR9";
|
const char STR_FRSKYR9[] ="FrSkyR9";
|
||||||
const char STR_PROPEL[] ="Propel";
|
const char STR_PROPEL[] ="Propel";
|
||||||
const char STR_SKYARTEC[] ="Skyartc";
|
const char STR_SKYARTEC[] ="Skyartc";
|
||||||
|
const char STR_TEST[] ="Test";
|
||||||
|
|
||||||
const char STR_SUBTYPE_FLYSKY[] = "\x04""Std\0""V9x9""V6x6""V912""CX20";
|
const char STR_SUBTYPE_FLYSKY[] = "\x04""Std\0""V9x9""V6x6""V912""CX20";
|
||||||
const char STR_SUBTYPE_HUBSAN[] = "\x04""H107""H301""H501";
|
const char STR_SUBTYPE_HUBSAN[] = "\x04""H107""H301""H501";
|
||||||
@ -366,6 +367,9 @@ const mm_protocol_definition multi_protocols[] = {
|
|||||||
#endif
|
#endif
|
||||||
#if defined(ZSX_NRF24L01_INO)
|
#if defined(ZSX_NRF24L01_INO)
|
||||||
{PROTO_ZSX, STR_ZSX, 1, STR_SUBTYPE_ZSX, OPTION_NONE },
|
{PROTO_ZSX, STR_ZSX, 1, STR_SUBTYPE_ZSX, OPTION_NONE },
|
||||||
|
#endif
|
||||||
|
#if defined(TEST_CC2500_INO)
|
||||||
|
{PROTO_TEST, STR_TEST, 0, NO_SUBTYPE, OPTION_RFTUNE },
|
||||||
#endif
|
#endif
|
||||||
{0x00, nullptr, 0, nullptr, 0 }
|
{0x00, nullptr, 0, nullptr, 0 }
|
||||||
};
|
};
|
||||||
|
@ -99,6 +99,8 @@ enum PROTOCOLS
|
|||||||
PROTO_DSM_RX = 70, // =>CYRF6936
|
PROTO_DSM_RX = 70, // =>CYRF6936
|
||||||
PROTO_JJRC345 = 71, // =>NRF24L01
|
PROTO_JJRC345 = 71, // =>NRF24L01
|
||||||
PROTO_Q90C = 72, // =>NRF24L01 or CC2500
|
PROTO_Q90C = 72, // =>NRF24L01 or CC2500
|
||||||
|
|
||||||
|
PROTO_TEST = 127, // =>CC2500
|
||||||
};
|
};
|
||||||
|
|
||||||
enum Flysky
|
enum Flysky
|
||||||
|
@ -1554,7 +1554,12 @@ static void protocol_init()
|
|||||||
remote_callback = Q90C_callback;
|
remote_callback = Q90C_callback;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(TEST_CC2500_INO)
|
||||||
|
case PROTO_TEST:
|
||||||
|
next_callback=initTEST();
|
||||||
|
remote_callback = TEST_callback;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifdef SX1276_INSTALLED
|
#ifdef SX1276_INSTALLED
|
||||||
#if defined(FRSKYR9_SX1276_INO)
|
#if defined(FRSKYR9_SX1276_INO)
|
||||||
|
@ -236,7 +236,7 @@ const uint8_t PROGMEM pelikan_hopp[][PELIKAN_NUM_RF_CHAN] = {
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef PELIKAN_LITE_FORCE_ID
|
#ifdef PELIKAN_LITE_FORCE_HOP
|
||||||
const uint8_t PROGMEM pelikan_lite_hopp[][PELIKAN_NUM_RF_CHAN] = {
|
const uint8_t PROGMEM pelikan_lite_hopp[][PELIKAN_NUM_RF_CHAN] = {
|
||||||
{ 0x46,0x2A,0x3E,0x5A,0x5C,0x24,0x4E,0x32,0x54,0x26,0x2C,0x34,0x56,0x1E,0x3A,0x3C,0x50,0x4A,0x2E,0x42,0x20,0x52,0x28,0x22,0x44,0x58,0x36,0x38,0x4C }
|
{ 0x46,0x2A,0x3E,0x5A,0x5C,0x24,0x4E,0x32,0x54,0x26,0x2C,0x34,0x56,0x1E,0x3A,0x3C,0x50,0x4A,0x2E,0x42,0x20,0x52,0x28,0x22,0x44,0x58,0x36,0x38,0x4C }
|
||||||
};
|
};
|
||||||
|
63
Multiprotocol/TEST_cc2500.ino
Normal file
63
Multiprotocol/TEST_cc2500.ino
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
This project is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
Multiprotocol is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with Multiprotocol. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(TEST_CC2500_INO)
|
||||||
|
|
||||||
|
#include "iface_nrf250k.h"
|
||||||
|
|
||||||
|
#define TEST_INITIAL_WAIT 500
|
||||||
|
#define TEST_PACKET_PERIOD 10000
|
||||||
|
#define TEST_PAYLOAD_SIZE 10
|
||||||
|
#define TEST_RF_NUM_CHANNELS 3
|
||||||
|
|
||||||
|
uint16_t TEST_callback()
|
||||||
|
{
|
||||||
|
option=1;
|
||||||
|
if(phase)
|
||||||
|
XN297L_WritePayload(packet, TEST_PAYLOAD_SIZE);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(Channel_data[CH5]<CHANNEL_MIN_COMMAND)
|
||||||
|
hopping_frequency_no=0;
|
||||||
|
else if(Channel_data[CH5]>CHANNEL_MAX_COMMAND)
|
||||||
|
hopping_frequency_no=2;
|
||||||
|
else
|
||||||
|
hopping_frequency_no=1;
|
||||||
|
XN297L_Hopping(hopping_frequency_no);
|
||||||
|
CC2500_WriteReg(CC2500_3E_PATABLE,convert_channel_8b(CH6));
|
||||||
|
debugln("CH:%d, PWR:%d",hopping_frequency_no,convert_channel_8b(CH6));
|
||||||
|
}
|
||||||
|
phase ^= 1;
|
||||||
|
return TEST_PACKET_PERIOD>>1;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t initTEST()
|
||||||
|
{
|
||||||
|
option=1;
|
||||||
|
|
||||||
|
hopping_frequency[0]=0;
|
||||||
|
hopping_frequency[1]=40;
|
||||||
|
hopping_frequency[2]=80;
|
||||||
|
XN297L_Init();
|
||||||
|
XN297L_HoppingCalib(TEST_RF_NUM_CHANNELS); // Calibrate all channels
|
||||||
|
XN297L_SetTXAddr((uint8_t*)"RADIO", 5);
|
||||||
|
hopping_frequency_no = 0;
|
||||||
|
phase=0;
|
||||||
|
for(uint8_t i=0; i<TEST_PAYLOAD_SIZE; i++)
|
||||||
|
packet[i]= i;
|
||||||
|
return TEST_INITIAL_WAIT;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
Loading…
x
Reference in New Issue
Block a user