Menu
JAQForum Ver 19.10.27

Forum Index : Microcontroller and PC projects : PicoMite V6.02.01 release candidates

   Page 8 of 8    
Posted: 07:25am
19 Mar 2026
Copy link to clipboard
Volhout
Guru

Peter,

This is a great improvement. Please explain how this is achieved.

1/ There is one bug I noticed. SETTICK seems roughly double fast. In below code, s should increment every second (8x120ms).

Settick 120,docount
do:loop

sub docount
 static i=0
 static s=0
 inc i
 if i=8 then i=0:inc s:print s
end sub


I found this because the music in SNAKE ran double fast.

2/ A second bug: after OPTION RESET VGA DESIGN 2 the SYSTEM I2C is configured at GP14/15. When doing a RTC GETTIME I get an error: SYSTEM I2C not configured.

Found this because error message for RTC AUTO after some time.

Volhout
Edited 2026-03-19 17:50 by Volhout
 
Posted: 08:16am
19 Mar 2026
Copy link to clipboard
matherp
Guru

Can't replicate either on a VGA DESIGN 2


rtc gettime
option milliseconds on
SetTick 120,docount
timer=0
Do
Loop
Sub docount
Print Time$,timer
End Sub
 
Posted: 08:35am
19 Mar 2026
Copy link to clipboard
matherp
Guru

V6.02.01RC8

PicoMiteV6.02.01RC8.zip

Various perfomance tweaks, particularly for the RP2040 versions
 
Posted: 09:43am
19 Mar 2026
Copy link to clipboard
Volhout
Guru

Peter,

Quick check on rc8 on VGA 2040: all seems okay.
Will do more thorough testing during the weekend.
Impressive performance gain vs. rc7

Volhout
Edited 2026-03-19 19:44 by Volhout
 
Posted: 12:17pm
19 Mar 2026
Copy link to clipboard
terekgabor
Newbie

Hello,

is the lastest version working with Pimoroni Pico Plus 2 W?
Can I use the PSRAM with setting the OPTION PSRAM PIN n?

Thx!
 
Posted: 01:12pm
19 Mar 2026
Copy link to clipboard
mozzie
Senior Member

G'day Peter,
Some further testing has shown a reversal, the message is no longer buffered but is possibly stuck in a loop:

(Using PicoMiteRP2350V6.02.01rc8)

While the E-Stop input is low we now get:

Hardware E-STOP trip - emergency stop
Clear E-STOP switch, re-home (G28), then STEPPER RUN
Hardware E-STOP trip - emergency stop
Clear E-STOP switch, re-home (G28), then STEPPER RUN
Hardware E-STOP trip - emergency stop
Clear E-STOP switch, re-home (G28), then STEPPER RUN
Hardware E-STOP trip - emergency stop
Clear E-STOP switch, re-home (G28), then STEPPER RUN
Hardware E-STOP trip - emergency stop

Loops until input pulled high again

Can I also request an extension to the PEEK(Stepper Active) command? Is it possible to add the "E-Stop status" and "System Position Known status" as bits/flags?
I would like to use the Stepper commands from within a program and these will keep the program and stepper system in sync (hopefully)

Regards,
Lyle.
 
Posted: 01:20pm
19 Mar 2026
Copy link to clipboard
matherp
Guru

Lyle
Please let me know if this fixes the estop issue - sorry can't test myself at the moment.

PicoMite.zip
 
Posted: 02:30pm
19 Mar 2026
Copy link to clipboard
mozzie
Senior Member

Hi Peter,
Great News    that has fixed it.

Now a single message with each E-Stop activation.

Thanks once again.

Regards,
Lyle.
 
Posted: 02:45pm
19 Mar 2026
Copy link to clipboard
matherp
Guru

Lyle

Another tweak. Check PEEK(STEPPER STATUS) in the manual

PicoMite.zip

Stepper_Reference.pdf
 
Posted: 03:28pm
19 Mar 2026
Copy link to clipboard
lizby
Guru

I've run into a snag: Too many local variables

  Quote  [LIBRARY] Local INTEGER k, seekPos, linkID
