Menu
JAQForum Ver 19.10.27

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

   Page 3 of 9    
Posted: 03:36pm
15 Oct 2025
Copy link to clipboard
matherp
Guru

Hopefully this fixes the issue

PicoMiteV6.01.00RC3.zip
 
Posted: 03:45pm
15 Oct 2025
Copy link to clipboard
dddns
Guru

My new toy:
PicoMite MMBasic USB RP2350B Edition V6.01.00RC2
OPTION SERIAL CONSOLE COM1,GP28,GP29
OPTION SYSTEM SPI GP22,GP23,GP20
OPTION FLASH SIZE 16777216
OPTION COLOURCODE ON
OPTION KEYBOARD US
OPTION PICO OFF
OPTION CPUSPEED (KHz) 378000
OPTION LCDPANEL CONSOLE
OPTION DISPLAY 40, 100
OPTION LCDPANEL SSD1963_7_16, LANDSCAPE,,,NORESET
OPTION TOUCH GP21,GP19
GUI CALIBRATE 1, 148, 261, 2095, 1366
OPTION SDCARD GP24, GP25, GP26, GP27
OPTION F9 flash run 1
OPTION PSRAM PIN GP47


When storing the options to disk(tried both) and reset them and reload the file it errors with "Display not configured". Having no display configured then save/reload works.

After Option display console 1 it freezes and need clear_flash

Framebuffer L and F don't work for me. It only shows a small section at the wrong place
Edited 2025-10-16 02:57 by dddns
 
Posted: 05:17pm
15 Oct 2025
Copy link to clipboard
matherp
Guru

  Quote  When storing the options to disk(tried both) and reset them and reload the file it errors with "Display not configured". Having no display configured then save/reload works.
After Option display console 1 it freezes and need clear_flash

I  can understand this. It restores the options which includes setting the display as a console which it tries to write to but it hasn't loaded the display driver so gives the error.

  Quote  Framebuffer L and F don't work for me. It only shows a small section at the wrong place

Don't suppose anyone has tried framebuffers with a 800x480 tft display - will need to look at it but will be traveling for the next few days.
Edited 2025-10-16 03:18 by matherp
 
Posted: 05:21pm
15 Oct 2025
Copy link to clipboard
dddns
Guru

Have a good trip.

One update is, that my clock application shows some perfect, other only get updated half guess depending on what is drawn but couldn't find the criteria yet
Edited 2025-10-16 03:23 by dddns
 
Posted: 06:04pm
15 Oct 2025
Copy link to clipboard
matherp
Guru

All:

Please note in looking at the above issue I have uncovered a issue you should be aware of.

If your configuration includes a MODBUFF setting and you do OPTION RESET you will corrupt your A: drive. I'll put in a warning like when you set up the MODBUFF and reformat the A: drive if you go ahead with the reset.
 
Posted: 09:08pm
15 Oct 2025
Copy link to clipboard
phil99
Guru


  Quote  Hopefully this fixes the issue
PicoMiteV6.01.00RC3.zip
Yes, excellent. LOAD COMPRESSED from A: tested on 2040 LCD and 2350 VGA. Thank you.
 
Posted: 04:04pm
16 Oct 2025
Copy link to clipboard
WhiteWizzard
Guru

@Peter,

Just upgraded to RC3 from RC0 (nuked, and power cycled first).
Have the below OPTIONs entered (they are exactly the same as what was set in RC0).

But similar to the post from dddns above, I am getting  ‘Error : Disply not configured’ when I try GUI TEST LCDPANEL.

Likewise, if I set OPTION TOUCH FT6336…. then on trying  ‘gui calibrate’ I get the same message. Note that I tried this to see if it would solve the ‘not configured’ issue but it didn’t.

All worked in RC0 but didn’t try any other RC versions apart from the latest (RC3).


PicoMite MMBasic USB RP2350B Edition V6.01.00RC3
OPTION SERIAL CONSOLE COM2,GP8,GP9
OPTION SYSTEM SPI GP18,GP19,GP16
OPTION SYSTEM I2C GP10,GP11
OPTION FLASH SIZE 16777216
OPTION COLOURCODE ON
OPTION KEYBOARD US
OPTION PICO OFF
OPTION CPUSPEED (KHz) 252000
OPTION LCDPANEL CONSOLE ,,,,,NOSCROLL
OPTION DISPLAY 26, 60
OPTION LCDPANEL ST7796S, RLANDSCAPE,GP15,GP14,GP13,INVERT
OPTION SDCARD GP22
OPTION RTC AUTO ENABLE


