Close

May 1. Update

A project log for <n>pod, controller board and simulator

Golang hexapod simulator and controller.

hans-jrgen-grimstadHans Jørgen Grimstad 05/01/2024 at 17:590 Comments

While waiting for JLC PCB to send me the new boards, I had to dismantle another robot and continue testing on one of my older boards.

Today's task was to "port" the Dynamixel2Arduino-library to espressif / FreeRTOS (I have had a peek at the Dynamixel SDK and also the Dynamixel2Arduino library, but wasn't able to find an official library for espressif / FreeRTOS). So far this has been relatively trivial task with relatively minor changes to make it compile and run.

The API + semantics are identical, execpt for initialization of the DXL class which is now:

Dynamixel2Arduino dxl(UART_NUM_2, DXL_DIR_PIN);

 (I guess 'll rename it to Dynamxiel2Espressif when I'm done :))

I have to do more rigid testing before I can claim success, but initial results are promising.

One benefit of having this run under espressif / freertos is that it allows me to also use the dual core S3 and pin the driver to one core, while the UDP server runs on the other core. Not sure if this is really necessary, but it might be useful if the ESP gets really busy (The XL-320 servos can be configured to respond with status packets anywhere from 0 to 508 microseconds after it has received an instruction packet, so the latency requirements can be pretty tight if the controller wants status info from the servos to be able to operate).


Discussions