vad7 %!s(int64=2) %!d(string=hai) anos
pai
achega
0856a30ea5
Modificáronse 1 ficheiros con 2 adicións e 1 borrados
  1. 2 1
      nrf24batch.c

+ 2 - 1
nrf24batch.c

@@ -22,6 +22,7 @@
 #define WORK_PERIOD				2		// ms, Timer period
 #define MAX_CHANNEL				125
 #define FONT_5x7_SCREEN_WIDTH 	25
+#define NRF_EN_DYN_ACK			0		// does not work on some nrf24l01+ chips, (0/1)
 
 const char SettingsFld_Info[] = "Info:";
 const char SettingsFld_Ch[] = "Ch:";
@@ -385,7 +386,7 @@ static void prepare_nrf24(void)
 			return;
 		}
 		// EN_DYN_ACK(0x01) option for W_TX_PAYLOAD_NOACK cmd broke AA on some fake nRF24l01+, i.e. set it to 0
-		nrf24_write_reg(nrf24_HANDLE, REG_FEATURE, (NRF_DPL ? 4 : 0)); // Dynamic Payload, Payload with ACK, W_TX_PAYLOAD_NOACK command
+		nrf24_write_reg(nrf24_HANDLE, REG_FEATURE, NRF_EN_DYN_ACK + (NRF_DPL ? 4 : 0)); // Dynamic Payload, Payload with ACK, W_TX_PAYLOAD_NOACK command
 		nrf24_write_reg(nrf24_HANDLE, REG_RF_CH, NRF_channel);
 		nrf24_write_reg(nrf24_HANDLE, REG_RF_SETUP, (NRF_rate == 0 ? 0b00100000 : NRF_rate == 1 ? 0 : 0b00001000) | 0b111); // +TX high power
 		nrf24_write_reg(nrf24_HANDLE, REG_CONFIG, 0x70 | ((NRF_CRC == 1 ? 0b1000 : NRF_CRC == 2 ? 0b1100 : 0))); // Mask all interrupts