Forgot to add - the display is working fine in all aspects I’ve tried so far apart from GUI TEST….. and GUI CALIBRATE
Edited 2025-10-17 02:06 by WhiteWizzard
 
Posted: 07:16pm
16 Oct 2025
Copy link to clipboard
karlelch
Senior Member


Hi Peter,

including YMODEM is a great idea!

I tested it today but discovered a bug. I nuked the Pico 2 (2350A) and installed the latest default firmware (RC3, no options set). Then I entered
ymodem receive
and in TeraTerm (v5.2; Windows 11) I started file/transfer/ymodem/send and selected a file on my PC. TeraTerm indicated a transfer but then it stopped at 100% and nothing happens.



After a while, the dialog closes, the Pico remains responsive, but the file is not on the Pico.

The coding in TeraTerm is English/ISO8859-1. I tried UFT-8 but this also did not work (less even, as there was no progress in the file transfer).

ymodem send
is also not working.

> option list
PicoMite MMBasic RP2350A V6.01.00RC3
OPTION FLASH SIZE 4194304
OPTION COLOURCODE ON
OPTION CPUSPEED (KHz) 150000

Any advice?

Best
Thomas
 
Posted: 07:47pm
16 Oct 2025
Copy link to clipboard
matherp
Guru

Travelling at the moment. Will look at issues after the weekend.
 
Posted: 12:31am
17 Oct 2025
Copy link to clipboard
phil99
Guru


Ymodem tests.
RP2350A VGA mode 3, TeraTerm 5.2 using Pico VCP

Pico prog. mem. to PC - OK
Pico file$ to PC - no transfer
Pico "a:file" to PC - no transfer
Pico "b:file" to PC - no transfer

PC file$ to Pico prog. mem. - OK
PC file$ to Pico "a:file.ext" - OK
PC file$ to Pico with drive a: active, Y modem receive "file.ext" - no transfer
PC file$ to Pico "b:file.ext" - OK

Xmodem test.
Pico prog. mem. to PC - OK
Pico file$ to PC - no transfer

PC file$ to Pico "a:file.ext" - OK
Edited 2025-10-17 10:36 by phil99
 
Posted: 06:09am
18 Oct 2025
Copy link to clipboard
karlelch
Senior Member


PicoMite MMBasic RP2350A V6.01.00RC3
  phil99 said  Xmodem test.
Pico prog. mem. to PC - OK
Pico file$ to PC - no transfer

Same here.

With YMODEM, nothing works for me.

P.S. "2025-10-11_021652_PicoMiteV6.01.00RC0.zip" was the last version XMODEM worked fine.
Edited 2025-10-18 16:17 by karlelch
 
Posted: 06:17am
18 Oct 2025
Copy link to clipboard
karlelch
Senior Member


  matherp said  Travelling at the moment. Will look at issues after the weekend.

Thanks!
 
Posted: 09:59am
19 Oct 2025
Copy link to clipboard
skybandit2000
Newbie

  matherp said  V6.01.00RC0
Hi I have just tried to load the pico W 2  image from this zip file, it appears to load ok but nothing happens, same as reported earlier. loads a previous version ok.
  thanks


PicoMiteV6.01.00RC0.zip


V6.01.00 is now closed and hopefully not too many bugs to find and fix. This is the same as b20 with 2 changes:
Fixes bug in drawing circle with thick boundary and no fill colour
Add new bonus graphics command for all versions.
FILL x, y, colour


This reads the colour at position x,y in the display and then fills the area from that point where the current colour is the same. Note it will be slow on TFT displays using unbuffered drivers. The new SDD1963 buffered drivers and VGA and HDMI versions all perform well.

See the example video

' Random Closed Shape Generator - MMBasic Subroutine
' Test harness and subroutine

Dim inx%, iny%
Option Explicit
If Instr(MM.DEVICE$,"VGA") Or Instr(MM.DEVICE$, "HDMI") Then MODE 2
FRAMEBUFFER create
FRAMEBUFFER write f
Do
CLS
shape inx%, iny%
Fill inx%, iny%, RGB(Rnd*255,Rnd*255,Rnd*255)
FRAMEBUFFER copy f,n
Pause 250
Loop

