| Posted: 04:38pm 17 Apr 2025 |
|
|
|
Hi Peter,
First of all, the latest beta works for me w/o any problem - thanks! I did run a few performance tests with my hexapod code for the v6 beta versions that I had at hand. It measures the time needed for a full inverse kinematics loop (18 DOF), which updates the calculations for the leg positions. Here are the results:
With the RP2040:
PicoMite MMBasic RP2040 Edition V6.00.02b6 OPTION LIBRARY_FLASH_SIZE 20000 OPTION HEARTBEAT OFF OPTION CPUSPEED 150000 'KHz comp=56.206 (56.944, n=29)
[...] OPTION CPUSPEED 252000 'KHz comp=33.277 (34.030, n=17)
[...] OPTION CPUSPEED 315000 'KHz comp=26.409 (27.569, n=10)
PicoMite MMBasic RP2040 Edition V6.00.02RC15 OPTION LIBRARY_FLASH_SIZE 20000 OPTION HEARTBEAT OFF OPTION CPUSPEED (KHz) 150000 comp=53.280 (54.949, n=14)
[...] OPTION CPUSPEED (KHz) 252000 comp=31.767 (32.467, n=15)
[...] OPTION CPUSPEED (KHz) 315000 comp=25.349 (26.066, n=12)
[...] OPTION CPUSPEED (KHz) 315000 OPTION FAST TRIG ON comp=25.300 (25.857, n=17)
With the RP2350B:
PicoMite MMBasic RP2350B Edition V6.00.02RC15 OPTION FLASH SIZE 16777216 OPTION LIBRARY_FLASH_SIZE 48000 OPTION PICO OFF OPTION CPUSPEED (KHz) 315000 OPTION PSRAM PIN GP47 OPTION FAST TRIG OFF comp=13.070 (13.351, n=17)
[...] OPTION FAST TRIG ON comp=13.102 (13.439, n=13)
For the RP2040, the performance is nearly the same for b6 and RC15; it scales with the CPU speed, unsurprisingly.
It is much faster on the RP2350B. Interestingly (maybe unsurprisingly for you), PSRAM on vs. off did not make a significant difference (not shown). What surprises me was that `OPTION FAST TRIG ON` did not have any effect although the code makes some use of trigonometry ...
Best Thomas |