Bayang DHD D4 sub protocol

This commit is contained in:
Pascal Langer
2019-05-09 18:23:19 +02:00
parent a58d7a4d79
commit 511f77f5e7
5 changed files with 24 additions and 5 deletions

View File

@@ -80,6 +80,12 @@ static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
packet[10] = 0x30;
packet[11] = 0x01;
break;
case DHD_D4:
packet[10] = 0xC8;
packet[11] = 0x99;
packet[12] = 0x17;
packet[13] = 0xED;
break;
default:
packet[10] = rx_tx_addr[0]; // txid[0]
packet[11] = rx_tx_addr[1]; // txid[1]
@@ -106,7 +112,10 @@ static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
packet[1] = convert_channel_8b(CH14);
}
else
packet[1] = 0xFA; // normal mode is 0xf7, expert 0xfa
if(sub_protocol!=DHD_D4)
packet[1] = 0xFA; // normal mode is 0xf7, expert 0xfa
else
packet[1] = 0xF4;
//Flags packet[2]
packet[2] = 0x00;
@@ -164,6 +173,10 @@ static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
packet[12] = 0xE0;
packet[13] = 0x2E;
break;
case DHD_D4:
packet[12] = 0x37;
packet[13] = 0xED;
break;
default:
packet[12] = rx_tx_addr[2]; // txid[2]
if (option & BAYANG_OPTION_FLAG_ANALOGAUX)
@@ -325,7 +338,10 @@ uint16_t BAYANG_callback()
static void __attribute__((unused)) BAYANG_initialize_txid()
{
//Could be using txid[0..2] but using rx_tx_addr everywhere instead...
hopping_frequency[0]=0;
if(sub_protocol==DHD_D4)
hopping_frequency[0]=(rx_tx_addr[2]&0x07)|0x01;
else
hopping_frequency[0]=0;
hopping_frequency[1]=(rx_tx_addr[3]&0x1F)+0x10;
hopping_frequency[2]=hopping_frequency[1]+0x20;
hopping_frequency[3]=hopping_frequency[2]+0x20;