' Creates an interesting random closed polygon with convex and concave sections
' Returns coordinates of a point inside the shape via x% and y% parameters

Sub shape(x%, y%)
   Local margin, minX, maxX, minY, maxY
   Local centerX, centerY, numPoints
   Local baseRadius, i, angle, radiusVariation, radius
   Local x1, y1, x2, y2, dx, dy, sx, sy, err, px, py, e2
   Local foundInside
   Local pointX(50), pointY(50)  ' Maximum possible points is 32, so 50 is safe

   ' Get screen dimensions with margins
   margin = 30
   minX = margin
   maxX = MM.HRES - margin - 1
   minY = margin
   maxY = MM.VRES - margin - 1

   ' Calculate random center point within the screen bounds
   ' Ensure enough space for the shape around the center
   centerX = minX + margin + Rnd * (maxX - minX - 2 * margin)
   centerY = minY + margin + Rnd * (maxY - minY - 2 * margin)

   ' Generate random points around a circle with varying radii
   numPoints = 16 + Int(Rnd * 16)  ' Between 16 and 32 points

   ' Base radius (smaller of the two dimensions)
   If (maxX - minX) < (maxY - minY) Then
       baseRadius = (maxX - minX) / 3
   Else
       baseRadius = (maxY - minY) / 3
   End If

   ' Generate points at regular angular intervals with random radius variations
   For i = 0 To numPoints - 1
       angle = (i * 2 * 3.14159265) / numPoints

       ' Random radius variation creates convex and concave sections
       radiusVariation = 0.5 + Rnd * 0.8  ' Varies from 0.5 to 1.3 times base
       radius = baseRadius * radiusVariation

       ' Calculate point position
       pointX(i) = Int(centerX + radius * Cos(angle))
       pointY(i) = Int(centerY + radius * Sin(angle))
   Next i

   ' Draw the closed shape by connecting all points
   For i = 0 To numPoints - 1
       ' Get current and next point (wrap around to close the shape)
       x1 = pointX(i)
       y1 = pointY(i)

       If i = numPoints - 1 Then
           x2 = pointX(0)  ' Connect last point back to first
           y2 = pointY(0)
       Else
           x2 = pointX(i + 1)
           y2 = pointY(i + 1)
       End If

       ' Draw line between points using Bresenham's algorithm
       dx = Abs(x2 - x1)
       dy = Abs(y2 - y1)

       If x1 < x2 Then
           sx = 1
       Else
           sx = -1
       End If

       If y1 < y2 Then
           sy = 1
       Else
           sy = -1
       End If

       err = dx - dy
       px = x1
       py = y1

       Do
           ' Draw pixel
           Pixel px, py, RGB(WHITE)

           ' Check if we've reached the end point
           If px = x2 And py = y2 Then Exit Do

           ' Calculate next point
           e2 = 2 * err

           If e2 > -dy Then
               err = err - dy
               px = px + sx
           End If

           If e2 < dx Then
               err = err + dx
               py = py + sy
           End If
       Loop
   Next i

   ' Find a point inside the shape (use center as it's always inside)
   x% = Int(centerX)
   y% = Int(centerY)

   ' Verify it's not on the boundary by checking if it's a white pixel
   ' If it is, offset slightly
   foundInside = 0
   Do While foundInside = 0
       If Pixel(x%, y%) <> RGB(WHITE) Then
           foundInside = 1
       Else
           ' Move slightly in a random direction
           x% = x% + Int(Rnd * 5) - 2
           y% = y% + Int(Rnd * 5) - 2
       End If
   Loop
End Sub
 
Posted: 05:42pm
19 Oct 2025
Copy link to clipboard
dddns
Guru

Hello,

I've discovered by chance, that Save image file$ causes a complete crash. From command line and when called within a program.

option list
PicoMite MMBasic USB RP2350B Edition V6.01.00RC3
OPTION SERIAL CONSOLE COM1,GP28,GP29
OPTION SYSTEM SPI GP22,GP23,GP20
OPTION FLASH SIZE 16777216
OPTION COLOURCODE ON
OPTION KEYBOARD US, 0, 0, 150, 50
OPTION PICO OFF
OPTION CPUSPEED (KHz) 378000
OPTION LCDPANEL CONSOLE
OPTION DISPLAY 40, 100
OPTION LCDPANEL SSD1963_7_16, LANDSCAPE,,,NORESET
OPTION TOUCH GP21,GP19
OPTION SDCARD GP24, GP25, GP26, GP27
OPTION KEYBOARD REPEAT 150,50
 
