diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/app/nrf24l01test/main.cc | 9 | ||||
-rw-r--r-- | src/driver/nrf24l01.cc | 12 |
2 files changed, 12 insertions, 9 deletions
diff --git a/src/app/nrf24l01test/main.cc b/src/app/nrf24l01test/main.cc index d0961d4..2ddcee3 100644 --- a/src/app/nrf24l01test/main.cc +++ b/src/app/nrf24l01test/main.cc @@ -33,6 +33,9 @@ void loop(void) if (status & 0x01) { kout << " TX_FULL"; } + if ((status & 0x0e) < 0x0d) { + kout << " @" << (status & 0x0e)/2; + } kout << endl; #ifdef MULTIPASS_ARCH_msp430fr5969lp @@ -65,11 +68,11 @@ int main(void) kout << "nrf24l01 configure ..."; unsigned char addr[5] = {0, 'D', 'E', 'R', 'F'}; - //nrf24l01.setAutoAck(1); + nrf24l01.setAutoAck(1); //nrf24l01.enableAckPayload(); - nrf24l01.setDynamicPayloads(true); + nrf24l01.setDynamicPayloads(false); nrf24l01.setPALevel(Nrf24l01::RF24_PA_MAX); - nrf24l01.setChannel(25); + nrf24l01.setChannel(110); nrf24l01.setDataRate(Nrf24l01::RF24_2MBPS); #ifdef MULTIPASS_ARCH_msp430fr5994lp nrf24l01.openReadingPipe(1, addr); diff --git a/src/driver/nrf24l01.cc b/src/driver/nrf24l01.cc index abd42ea..937831b 100644 --- a/src/driver/nrf24l01.cc +++ b/src/driver/nrf24l01.cc @@ -131,7 +131,7 @@ void Nrf24l01::powerUp(void) void Nrf24l01::powerDown(void) { - gpio.write(NRF24L01_EN_PIN, 0); + ceLow(); writeRegister(NRF_CONFIG, readRegister(NRF_CONFIG) & ~(1 << PWR_UP)); } @@ -234,18 +234,18 @@ uint8_t Nrf24l01::write(const void *buf, uint8_t len, bool await_ack, bool block { writePayload(buf, len, await_ack ? W_TX_PAYLOAD : W_TX_PAYLOAD_NO_ACK); - gpio.write(NRF24L01_EN_PIN, 1); + ceHigh(); if (!blocking) { arch.delay_us(10); - gpio.write(NRF24L01_EN_PIN, 0); + ceLow(); return 0; } while (!(getStatus() & ((1 << TX_DS) | (1 << MAX_RT)))) ; - gpio.write(NRF24L01_EN_PIN, 1); + ceLow(); uint8_t status = writeRegister(NRF_STATUS, ((1 << TX_DS) | (1 << MAX_RT))); if (status & (1 << MAX_RT)) @@ -260,7 +260,7 @@ void Nrf24l01::startListening(void) { writeRegister(NRF_CONFIG, readRegister(NRF_CONFIG) | (1 << PRIM_RX)); writeRegister(NRF_STATUS, (1 << RX_DR) | (1 << TX_DS) | (1 << MAX_RT)); - gpio.write(NRF24L01_EN_PIN, 1); + ceHigh(); // Restore the pipe0 adddress, if exists if (pipe0_reading_address[0] > 0) @@ -280,7 +280,7 @@ void Nrf24l01::startListening(void) void Nrf24l01::stopListening(void) { - gpio.write(NRF24L01_EN_PIN, 0); + ceLow(); arch.delay_us(txRxDelay); |