[
https://issues.apache.org/jira/browse/MYNEWT-283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15261374#comment-15261374
]
William San Filippo commented on MYNEWT-283:
--------------------------------------------
This issue has been addressed by modifying the ble header and the PHY code to
capture the packet start time as opposed to the end time. Technically, you
should be able to calculate the start from the end time (and vice versa) even
with a CRC error as the transceiver should use the received length to end the
transmission but it seemed simpler all around to use the receive start time.
> 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)