Posted: 06:29pm
19 Oct 2025
Copy link to clipboard
dddns
Guru

Its's not possible to run Gui calibrate which ends with "display not configured".

When tipping during a program run it causes a crash.
 
Posted: 08:35am
20 Oct 2025
Copy link to clipboard
matherp
Guru

V6.01.00RC4

PicoMiteV6.01.00RC4.zip

Should fix the various issues raised above.
NB: YMODEM now requires a cpu speed of 200,000KHz or above

In preparation for updating the manual I've screen scraped the changes in 6.01.00

  Quote  Enhanced KEYPAD command
The existing KEYPAD command supports a 4x3 or 4x4 keypad using the syntax
KEYPAD var, int, r1, r2, r3, r4, c1, c2, c3 [, c4]
This release supports n x m keypads using the syntax
KEYPAD keymapmap!(),var!,int, startcolpin, nocols, startrowpin, norows

'startcolpin' is the pin that begins 'nocols' of contiguous GP pins used as the column scans
'startrowpin' is the pin that begins 'norows' of contiguous GP pins used as the row scans
'var!' is the variable that will contain the value returned to the interrupt routine 'int' when a key is pressed
keymapmap!() is a two dimensional array that contains the user supplied mapping for every key. The array dimensions must match the number of columns and rows specified

So for example if I have a keypad with 3 columns and 4 rows
123
456
789
*0#

And I wire gp1 to the left column, gp1 to the middle and gp2 to the right, then the 4 rows from top to bottom to gp3 to gp6

My program could be
Option base 1
Dim keymap(3,4)=(1,4,7,10, 4,5,6,0, 3,6,9,11)
Keypad keymap(),keyret,myint,gp1,3,gp4,4
Do
Loop
Sub myint
Print keyret
End Sub

High speed buffered display drivers
The new release supports the following new display drivers
ILI9341BUFF: 320 x 240
ST7796SPBUFF: 320 x 320
ST7796SBUFF: 480 x 320
ILI9488PBUFF: 320 x 320
ILI9488BUFF: 480 x 320
ILI9488WBUFF: 480 x 320 'Waveshare Pico-Restouch-lcd-3.5
ST7789_320BUFF: 320 x 240 'Waveshare Pico-Restouch-lcd-2.8

In all cases enabling one of these drivers steals a RGB332 framebuffer from the heap so in the worst case of a ILI9488BUFF heap is reduced by 150K bytes (from 300K)

To use one of these drivers you first need to allocate the SPI pins to be used

OPTION LCD PINS clkpin, mosipin, misopin


These pins are dedicated to the display and must be separate from any pins used for the SYSTEM SPI which may still be required for touch and the sdcard (NB: in the case of the Waveshare boards using this driver will conflict with also using touch and the sdcard as they share the SPI channel)
The reason for the dedicated pins is that the screen updates will all take place on the second processor and for maximum performance this cannot share the SPI channel.

HDMI
OPTION RESOLUTION 1024x600 'need to specify the full resolution
1024x600 has modes:
1: 1024x600 mono with tiles
2: 256x150 RGB121
3: 512x300 RGB121
5: 256x150 RGB332

OPTION RESOLUTION 800x480 'need to specify the full resolution - steals heap

800x480 has modes:
1: 800x480 mono with tiles
2: 400x240 RGB121
3: 800x480 RGB121
5: 400x240 RGB332

MM.SUPPLY

n addition, the map command and function are now implemented for the new buffered LCD drivers

MAP(n)=RGB888value 'n=0 to 255
MAP SET
MAP RESET
? MAP(n) 'n=0 to 255

mplements PLAY ARRAY
PLAY ARRAY l%(), r%(), freq [,start] [,end] [,terminationinterrupt]

This requires packed arrays (could be the same array for left and right) of 16 bit values in the range -32768 to 32767 and outputs the values in the array at the sample frequency specified.
If the optional parameter 'start' is specified then the arrays are output from packed location 'start'
If the optional 'end' is specified then the arrays are output until the packed location 'end' is reached
If the optional parameter 'terminationinterrupt' is specified then the subroutine specified will execute once the last array element has been output.
It is important to understand the 'freq' parameter. This is the rate at which each array element is output. So for example, if the array contained 10 cycles of a sine wave with 18000 total samples then setting the frequency to 1800 would output a 1Hz sine wave for 10 seconds. Setting the frequency to 18000 would output a 10Hz sine wave for 1 second.


