mciupak / nrf24

nrf24l01 linux device driver
GNU General Public License v3.0
23 stars 13 forks source link

Driver is constantly logging #2

Closed sergey-suloev closed 6 years ago

sergey-suloev commented 6 years ago

Hi, there is another issue. After sending a simple packet using "echo "evwvnwoipvniowvwv" > /dev/nrf0.0" the driver starts logging the same message (see below):

[ 160.490229] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 160.561829] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 160.633431] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 160.705030] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 160.822172] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 160.893786] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 160.965387] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 161.036987] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 161.108583] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 161.180183] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 161.251782] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 161.323381] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 161.394982] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 161.466579] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 161.538176] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 161.609782] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0 [ 161.681401] nrf24 nrf0: nrf24_isr_work_handler: MAX_RT, tx req: 0, rx act: 0

From the code I see that "nrf24_isr_work_handler()" function is called multiple times. Does this mean that NRF is constantly interrupting us ?

mciupak commented 6 years ago

Hi,

yes NRF is constantly interrupting. The reason for that is that there is Auto Acknowledge enabled and NRF does not receive ACK for transmitted packet, auto retry TX is executed and when max retry counter is reached it signals MAX_RT interrupt, which is cleared in driver ISR and packet is resend and situation with no ACK repeats.

Do you have second NRF configured and listening?

Marcin

sergey-suloev commented 6 years ago

Thanks , I understand now. I need to read document , I have always wanted to read it completely.

I will try 2nd NRF soon. I am still fighting with SPI )