Change Bayang options - Bit 0 (LSB) enables telemetry and Bit 1 selects analog aux channels

This commit is contained in:
BrianQuad 2018-08-16 21:07:01 -06:00
parent 4b6185548e
commit 9c8a5e7120

View File

@ -41,13 +41,18 @@ enum BAYANG_FLAGS {
BAYANG_FLAG_EMG_STOP = 0x04, BAYANG_FLAG_EMG_STOP = 0x04,
}; };
enum BAYANG_OPTION_FLAGS {
BAYANG_OPTION_FLAG_TELEMETRY = 0x01,
BAYANG_OPTION_FLAG_ANALOGAUX = 0x02,
};
static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind) static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
{ {
uint8_t i; uint8_t i;
if (bind) if (bind)
{ {
#ifdef BAYANG_HUB_TELEMETRY #ifdef BAYANG_HUB_TELEMETRY
if(option > 0) if(option & BAYANG_OPTION_FLAG_TELEMETRY)
packet[0]= 0xA3; // telemetry is enabled packet[0]= 0xA3; // telemetry is enabled
else else
#endif #endif
@ -86,7 +91,7 @@ static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
packet[0] = 0xA5; packet[0] = 0xA5;
break; break;
} }
if (option == 2) if (option & BAYANG_OPTION_FLAG_ANALOGAUX)
{ {
// Analog aux channel 1 (channel 14) // Analog aux channel 1 (channel 14)
packet[1] = convert_channel_8b(CH14); packet[1] = convert_channel_8b(CH14);
@ -152,7 +157,7 @@ static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
break; break;
default: default:
packet[12] = rx_tx_addr[2]; // txid[2] packet[12] = rx_tx_addr[2]; // txid[2]
if (option == 2) if (option & BAYANG_OPTION_FLAG_ANALOGAUX)
{ {
// Analog aux channel 2 (channel 15) // Analog aux channel 2 (channel 15)
packet[13] = convert_channel_8b(CH15); packet[13] = convert_channel_8b(CH15);
@ -182,7 +187,7 @@ static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
XN297_Configure(_BV(NRF24L01_00_EN_CRC) | _BV(NRF24L01_00_CRCO) | _BV(NRF24L01_00_PWR_UP)); XN297_Configure(_BV(NRF24L01_00_EN_CRC) | _BV(NRF24L01_00_CRCO) | _BV(NRF24L01_00_PWR_UP));
#ifdef BAYANG_HUB_TELEMETRY #ifdef BAYANG_HUB_TELEMETRY
if (option > 0) if (option & BAYANG_OPTION_FLAG_TELEMETRY)
{ // switch radio to rx as soon as packet is sent { // switch radio to rx as soon as packet is sent
while (!(NRF24L01_ReadReg(NRF24L01_07_STATUS) & _BV(NRF24L01_07_TX_DS))); while (!(NRF24L01_ReadReg(NRF24L01_07_STATUS) & _BV(NRF24L01_07_TX_DS)));
NRF24L01_WriteReg(NRF24L01_00_CONFIG, 0x03); NRF24L01_WriteReg(NRF24L01_00_CONFIG, 0x03);
@ -265,7 +270,7 @@ uint16_t BAYANG_callback()
BAYANG_send_packet(0); BAYANG_send_packet(0);
packet_count++; packet_count++;
#ifdef BAYANG_HUB_TELEMETRY #ifdef BAYANG_HUB_TELEMETRY
if (option > 0) if (option & BAYANG_OPTION_FLAG_TELEMETRY)
{ // telemetry is enabled { // telemetry is enabled
state++; state++;
if (state > 1000) if (state > 1000)