OPTION LCDPANEL controller, orientation [,backlightpin] [,DCpin] [,NORESET][,INVERT][,DB0pin]

DRAW3D SHOW n, x, y, z [,nocull][,usefurthest]
DRAW3D WRITE n, x, y, z [,nocull][,usefurthest]

TRIM$(source$ [,mask$] [,where/where$])


This function can remove characters from the beginning or end of a string or both
source$ is the input string
mask$ is a string containing a list of character to be removed. If omitted it defaults to space
where/where$ can be L, R, or B or a string beginning with L, R, or B to specify characters should be removed from the left of the source, the right of the source or both. If omitted defaults to L

The new functionality mostly revolves around the buffered SSD1963 displays. These now support OPTION LCD320 ON/OFF. This converts the display from 400x240 to 320x240 and centers the image.

In addition if the display is configured using the OPTION LCDPANEL command as ssd1963_5_buff, ssd1963_7_buff, ssd1963_5_16buff, or ssd1963_7_16buff then you can use the new command:
MODE 800/400.
This switches without rebooting between 800x480 and 400x240 modes.

Finally this version supports ON ERROR RESTART which does what it says. Any error in a program will cause the Pico to reset and, of course, if you have OPTION AUTORUN set the program will restart cleanly

FILL x, y, colour


This reads the colour at position x,y in the display and then fills the area from that point where the current colour is the same. Note it will be slow on TFT displays using unbuffered drivers. The new SDD1963 buffered drivers and VGA and HDMI versions all perform well.

for all versions
LOAD DITHERED fname$ [,xdisplay] [,ydisplay] [,mode] [,xfile] [,yfile]


mode 0: Floyd–Steinberg RGB121
mode 1: Floyd–Steinberg RGB332
mode 2: Atkinson RGB121
mode 3: Atkinson RGB332

This load a standard non-compressed RGB888 BMP file and dithers it to make the image look as good as possible on a display with either RGB121 or RGB332 colour.
fname$ is the name of the file to be loaded
the optional parameters xdisplay and ydisplay specify where on the display the file will load
the optional parameter RGB332 if set to 1 specified that dithering should take place from RGB888 to RGB332, if omitted (default) or set to 0 dithering is to RGB121
the optional parameters xfile and yfile give the use of choosing the x and y position in the image to start displaying so for example with a 640x480 image and a 320x240 display these could be set to 160,120 to dispolay just the central portion of the image

RP2350 non USB versions only
YMODEM SEND
or
YMODEM SEND file$
or
YMODEM RECEIVE
or
YMODEM RECEIVE file$
or
YMODEM CRUNCH


This command mimics XMODEM but transfers files much faster (>10x) over a CDC serial link
YMODEM is different from XMODEM in that the message carries the filename.
This means that when you send a file from the Pico to a computer the receiving program will use automatically use the same name as you send. In case the file already exists the receiver will automatically increment a version number on the name of the file received.
fred1.bas, fred2.bas etc.
When sending from memory with YMODEM S there are two possibilities. In the case that the file was loaded from the A: or B: drives it will contain a hidden filename and this will be used.
In the case of a file created through the editor or autosaved the receiving file will automatically have the name FILEn.DAT
It is the responsibility of the receiving program to specify where the file will be saved. In the case of teraterm this is an option you set on the general setting screen "File transfer folder"
When receiving a file on the Pico, you have complete freedom to specify the name and directory in the normal way

Edited 2025-10-20 19:09 by matherp
 
Posted: 10:32am
20 Oct 2025
Copy link to clipboard
disco4now
Guru


Also these ones I have noticed in the existing manuals.

Picomite Manual Feedback
Predefined Read Only Variables (page 84)
MM.CMDLINE$  is not now an MMBasic variable and cannot be ERASEd, suggest this description.

MM.CMDLINE$
This function returns any command line arguments passed to the
current program when an MMBasic program runs.
see RUN and * commands for details.
The function will return an empty string for programs run from the editor or using OPTION AUTORUN.

Line command update

