Skip to content
This repository was archived by the owner on Jan 7, 2025. It is now read-only.

Commit 12ca1b6

Browse files
pnunes30Matthieu Saignemorte
authored andcommitted
netdev_driver: support continuous RX
1 parent 642408d commit 12ca1b6

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

stack/framework/hal/chips/netdev_driver/sx127x_netdev.c

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@
3636
#include "hwsystem.h"
3737
#include "debug.h"
3838

39-
#if defined(FRAMEWORK_LOG_ENABLED) && defined(HAL_RADIO_LOG_ENABLED)
39+
//#if defined(FRAMEWORK_LOG_ENABLED) && defined(HAL_RADIO_LOG_ENABLED)
4040
#include "log.h"
4141
#define DEBUG(...) log_print_string(__VA_ARGS__)
4242
#define DEBUG_DATA(...) log_print_data(__VA_ARGS__)
43-
#else
43+
/*#else
4444
#define DEBUG(...)
4545
#define DEBUG_DATA(...)
46-
#endif
46+
#endif*/
4747

4848
/* Internal helper functions */
4949
static int _set_state(sx127x_t *dev, netopt_state_t state);
@@ -958,6 +958,27 @@ void _on_dio1_irq(void *arg)
958958
hw_gpio_disable_interrupt(dev->params.dio1_pin);
959959
timer_cancel_event(&dev->_internal.rx_timeout_timer);
960960

961+
uint8_t byte = 0;
962+
if (!(dev->options & SX127X_OPT_TELL_RX_END))
963+
{
964+
while(!sx127x_is_fifo_empty(dev))
965+
{
966+
byte = sx127x_reg_read(dev, SX127X_REG_FIFO);
967+
//log_print_data(&byte, 1);
968+
//DEBUG("%02X", byte);
969+
printf("%02X\r\n", byte);
970+
}
971+
972+
//sx127x_read_fifo(dev, &dev->packet.buf[dev->packet.pos], dev->packet.fifothresh);
973+
//DEBUG_DATA(dev->packet.buf, dev->packet.fifothresh);
974+
975+
sx127x_reg_write(dev, SX127X_REG_FIFOTHRESH, 0x80 | (60 - 1));
976+
dev->packet.fifothresh = 60;
977+
hw_gpio_set_edge_interrupt(dev->params.dio1_pin, GPIO_RISING_EDGE);
978+
hw_gpio_enable_interrupt(dev->params.dio1_pin);
979+
return;
980+
}
981+
961982
if (dev->packet.length == 0 && dev->packet.pos == 0)
962983
{
963984
// For RX, the threshold is set to 4, so if the DIO1 interrupt occurs, it means that can read at least 4 bytes

0 commit comments

Comments
 (0)