Menu
JAQForum Ver 19.10.27

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

   Page 2 of 8    
Posted: 04:53pm
05 Mar 2026
Copy link to clipboard
terekgabor
Newbie

Thanks! I’ll try.
 
Posted: 05:01pm
05 Mar 2026
Copy link to clipboard
matherp
Guru

Mozzie

Please try this. Now supports G4 and you can peek the position and activity - see manual

Stepper_Reference.pdf

PicoMite.zip
 
Posted: 05:04pm
05 Mar 2026
Copy link to clipboard
Martin H.
Guru


  terekgabor said  Thanks! I’ll try.

As my little Raycaster draws on Framebuffer and Blits it to Screen N so generally,
it also works on LCD Picos.
But I am not sure if Picocalc does run with the official Picomite firmware out of the Box. So you might have to wait until its developers (clockworkpi) make an update to the firmware.
Edited 2026-03-06 03:13 by Martin H.
 
Posted: 05:06pm
05 Mar 2026
Copy link to clipboard
terekgabor
Newbie

It is running now on Picocalc, I just upgraded to RC1.
 
Posted: 12:38am
06 Mar 2026
Copy link to clipboard
Briano
Newbie

I'm having trouble running a program I wrote which uses the FRAMEBUFFER command in RC1. It  worked in v6.01, but fails with 6.02.01b6 and 6.02.01RC1.

I narrowed the problem down to these two statements.


FRAMEBUFFER Create
FRAMEBUFFER Copy N, F


On my PicoCalc with BIOS 1.6 and Pico 2W, this causes WebMite to crash and reboot.
I tested but the WebMite and PicoMite versions for Pico 2 and both crash.

I suspect this could be a bug. Could someone test this on a non-picocalc device with a 2W?
Thank you.....Brian

Update: The last version of WebMite where this worked was 6.02.01b5 which came from Ernst.
The problem appeared in WebMite 6.02.01b6 which was the first supported version.
...Brian
Edited 2026-03-06 10:50 by Briano
 
Posted: 01:14am
06 Mar 2026
Copy link to clipboard
phil99
Guru


I don't have a 2W but loaded RC1 on a RP2350A VGA and

FRAMEBUFFER Create
FRAMEBUFFER Copy N, F

don't cause any problem.
 
Posted: 04:24am
06 Mar 2026
Copy link to clipboard
mozzie
Senior Member

G'day Peter,
Thanks for the update, I will give it a test and report back.

Regards,
Lyle.
 
Posted: 05:08am
06 Mar 2026
Copy link to clipboard
toml_12953
Guru

  Briano said  I'm having trouble running a program I wrote which uses the FRAMEBUFFER command in RC1. It  worked in v6.01, but fails with 6.02.01b6 and 6.02.01RC1.

I narrowed the problem down to these two statements.


FRAMEBUFFER Create
FRAMEBUFFER Copy N, F


On my PicoCalc with BIOS 1.6 and Pico 2W, this causes WebMite to crash and reboot.
I tested but the WebMite and PicoMite versions for Pico 2 and both crash.

I suspect this could be a bug. Could someone test this on a non-picocalc device with a 2W?
Thank you.....Brian

Update: The last version of WebMite where this worked was 6.02.01b5 which came from Ernst.
The problem appeared in WebMite 6.02.01b6 which was the first supported version.
...Brian


I have a PicoCalc with Pimoroni Pico2 (no web) and the copy reboots my system.
 
Posted: 06:11am
06 Mar 2026
Copy link to clipboard
terekgabor
Newbie

I have “standard” Pico 2 W with Picocalc and same problem with framebuffer copy.
I think b6 was the first version from original Picomite version fits for Picocalc also.
Maybe there remained a bug somewhere.
Edited 2026-03-06 16:37 by terekgabor
 
Posted: 06:47am
06 Mar 2026
Copy link to clipboard
ville56
Guru

just tested on a Pico 2 W, framebuffer create and framebuffer copy n,f do no harm here. BUT this may be code position dependent, at least from my past experiance. I've somtimes got strange behaviour (hangs or crashes) but no messages about low memory or heap. Moving the framebuffer create as far as possible to the beginning of the code did help most of the time.
 
