Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 14:43 27 Mar 2026 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

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

     Page 8 of 9    
Author Message
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5815
Posted: 07:25am 19 Mar 2026
Copy link to clipboard 
Print this post

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
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11109
Posted: 08:16am 19 Mar 2026
Copy link to clipboard 
Print this post

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
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11109
Posted: 08:35am 19 Mar 2026
Copy link to clipboard 
Print this post

V6.02.01RC8

PicoMiteV6.02.01RC8.zip

Various perfomance tweaks, particularly for the RP2040 versions
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5815
Posted: 09:43am 19 Mar 2026
Copy link to clipboard 
Print this post

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
PicomiteVGA PETSCII ROBOTS
 
terekgabor
Newbie

Joined: 02/01/2026
Location: Hungary
Posts: 22
Posted: 12:17pm 19 Mar 2026
Copy link to clipboard 
Print this post

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!
 
mozzie
Senior Member

Joined: 15/06/2020
Location: Australia
Posts: 242
Posted: 01:12pm 19 Mar 2026
Copy link to clipboard 
Print this post

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.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11109
Posted: 01:20pm 19 Mar 2026
Copy link to clipboard 
Print this post

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

PicoMite.zip
 
mozzie
Senior Member

Joined: 15/06/2020
Location: Australia
Posts: 242
Posted: 02:30pm 19 Mar 2026
Copy link to clipboard 
Print this post

Hi Peter,
Great News    that has fixed it.

Now a single message with each E-Stop activation.

Thanks once again.

Regards,
Lyle.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11109
Posted: 02:45pm 19 Mar 2026
Copy link to clipboard 
Print this post

Lyle

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

PicoMite.zip

Stepper_Reference.pdf
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3707
Posted: 03:28pm 19 Mar 2026
Copy link to clipboard 
Print this post

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?
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on FOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11109
Posted: 03:36pm 19 Mar 2026
Copy link to clipboard 
Print this post

You can trade globals for locals using OPTION LOCAL VARIABLES
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3707
Posted: 03:53pm 19 Mar 2026
Copy link to clipboard 
Print this post

OPTION LOCAL VARIABLES 500


Perfect. Thank you.
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on FOTS
 
Bleep
Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 776
Posted: 05:41pm 19 Mar 2026
Copy link to clipboard 
Print this post

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
 
mozzie
Senior Member

Joined: 15/06/2020
Location: Australia
Posts: 242
Posted: 04:41am 20 Mar 2026
Copy link to clipboard 
Print this post

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.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11109
Posted: 09:01am 20 Mar 2026
Copy link to clipboard 
Print this post

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
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5815
Posted: 12:06pm 20 Mar 2026
Copy link to clipboard 
Print this post

Peter,

rc8 on 2350 Game*Mite runs fine.

Volhout
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11109
Posted: 12:31pm 20 Mar 2026
Copy link to clipboard 
Print this post

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
 
terekgabor
Newbie

Joined: 02/01/2026
Location: Hungary
Posts: 22
Posted: 01:06pm 20 Mar 2026
Copy link to clipboard 
Print this post

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.
 
Bleep
Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 776
Posted: 05:54pm 20 Mar 2026
Copy link to clipboard 
Print this post

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.
 
mozzie
Senior Member

Joined: 15/06/2020
Location: Australia
Posts: 242
Posted: 02:26pm 22 Mar 2026
Copy link to clipboard 
Print this post

G'day Peter,
Excellent   both additions will be very useful.

Unfortunately plans to do a great deal of testing and tuning over the weekend were derailed, hopefully more luck this week.

Many thanks once again.

Regards,
Lyle.
 
     Page 8 of 9    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2026