Bug Report - ASPEP Protocol Ping Packets
- March 5, 2024
- 2 replies
- 2715 views
Hello,
I am currently trying to implement an ASPEC Controller in C# to communicate with a motor control dev board over the UART (essentially, creating motor pilot with the ability to modify as needed). So far, I have implemented Beacon and ping packets. Beacon packets work perfect. When I do a ping packet, the return data seems garbled.
The code is designed to not process any packet that doesn't have a valid header CRC. I tested this by manually corrupting the header, and I no longer saw output from my packet detection, which suggest to me that I am receiving what the devkit is trying to send.
I programmed my code to output debugging information every time a valid packet is sent or received. I have attached the output of my code. It starts with 2 pairs of beacon packets to negotiate buffer sizes. I then start sending 4 ping packets per second with consecutive packet numbers.
For the ping packets, I am expecting to get back the same packet, except for bits 4-11 ( configuration flags and LLID), and bits 28-32 (Header CRC). Instead, the I get the least significant nibble from the packet number in bits 16-19, and zeros elsewhere within the 16 bit Packet number.
I tried using Motor Pilot to sniff examples of how it behaves with ping packets, but the only ping packets it sends is with packet number 0, which doesn't produce what I am seeing. Is there a way to force MotorPilot to periodically send Ping packets?
Is this expected behavior, or is something going wrong?
Devboard: B-G473E-ZEST1s
Powerboard: STEVAL-LVLP01
Code Configuration: HSO