Posted: 08:25am
06 Mar 2026
Copy link to clipboard
matherp
Guru

toml_12953
Please provide a test program demonstrating the issue.

Please do as follows:
OPTION LIST
make a note of the configuration of the LCD
OPTION LCD DISABLE
OPTION LCD as per the original but substitute ST7796SP as the type of display
test again
if still the same repeat with ILI9488P
You can also try ST7365PBUFF
Let me know what happens
Edited 2026-03-06 18:30 by matherp
 
Posted: 10:37am
06 Mar 2026
Copy link to clipboard
Volhout
Guru

@Peter,

In case you offer the option for a retriggerable ONESHOT, you could use the oneshot as an AM demodulator.

Volhout
 
Posted: 10:51am
06 Mar 2026
Copy link to clipboard
matherp
Guru

Don't understand what you are asking for compared to what is there now
 
Posted: 12:04pm
06 Mar 2026
Copy link to clipboard
matherp
Guru

V6.02.01RC2

PicoMiteV6.02.01RC2.zip


Fixes bug in reading from a ST7365P LCD controller as used in the PicoCalc
Improves validation of FRAMEBUFFER COPY when using LCD displays

STEPPER command now supports G4
Use PEEK(STEPPER X/Y/Z/ACTIVE) to get current position

Stepper_Reference.pdf


ONESHOT command now support a retriggerable mode
  Quote  ONESHOT triggerPin, sense, outputPin, prePulseDelay, pulseWidth [, quiescentPeriod]
or
ONESHOT R, triggerPin, sense, outputPin, prePulseDelay, pulseWidth [, quiescentPeriod]
or
ONESHOT DISABLE

Will configure a background one-shot pulse generator.

When the selected trigger edge is detected on 'triggerPin', MMBasic starts a delay of 'prePulseDelay' microseconds, then toggles 'outputPin'.  After 'pulseWidth' microseconds it toggles 'outputPin' again.  This creates a pulse in the opposite sense to the output pin's idle state.

An optional 'quiescentPeriod' (microseconds) can be supplied.  If present, ONESHOT will ignore retriggers for that period after the pulse completes.

'sense' selects the trigger edge transition and can be POSITIVE (also RISING) or NEGATIVE (also FALLING).  Triggering is edge based (transition), not level-state based.

Timing is interrupt driven and non-blocking.  Delay and pulse width are specified in microseconds.

`ONESHOT R` enables retriggerable mode.  In this mode, a new trigger while active will restart timing instead of being ignored.

In retriggerable mode:

If a trigger arrives during pre-pulse delay, the pre-pulse delay is restarted from that trigger.

Triggers are not queued.  During pre-pulse delay, each new valid trigger replaces the previous pending delay and restarts timing.

This means the pulse starts only after a quiet gap at least as long as `prePulseDelay` following the most recent valid trigger.

If triggers continue to arrive more frequently than `prePulseDelay`, the output transition can be deferred indefinitely until triggers stop.

If a trigger arrives during the pulse, the pulse width timer is restarted from that trigger (the output stays in its active pulse state).

If a trigger arrives during quiescent period, a new cycle is started (pre-pulse delay then pulse).

'prePulseDelay' may be set to 0, in which case the pulse starts immediately on the selected trigger edge.

'pulseWidth' must be a positive value (>0).

Notes:

'outputPin' must be OFF or DOUT when ONESHOT is configured.

If 'outputPin' is OFF it will be configured as DOUT and driven low before ONESHOT is armed.

If 'outputPin' is already DOUT, its current state (high or low) is preserved and the generated pulse is the opposite polarity.

Only one ONESHOT configuration can be active at any one time.

In standard (non-retriggerable) mode, additional triggers received while ONESHOT is in the pre-pulse delay period, while the pulse is active, or during any configured quiescent period are ignored.

ONESHOT DISABLE stops background operation, cancels pending timing events and restores the output pin to its idle state if a pulse was in progress.

ClearExternalIO() also disables and clears ONESHOT background activity.

The trigger and output pins must be different pins.

Example:

SETPIN GP2, DIN
SETPIN GP3, DOUT
ONESHOT GP2, POSITIVE, GP3, 50, 200

