William San Filippo created MYNEWT-283:
------------------------------------------
Summary: Slave is incorrectly adjusting anchor point if packet
received with CRC error.
Key: MYNEWT-283
URL: https://issues.apache.org/jira/browse/MYNEWT-283
Project: Mynewt
Issue Type: Bug
Components: Nimble
Affects Versions: v0_8_0_beta2
Reporter: William San Filippo
Assignee: William San Filippo
Fix For: v0_8_0_rel
The anchor point of a slave may be incorrectly adjusted if a packet with a CRC
error is received and the length is incorrect. The specification clearly states
that the anchor point of the slave should be adjusted even though the frame is
received in error; as long as you get the access address you should consider
this a valid reception and adjust the anchor point. The specification also
mentions (in other places) that the length field should be assumed valid even
if the CRC is incorrect.
The current code adjusts the slaves anchor point based on the received end time
and the length of the frame when it really should capture the packet start time
and adjust the anchor point in that manner. Most chips provide packet start
time so the interface really should have used packet start time.
The current PHY driver only marks the end time of the frame as it was assumed
that you could always calculate the start time from the length. The PHY driver
should be modified to capture packet start time either in addition to or in
lieu of the end time.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)