summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2019-07-16 14:52:32 +0200
committerDaniel Friesel <daniel.friesel@uos.de>2019-07-16 14:52:32 +0200
commitb47295e3b04413cc5d278df2ea8fe2c168beefd2 (patch)
treeebf340f74ad5fcbd1db4d0e3bee091356c9bc3de /src
parenta426c8d552d4b477758f90d6bb08619fb1ff3edd (diff)
more radio tests
Diffstat (limited to 'src')
-rw-r--r--src/app/nrf24l01test/main.cc9
-rw-r--r--src/driver/nrf24l01.cc12
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);