This waits for a rising edge on GP2, delays 50µs, toggles GP3, then toggles GP3 again 200µs later.

Retriggerable example:

SETPIN GP2, DIN
SETPIN GP3, DOUT
ONESHOT R, GP2, POSITIVE, GP3, 50, 200, 500

In this mode, each valid rising edge on GP2 retriggers ONESHOT while active.
If a trigger arrives during pre-pulse delay, the 50µs delay restarts.
If a trigger arrives during pulse, the 200µs pulse timer restarts.
If a trigger arrives during the 500µs quiescent period, a new cycle starts.
 
Posted: 12:38pm
06 Mar 2026
Copy link to clipboard
toml_12953
Guru

  matherp said  toml_12953
Please provide a test program demonstrating the issue.

Please do as follows:
OPTION LIST
make a note of the configuration of the LCD
OPTION LCD DISABLE
OPTION LCD as per the original but substitute ST7796SP as the type of display
test again
if still the same repeat with ILI9488P
You can also try ST7365PBUFF
Let me know what happens


The test program just does those two things:
FRAMEBUFFER Create
FRAMEBUFFER Copy N, F


Since I have a PicoCalc, all the LCD options are fixed in the firmware. If you want me to change the LCD and recompile the source, let me know. Here are the options:

PicoMite MMBasic RP2350B V6.02.01RC1
OPTION SERIAL CONSOLE COM1,GP0,GP1,BOTH
OPTION LCD SPI GP10,GP11,GP12
OPTION SYSTEM I2C GP6,GP7, SLOW
OPTION FLASH SIZE 16777216
OPTION LIBRARY_FLASH_SIZE  52000
OPTION COLOURCODE ON
OPTION CONTINUATION LINES ON
OPTION CASE UPPER
OPTION TAB 8
OPTION DEFAULT COLOURS GREEN, BLACK
OPTION KEYBOARD PICOCALC
OPTION PICO OFF
OPTION CPUSPEED (KHz) 384000
OPTION LCDPANEL CONSOLE ,, FF00
OPTION DISPLAY 26, 40
OPTION LCDPANEL ST7365P, PORTRAIT,GP14,GP15,GP13
OPTION BACKLIGHT LCD 96
OPTION SDCARD GP17, GP18, GP19, GP16
OPTION AUDIO GP26,GP27', ON PWM CHANNEL 5
OPTION RTC AUTO ENABLE
OPTION MODBUFF ENABLE  192
OPTION PLATFORM PicoCalc
OPTION PSRAM PIN GP47

Edited 2026-03-06 22:39 by toml_12953
 
Posted: 12:43pm
06 Mar 2026
Copy link to clipboard
matherp
Guru

You don't need to recompile the source with my build you can change options using the standard MMBasic commands

HOWEVER, please try RC2. The problem should be fixed
 
Posted: 02:58pm
06 Mar 2026
Copy link to clipboard
Briano
Newbie

  matherp said  You don't need to recompile the source with my build you can change options using the standard MMBasic commands

HOWEVER, please try RC2. The problem should be fixed


RC2 fixed the FrameBuffer Copy issue for me. (Picocalc/2w).

Thank you!.....Brian
 
Posted: 03:38pm
06 Mar 2026
Copy link to clipboard
mozzie
Senior Member

G'day Peter,
Some brief testing of the Stepper commands and all appears to be working well  
The PEEK commands are a great addition, as is G4.

Many thanks once again.

Regards,
Lyle.
 
Posted: 04:28pm
06 Mar 2026
Copy link to clipboard
toml_12953
Guru

  matherp said  You don't need to recompile the source with my build you can change options using the standard MMBasic commands

HOWEVER, please try RC2. The problem should be fixed


You are correct. The problem is fixed in RC2. Thanks!
 
Posted: 06:29pm
06 Mar 2026
Copy link to clipboard
Bleep
Guru

Hi Peter,
Have you by any chance tweaked some of the HDMI mode timings, I used to have problems with 640x480 it wouldn't reliably sync on several of my screens at 378MHz but now it is rock steady, but also some of the other resolutions seem to have changed their clock frequencies?
Kevin.
 
   Page 2 of 8    
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2026