-
-
Notifications
You must be signed in to change notification settings - Fork 99
Closed
Labels
topic: codeRelated to content of the project itselfRelated to content of the project itselftype: imperfectionPerceived defect in any part of projectPerceived defect in any part of project
Description
When using void transfer(void *buf, size_t count); of the SPI Class, with BitOrder LSBFIRST, group of 4 bytes are reversed.
It seems to be here because of the optimization to handle arrays 4 bytes by 4 bytes (then byte(s) left), but it reverse the whole DWORD, not only bits of the byte.
Captures
MSBFIRST - OK

(left is using void transfer(void *buf, size_t count); right is multiple transfer(uint8_t data);)
LSBFIRST - KO

(left is using void transfer(void *buf, size_t count); right is multiples transfer(uint8_t data);)
Remarks:
- Problem is not present on
R3, only onR4; LSBFIRSTis not very common, butNXP PN532is using it by eg ;- I'm not sure about this issue, it's too big to have been missed by real users more advanced than me - do not hesitate to close this issue if I'm totally wrong!
Metadata
Metadata
Assignees
Labels
topic: codeRelated to content of the project itselfRelated to content of the project itselftype: imperfectionPerceived defect in any part of projectPerceived defect in any part of project