mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-04 18:58:13 +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_PROPEL[] ="Propel";
|
||||
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_HUBSAN[] = "\x04""H107""H301""H501";
|
||||
@ -366,6 +367,9 @@ const mm_protocol_definition multi_protocols[] = {
|
||||
#endif
|
||||
#if defined(ZSX_NRF24L01_INO)
|
||||
{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
|
||||
{0x00, nullptr, 0, nullptr, 0 }
|
||||
};
|
||||
|
@ -99,6 +99,8 @@ enum PROTOCOLS
|
||||
PROTO_DSM_RX = 70, // =>CYRF6936
|
||||
PROTO_JJRC345 = 71, // =>NRF24L01
|
||||
PROTO_Q90C = 72, // =>NRF24L01 or CC2500
|
||||
|
||||
PROTO_TEST = 127, // =>CC2500
|
||||
};
|
||||
|
||||
enum Flysky
|
||||
|
@ -1554,7 +1554,12 @@ static void protocol_init()
|
||||
remote_callback = Q90C_callback;
|
||||
break;
|
||||
#endif
|
||||
|
||||
#if defined(TEST_CC2500_INO)
|
||||
case PROTO_TEST:
|
||||
next_callback=initTEST();
|
||||
remote_callback = TEST_callback;
|
||||
break;
|
||||
#endif
|
||||
#endif
|
||||
#ifdef SX1276_INSTALLED
|
||||
#if defined(FRSKYR9_SX1276_INO)
|
||||
|
@ -236,7 +236,7 @@ const uint8_t PROGMEM pelikan_hopp[][PELIKAN_NUM_RF_CHAN] = {
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef PELIKAN_LITE_FORCE_ID
|
||||
#ifdef PELIKAN_LITE_FORCE_HOP
|
||||
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 }
|
||||
};
|
||||
|
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