GD00X V2: 64 IDs

This commit is contained in:
Pascal Langer 2019-04-11 22:42:00 +02:00
parent 150e3fd92e
commit 303b3f08b8
2 changed files with 41 additions and 7 deletions

View File

@ -26,7 +26,7 @@ Multiprotocol is distributed in the hope that it will be useful,
#define GD00X_PAYLOAD_SIZE 15
#define GD00X_BIND_COUNT 857 //3sec
#define GD00X_V2_BIND_PACKET_PERIOD 1700
#define GD00X_V2_BIND_PACKET_PERIOD 5110
#define GD00X_V2_RF_BIND_CHANNEL 0x43
#define GD00X_V2_PAYLOAD_SIZE 6
@ -99,7 +99,7 @@ static void __attribute__((unused)) GD00X_send_packet()
len--;
}
packet[3]=(packet[0]+packet[1]+packet[2]+packet[4])^0x65;
packet[3]=(packet[0]+packet[1]+packet[2]+packet[4])^(rx_tx_addr[0]^rx_tx_addr[1]^rx_tx_addr[2]);
if( (packet_count%12) == 0 )
hopping_frequency_no ^= 1; // Toggle between the 2 frequencies
@ -174,14 +174,48 @@ static void __attribute__((unused)) GD00X_initialize_txid()
}
else
{
//Only 1 ID for now...
rx_tx_addr[0]=0x65;
//Generate 64 different IDs
rx_tx_addr[1]=0x00;
rx_tx_addr[2]=0x00;
rx_tx_addr[1+((rx_tx_addr[3]&0x10)>>4)]=rx_tx_addr[3]&0x8F;
rx_tx_addr[0]=0x65;
rx_tx_addr[3]=0x95;
rx_tx_addr[4]=0x47; //'G'
hopping_frequency[0]=0x05;
hopping_frequency[1]=0x25;
//hopping calculation
hopping_frequency[0]=(0x15+(rx_tx_addr[0]^rx_tx_addr[1]^rx_tx_addr[2]^rx_tx_addr[3]))&0x1F;
if( hopping_frequency[0] == 0x0F )
hopping_frequency[0]=0x0E;
else if( (hopping_frequency[0]&0xFE) == 0x10 )
hopping_frequency[0]+=2;
hopping_frequency[1]=0x20+hopping_frequency[0];
#ifdef FORCE_GD00X_ORIGINAL_ID
//ID 1
rx_tx_addr[0]=0x65;
rx_tx_addr[1]=0x00;
rx_tx_addr[2]=0x00;
rx_tx_addr[3]=0x95;
rx_tx_addr[4]=0x47; //'G'
hopping_frequency[0]=0x05;
hopping_frequency[1]=0x25;
//ID 2
rx_tx_addr[0]=0xFD;
rx_tx_addr[1]=0x09;
rx_tx_addr[2]=0x00;
rx_tx_addr[3]=0x65;
rx_tx_addr[4]=0x47; //'G'
hopping_frequency[0]=0x06;
hopping_frequency[1]=0x26;
//ID 3
rx_tx_addr[0]=0x67;
rx_tx_addr[1]=0x0F;
rx_tx_addr[2]=0x00;
rx_tx_addr[3]=0x69;
rx_tx_addr[4]=0x47; //'G'
hopping_frequency[0]=0x16;
hopping_frequency[1]=0x36;
#endif
}
}

View File

@ -19,7 +19,7 @@
#define VERSION_MAJOR 1
#define VERSION_MINOR 2
#define VERSION_REVISION 1
#define VERSION_PATCH_LEVEL 32
#define VERSION_PATCH_LEVEL 33
//******************
// Protocols