|
36 | 36 | #include "hwsystem.h"
|
37 | 37 | #include "debug.h"
|
38 | 38 |
|
39 |
| -#if defined(FRAMEWORK_LOG_ENABLED) && defined(HAL_RADIO_LOG_ENABLED) |
| 39 | +//#if defined(FRAMEWORK_LOG_ENABLED) && defined(HAL_RADIO_LOG_ENABLED) |
40 | 40 | #include "log.h"
|
41 | 41 | #define DEBUG(...) log_print_string(__VA_ARGS__)
|
42 | 42 | #define DEBUG_DATA(...) log_print_data(__VA_ARGS__)
|
43 |
| -#else |
| 43 | +/*#else |
44 | 44 | #define DEBUG(...)
|
45 | 45 | #define DEBUG_DATA(...)
|
46 |
| -#endif |
| 46 | +#endif*/ |
47 | 47 |
|
48 | 48 | /* Internal helper functions */
|
49 | 49 | static int _set_state(sx127x_t *dev, netopt_state_t state);
|
@@ -958,6 +958,27 @@ void _on_dio1_irq(void *arg)
|
958 | 958 | hw_gpio_disable_interrupt(dev->params.dio1_pin);
|
959 | 959 | timer_cancel_event(&dev->_internal.rx_timeout_timer);
|
960 | 960 |
|
| 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 | + |
961 | 982 | if (dev->packet.length == 0 && dev->packet.pos == 0)
|
962 | 983 | {
|
963 | 984 | // 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