UPDATE: 10/19/2022
I managed to test a Sync_Write/Read example to 4 XL-430s on a Portenta H7 Lite using single M4 or M7 and a split job between M4 and M7.
The Sync-Write/Read protocol used is the one described in this post:
The results were as follows:
-
Run on M7 alone - all Sync Write and Sync Read worked as supposed to. The DXLs responded as expected.
-
Run on M4 alone - The DXLs behaved as expected, but when looking at the printout: the Sync Read all gave erroneous print out, but interestingly enough NO PACKET ERROR is reported (see picture below).
In short, Sync Write commands came though OK, but Sync Read results got scrambled somehow. @willson would probably understand better than me about what is going on here.
- I split the job into two separate tasks: Sync Write only on M4 and Sync Read only on M7. Surprisingly - Sync Write worked as before, and Sync Read worked properly too, but that lasted only about 22 seconds into the test, and then M7 just hanged or crashed. Supposedly, the Portenta H7 allows multiprocessor access to its USART1/2/3. So once again @willson would probably understand better than me about what is going on here.
I know that the Dynamixel2Arduino Library has specific timings built-in to read return packets so may be this issue can be resolved one day ???