[riot-devel] Netdev2 - mechanism for building transmit frames

Neo neo at nenaco.de
Thu Aug 18 21:22:18 CEST 2016

Helle to all developers,
I'm at the moment debugging a new netdev2-radio-module driver and while 
I have seen a mysterious behaviour - maybe it's that I have not a 
complete understanding
about the netdev2 structur.
As far as I've seen the transmission of a frame ist done in the 
<driver-name>_send(..) function
(e.g. at86rf2xx_send(..)).
The process is splitt into three phases .._tx_prepare(dev), 
.._tx_load(dev, data, len,0) and .._tx_exec.

The phase of interest for me is at the moment the .._tx_load(..) step.
In the function _send we see that the .._tx_load(..) is involked inside 
the for-look to build the
transmit frame date.

Now my thought: the loop fills the transmit buffer.
Logically for me the frame will be filled step by step
- second part of the frame following the first part
without address overlapping or gap - is this correct.

The mysterious thing I see is as follows: The second
loop pass is overwriting the end of the first "loop-data" . The third
loop access is overwriting the end of the second FIFO-access
and so on......

Could this be a valid behaviour?

Best regards,

More information about the devel mailing list