LINE  x1, y1, x2, y2 [,[-] LW [, C]]
On an attached LCD display draws a line starting at the coordinates ‘x1’ and ‘y1’ and ending at ‘x2’ and ‘y2’.
‘LW’ is the line’s width. It defaults to 1 if not specified. For lines that have a defined width and the x1 and y1 coordinate define the top-left pixel of the thick line. i.e. the line is to the right of the specified position or below it on the screen.
If width is given as a -ve value then width will apply to lines in all directions and they are centred on the given origin and destination coordinates.
‘C’ is an integer representing the colour and defaults to the current foreground colour.
All parameters can be expressed as arrays and the software will plot the number of lines as determined by the dimensions of the smallest array. 'x1', 'y1', 'x2', and 'y2' must all be arrays or all be single variables /constants otherwise an error will be generated.  'lw' and 'c' can be either arrays or single variables/constants.




DIM command

...
The LENGTH keyword can also be used with non array string variables , however variables  with length  > 15 (RP2450) or > 8 (RP2040) characters will always take 256 bytes of memory and will not save any memory.


Variables Page 21.
Add PIO Instructions can't be used.

...
...
A variable name or a label must not be the same as a command, function, one of the nine PIO instructions (IN, OUT, JMP, WAIT, PUSH, PULL, MOV, IRQ, SET) or one of the following keywords:
THEN, ELSE, GOTO, GOSUB, TO, STEP, FOR, WHILE, UNTIL, LOAD, MOD, NOT, AND, OR, XOR,
AS.
Eg, step = 5 is illegal as STEP is a keyword.


Array command not in bookmarks
MATH(BASE64 ..  not in bookmarks
MATH(RAND)   .. PICO2 is true random number ???

Appendix D - SPI Communications
‘speed’ is the requested speed for the SPI clock. Any value can be requested, the firmware will select the next speed that can be achieved that is equal or slower than the speed requested. The speed that will actually be set is CPUspeed/2 divided by 1 to 256.
 
Posted: 08:08pm
20 Oct 2025
Copy link to clipboard
karlelch
Senior Member


  matherp said  V6.01.00RC4

PicoMiteV6.01.00RC4.zip

Should fix the various issues raised above.
NB: YMODEM now requires a cpu speed of 200,000KHz or above

Thanks, Peter!
I have cannot test YMODEM thoroughly right now, but one observation: The following code transfers the file (using TeraTerm) but hangs in the dialog at 100% for a while until it closes. The Pico is responsive but the ">" appears only after the next command. Same result with higher CPU speeds.

> option list
PicoMite MMBasic RP2350A V6.01.00RC4
OPTION FLASH SIZE 4194304
OPTION COLOURCODE ON
OPTION CPUSPEED (KHz) 200000
> ymodem receive "hps_cli.bas"

> files
A:/
  <DIR>  .
  <DIR>  ..
00:00 01-01-2024          4  bootcount
00:00 01-01-2024      40064  hps_cli.bas
2 directories, 2 files, 1929216 bytes free
>

YMODEM SEND "filename" works flawlessly.
A quick test of XMODEM suggests that it works.

Best
Thomas
Edited 2025-10-21 06:08 by karlelch
 
Posted: 08:13pm
20 Oct 2025
Copy link to clipboard
karlelch
Senior Member


One more question: MM.SUPPLY:
> for i=0 to 99: ?MM.Supply : Pause 100 : next
4.281538462
4.322637363
4.298461538
4.366153846
4.283956044
4.288791209
4.293626374
4.286373626
0.05318681319
0.05318681319
0.05318681319
0.05318681319
0.05318681319
0.05318681319
0.05318681319
0.05318681319
0.05318681319
0.05318681319
4.308131868
4.308131868
4.312967033
4.300879121
4.298461538
4.298461538
4.303296703
4.305714286
4.296043956
4.363736264
0.05318681319
0.05318681319
0.05318681319
0.05318681319

Why is it oscillating between the battery voltage and 0.05?
 
Posted: 08:57pm
20 Oct 2025
Copy link to clipboard
phil99
Guru


That appears to match the pulse rate of the heartbeat led.
What happens if you use OPTION HEARTBEAT ON/OFF ?

Footnote added 2025-10-21 07:29 by phil99
Issue not evident on this:-
PicoMiteVGA MMBasic RP2350A Edition V6.01.00RC4
As per Peters next post.
 
   Page 3 of 9    
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025