Error : Too many local variables
> ?MM.INFO(MAX VARS)
736
> memory
Program:
 81K (43%) Program (2284 lines)
103K (57%) Free

Library:
 50K (27%) Library
134K (73%) Free

Saved Variables:
 16K (100%) Free

RAM:
 92K ( 1%) 306 Variables
 34K ( 0%) General
6248K (99%) Free
>

From the manual:



I know it's a big ask, but with the memory resources available with the RP2350, and chance for a further increase in the number of local variables?
 
Posted: 03:36pm
19 Mar 2026
Copy link to clipboard
matherp
Guru

You can trade globals for locals using OPTION LOCAL VARIABLES
 
Posted: 03:53pm
19 Mar 2026
Copy link to clipboard
lizby
Guru

OPTION LOCAL VARIABLES 500


Perfect. Thank you.
 
Posted: 05:41pm
19 Mar 2026
Copy link to clipboard
Bleep
Guru

Hi Peter,
In RC8 I have started to get the USB problem again with a keyboard, what usually happens is that as I am using the cursor keys to scroll around in the editor, randomly all the USB lights, 'Active' and 'Portx' go out and whatever key I was pressing repeats forever, though it's not unique to the editor.
This is using a HDMIUSBI2S board.
Is it possible to incorporate some of your speed ups, from the 2040 in the 2350, as I have observed ~10% slowdown since 6.01. similar to Harm.
Thanks Kevin.
Edited 2026-03-20 04:12 by Bleep
 
Posted: 04:41am
20 Mar 2026
Copy link to clipboard
mozzie
Senior Member

G'day Peter,
Many thanks for the update, initial testing shows PEEK(Stepper Status) working well.

With a bit of luck some more in depth testing will be done over the weekend.

Regards,
Lyle.
 
Posted: 09:01am
20 Mar 2026
Copy link to clipboard
matherp
Guru

Lyle, good news
I will also add the ability to define what happens to the enable pins in case of estop to the INIT command as suggested. I'll also implement PEEK(STEPPER BUFFER) which will return the number of free slots in the gcode buffer
Edited 2026-03-20 19:02 by matherp
 
Posted: 12:06pm
20 Mar 2026
Copy link to clipboard
Volhout
Guru

Peter,

rc8 on 2350 Game*Mite runs fine.

Volhout
 
Posted: 12:31pm
20 Mar 2026
Copy link to clipboard
matherp
Guru

The performance tuning on the RP2040 was to replace the sub/fun lookup with a binary chop on a sorted (alphabetically) list of the functions that also derives a letter start index. So worst case you binary chop all the subroutines starting with the same letter. This replaces the old sequential search. The RP2350 already uses a hashed lookup which is slightly more performant but uses more memory. In addition I have inlined a couple of small functions which made a difference for the RP2040.
Performance tuning on these chips is a black art. For example, for in RAM functions they seem to be fastest when compile with O2 (optimisation level 2) which makes sense. However, for functions that are in flash it seems that Os (smallest) is often faster. I assume this is because the time to read the smaller code from flash overwhelms any benefit of the more optimised code. Even more confusing is that sometimes putting a function into RAM from flash actually slows things down. These effects can be quite dramatic. The RP2040 runs the IF/ELSE code from flash. This gives the performance you are seeing in RC8 (c119mSec for LA_24_2). If I put IF/ELSE into RAM this slows down to 139mSec WTF?
Edited 2026-03-20 22:33 by matherp
 
Posted: 01:06pm
20 Mar 2026
Copy link to clipboard
terekgabor
Newbie

I just found a text error when I ran MEMORY command.
I have 5 embedded fonts and the word fonts is with double “s” letter on the screen (“fontss”).
I use RC8.
I can’t remember it was the same in earlier versions.
 
Posted: 05:54pm
20 Mar 2026
Copy link to clipboard
Bleep
Guru

Hi Peter,
I have set up my HDMIUSBI2S board, as far as I can remember, the same as yesterday and can't reproduce the USB stopping, so please ignore this.
Regards Kevin.
 
   Page 8 of 8    


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2026