Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 22:10 20 Jun 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 : MMBasic V6.03.00 release candidates

     Page 24 of 26    
Author Message
terekgabor
Senior Member

Joined: 02/01/2026
Location: Hungary
Posts: 102
Posted: 10:15am 16 Jun 2026
Copy link to clipboard 
Print this post

Hello Peter!

Is RC20 containing the solution for the json problem also?

G@bor
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11501
Posted: 10:28am 16 Jun 2026
Copy link to clipboard 
Print this post

yes
 
dddns
Guru

Joined: 20/09/2024
Location: Germany
Posts: 842
Posted: 10:53am 16 Jun 2026
Copy link to clipboard 
Print this post

  matherp said  V6.03.00RC20
UI changes to the FM command - see the chapter in the manual
Fixes bug in LIST SYSTEM I2C
Camera command now supports 320x240 capture for applicable RP2350 versions (now including HDMI and HDMIUSB)


The camera works excellent with HDMIUSB. Colours look really good and natural and the picture is quite sharp with good Autofocus. Thank you for the improvements!
If it would work in terms of speed a buffer would make sense to me if PSRAM is present.

List system i2c works fine for me.

FM and its help look clear. When copying files the status of the copy process should be displayed immediately. I tend to wonder if I pressed the button correctly..

> option list
PicoMiteHDMI MMBasic USB RP2350B Edition V6.03.00RC20
OPTION SERIAL CONSOLE COM2,GP8,GP9
OPTION SYSTEM I2C GP4,GP5
OPTION FLASH SIZE 16777216
OPTION COLOURCODE ON
OPTION KEYBOARD US
OPTION PICO OFF
OPTION RESOLUTION 640x480 @ 378000KHz
OPTION DISPLAY 30, 53
>
> mode 4 : camera open gp24,gp25,gp26,gp27,gp28,gp32,qvga
> do : camera capture : loop until inkey$ <> "" : save image "test1.bmp"


The picture on the HDMI monitor look also very nice in QVGA:

 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11501
Posted: 11:34am 16 Jun 2026
Copy link to clipboard 
Print this post

PSRAM is far too slow
 
JanVolk
Guru

Joined: 28/01/2023
Location: Netherlands
Posts: 379
Posted: 12:32pm 16 Jun 2026
Copy link to clipboard 
Print this post

This is what my FM help in > HELP looks like. Tastes differ.


PicoMite MMBasic RP2350B V6.03.00RC20
Copyright 2011-2026 Geoff Graham
Copyright 2016-2026 Peter Mather

Total of 6 Mbytes PSRAM available
> help fm
' FM           File Manager
' H ?    F1    FM help           Enter  F2    Open / RUN
' L      F3    List file         E      F4    Edit file
' Y      F5    Copy              T      F6    Stop audio
' -      F7    Volume down       +      F8    Volume up
' F      F9    Set filter        W      F10   Clear filter
' K      F11   Make dir          A B C        Change drive
' D            Duplicate         G            Go to path
' M            Move              N            New file
' R            Rename            S            Sort
' DEL Delete   Delete            X            Recursive del
' Space        Mark/unmark       * \          Mark all/clr
' /            Type-selct        ESC          Exit FM
'
' Move / panel (no arrow or function keys needed)
' Up/Dn        Move  ^E ^X       PgUp/Dn      Page  ^P ^L
' Home/End     Ends  ^U ^K       Tab L/R      Panel ^S ^D
' Bksp         Parent dir

>


Jan.
 
mozzie
Guru

Joined: 15/06/2020
Location: Australia
Posts: 385
Posted: 02:57pm 16 Jun 2026
Copy link to clipboard 
Print this post

G'day Peter,
A few observations noted whilst testing various systems and ideas recently and a couple of follow up questions:

RP2350BTH: Several keyboards tested and generally highly successful, however scroll wheel / scroll function and CAPS LOCK LED not working on any version, is this correct?

RP2350HDMI: You have stated the GT911 I2c touch will not be supported on HDMI, is it possible to enable the SPI XPT2046 resisitive touch controller on non-usb versions to take advantage of the numerous HDMI/Res-touch panels available aimed at the raspberry-pi?

Updating Firmware: Several suspected bugs and unusual system behaviour observed after a firmware update / option update has been made good by reloading firmware and manually setting options. A flash nuke is always done between firmware loads. Would you advise to manually update option settings between RC/Beta versions rather than OPTION DISK SAVE/LOAD?

Stepper System: To make system calibration easier, would it be possible to allow an axis to be re-defined (possibly after a STEPPER RESET) as long as the pins used are not changed, IE:
STEPPER AXIS X,GP2,GP3,GP1,,400,500,,5 ' initial x axis config
.... code to check axis calibration ....
STEPPER RESET
STEPPER AXIS X,GP2,GP3,GP1,,440,500,,5 ' new x axis config
.... code to check axis calibration ....

Currently this appears to fail as the pins are not released until STEPPER CLOSE is issued, however I may have missed something obvious as usual.

The only other thing missing is a true low power sleep mode, however I believe that is not possible due to the interaction of MMBasic and the RP-Pico system.

Many thanks once again to you and Geoff for the whole PicoMite/MMite/MMbasic system, amazing how far it has come.

Regards, Lyle.
 
toml_12953
Guru

Joined: 13/02/2015
Location: United States
Posts: 656
Posted: 03:05pm 16 Jun 2026
Copy link to clipboard 
Print this post

  matherp said  V6.03.00RC20
UI changes to the FM command - see the chapter in the manual
Fixes bug in LIST SYSTEM I2C
Camera command now supports 320x240 capture for applicable RP2350 versions (now including HDMI and HDMIUSB)


LIST PINS cuts off the first 6 pins on a PicoCalc LCD display (26x40):

GP6      9      Boot Reserved : SYSTEM I
2C SDA
GP7      10     Boot Reserved : SYSTEM I
2C SCL
GP8      11     OFF
GP9      12     OFF
GP10     14     Boot Reserved : SPI SYST
EM CLK
GP11     15     Boot Reserved : SPI SYST
EM MOSI
GP12     16     Boot Reserved : SPI SYST
EM MISO
GP13     17     Boot Reserved : LCD CS
GP14     19     Boot Reserved : LCD DC
GP15     20     Boot Reserved : LCD Rese
t
GP16     21     Boot Reserved : SD MISO
GP17     22     Boot Reserved : SD CS
GP18     24     Boot Reserved : SD CLK
GP19     25     Boot Reserved : SD MOSI
GP20     26     OFF
GP21     27     OFF
GP22     29     OFF
GP23     41     Boot Reserved : CYW43
GP24     42     Boot Reserved : CYW43
Press any key to continue

Edited 2026-06-17 01:07 by toml_12953
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11501
Posted: 03:18pm 16 Jun 2026
Copy link to clipboard 
Print this post

You probably have option tab set to something other than 4. OPTION TAB 4 then try again

  Quote  RP2350HDMI: You have stated the GT911 I2c touch will not be supported on HDMI, is it possible to enable the SPI XPT2046 resisitive touch controller on non-usb versions to take advantage of the numerous HDMI/Res-touch panels available aimed at the raspberry-pi?


Sorry, but this is a no. resistive touch is a different compile module and is not compatible with VGA and HDMI builds

The option structure has changed so you can't load a previous option file

What is the requirement on the stepper? Just changing the steps/accelerations without restarting?
Edited 2026-06-17 01:21 by matherp
 
mozzie
Guru

Joined: 15/06/2020
Location: Australia
Posts: 385
Posted: 04:12pm 16 Jun 2026
Copy link to clipboard 
Print this post

Hi Peter,
Correct, being able to change the Steps/mm or acceleration without shutting down the complete stepper system and then reloading all from scratch. Wasn't sure if there was a way to do this already. This would certainly make the machine calibration routine far cleaner and allow different machine modes to be set easily.

Thanks for the clarification regarding RES-Touch.

Regards, Lyle.
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 531
Posted: 05:36pm 16 Jun 2026
Copy link to clipboard 
Print this post

Peter,

there is an issue with PSRAM display at least ...


Connected to COM3 at 115200
Total of 14 Mbytes PSRAM available
>
>
>
> option list
PicoMite MMBasic RP2350A V6.03.00RC20
OPTION SYSTEM SPI GP2,GP3,GP4
OPTION SYSTEM I2C GP0,GP1
OPTION FLASH SIZE 16777216
OPTION COLOURCODE ON
OPTION HEARTBEAT OFF
OPTION CPUSPEED (KHz) 252000
OPTION DISPLAY 40, 145
OPTION LCDPANEL ST7789, LANDSCAPE,GP5,GP6,GP7,GP8,INVERT
OPTION SDCARD GP11
OPTION PLATFORM ST7789-Test
OPTION PSRAM PIN GP19


> memory
Program:
  0K ( 0%) Program (0 lines)
300K (100%) Free

Saved Variables:
 16K (100%) Free

RAM:
  0K ( 0%) 0 Variables
 65K ( 0%) General
14618K (100%) Free
>

                                                                 
73 de OE1HGA, Gerald
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11501
Posted: 05:48pm 16 Jun 2026
Copy link to clipboard 
Print this post

What board and what ram chip?
 
JanVolk
Guru

Joined: 28/01/2023
Location: Netherlands
Posts: 379
Posted: 06:22pm 16 Jun 2026
Copy link to clipboard 
Print this post

Peter,

I have loaded the latest PicoMiteHDMI MMBasic USB RP2350A Edition V6.03.00RC20 firmware.
What I have noticed is that switching between left and right with FM and an HDMI screen using the Tab key works well with Tera Term, but not on the HDMI screen.
The situation is as follows: There are two cyan bars. One for the cursor and one for the drive.
When I press Tab, I see the two bars switch on Tera Term, while on the HDMI screen only the cursor bar appears.


> option list
PicoMiteHDMI MMBasic USB RP2350A Edition V6.03.00RC20
OPTION SERIAL CONSOLE COM1,GP0,GP1
OPTION SYSTEM I2C GP20,GP21
OPTION FLASH SIZE 16777216
OPTION COLOURCODE ON
OPTION MOUSE SENSITIVITY     1.0000
OPTION KEYBOARD US
OPTION HEARTBEAT OFF
OPTION PICO OFF
OPTION RESOLUTION 848x480 @ 336000KHz
OPTION DISPLAY 40, 106
OPTION HDMI PINS  1, 3, 7, 5
OPTION GUI CONTROLS 100
OPTION SDCARD GP22, GP6, GP7, GP4
OPTION AUDIO GP26,GP27', ON PWM CHANNEL 5
OPTION RTC AUTO ENABLE
OPTION MODBUFF ENABLE  192
OPTION F1 help
OPTION F5 list commands
OPTION F6 list functions
OPTION F7 list pins
OPTION F8 option list
OPTION F9 fm
OPTION PLATFORM OLIMEX USB


Jan.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 11501
Posted: 06:52pm 16 Jun 2026
Copy link to clipboard 
Print this post

Easily fixed - will be in the next RC or release whichever comes sooner
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 531
Posted: 07:07pm 16 Jun 2026
Copy link to clipboard 
Print this post

  matherp said  What board and what ram chip?


Board: Waveshare RP2350-Plus
Chip: PSRAM64H, retrofitted

The board+chip did work fine with older versions, did not test it with RC19 though.

I will try to find out with which version the change did happen.
                                                                 
73 de OE1HGA, Gerald
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 531
Posted: 07:09pm 16 Jun 2026
Copy link to clipboard 
Print this post

  ville56 said  
  matherp said  What board and what ram chip?


Board: Waveshare RP2350-Plus
Chip: PSRAM64H, retrofitted

The board+chip did work fine with older versions, did not test it with RC19 though.

I will try to find out with which version the change did happen.


Solved ... a power cycle did reset the issue. Sorry Peter, my bad.
                                                                 
73 de OE1HGA, Gerald
 
toml_12953
Guru

Joined: 13/02/2015
Location: United States
Posts: 656
Posted: 07:10pm 16 Jun 2026
Copy link to clipboard 
Print this post

  matherp said  You probably have option tab set to something other than 4. OPTION TAB 4 then try again

Even with OPTION TAB set to 2 I get this:

GP2      4      OFF
GP3      5      OFF
GP4      6      UART1TX
GP5      7      UART1RX
GP6      9      Boot Reserved : SYSTEM I2C SDA
GP7      10     Boot Reserved : SYSTEM I2C SCL
GP8      11     OFF
GP9      12     OFF
GP10     14     Boot Reserved : SPI SYSTEM CLK
GP11     15     Boot Reserved : SPI SYSTEM MOS
I
GP12     16     Boot Reserved : SPI SYSTEM MIS
O
GP13     17     Boot Reserved : LCD CS
GP14     19     Boot Reserved : LCD DC
GP15     20     Boot Reserved : LCD Reset
GP16     21     Boot Reserved : SD MISO
GP17     22     Boot Reserved : SD CS
GP18     24     Boot Reserved : SD CLK
GP19     25     Boot Reserved : SD MOSI
GP20     26     OFF
GP21     27     OFF
GP22     29     OFF
GP23     41     Boot Reserved : CYW43
GP24     42     Boot Reserved : CYW43
Press any key to continue
 
ville56
Guru

Joined: 08/06/2022
Location: Austria
Posts: 531
Posted: 07:32pm 16 Jun 2026
Copy link to clipboard 
Print this post

ad PSRAM issue:

it turns out that the problem is with the Cytron board (the one with the LED for each pin) that holds the pico board. GP19 is also connected to the audio-out network. That seems to spoil the timing on the PSRAM CS signal. Worked with earlier versions though. Have the I/O pin drive levels changed in V6.03.xx ?

Anyway, if out of the Cytron board everything works fine.
                                                                 
73 de OE1HGA, Gerald
 
Bleep

Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 806
Posted: 08:46pm 16 Jun 2026
Copy link to clipboard 
Print this post

Hi Peter,
I'm doing some testing on B20 and think there is a problem with Math(crossing)
Base is set to 0
Dim Float percentv(8)=(25.0,25.6,26.0,26.2,26.4,26.5,26.6,26.7,26.8)
?percentv(0)
25
?math(crossing percentv(),25.0,1)
-1
?math(crossing percentv(),25.01,1)
1
?math(crossing percentv(),25.7,1)
1

-1 ok
but shouldn't the first 1 be 0 then the second 1 would be correct?


?math(crossing percentv(),26.55,1)
5
?math(crossing percentv(),26.65,1)
6
?math(crossing percentv(),26.75,1)
-1
?math(crossing percentv(),26.85,1)
-1
?math(crossing percentv(),26.75,-1)
-1
?math(crossing percentv(),26.55,-1)
-1

shouldn't 26.75 be 7
What should I get if I use 26.85 as the crossing value, direction 1, would it be 8 or -1 for outside the array data?
If I use -1 for the direction, I always get -1 as the result.
Thanks for any insights. Kevin.
 
vegipete

Guru

Joined: 29/01/2013
Location: Canada
Posts: 1180
Posted: 10:30pm 16 Jun 2026
Copy link to clipboard 
Print this post

I'm getting some behaviour from the Stepper system that I don't understand.
I request a move of 1 (on the A-axis) but only seem to get a move of 0.875

I suppose this might be some sort of rounding error, but at 16 steps per unit, there ought not be such.

The stepper driver is set to 16 microsteps, the motor is 200 steps per turn. The goal is to turn the motor such that there are 100 positions per turn. The setting of 16 steps per unit is puzzling, but works. A move of A100 does indeed give one turn of the motor. But a move of A1 does not give 1/100 of a turn.

In the code below, two GCode lines are offered, one with incremental moves, the other with absolute. Both show the same behaviour.

I note too that G90 and G91 are not modal - they don't set the state for following moves. Instead, they (or at least G91?) must be included with each line GCode.

> list all

Const M_EN = MM.Info(PINNO GP30)   ' stepper enable
Const M_STEP = MM.Info(PINNO GP26) ' stepper step
Const M_DIR = MM.Info(PINNO GP27)  ' stepper direction

On error skip
Stepper Close
Stepper Init
Stepper Axis A,M_STEP,M_DIR,M_EN,,16,20000,1000
Stepper Position Home
Stepper Run 1   ' disable stepper when not moving

For i = 1 To 100
  Print Peek(stepper a),i
  Stepper gs "g1 f12500 g91 a1"
'  Stepper gs "g1 f12500 g90 a" + Str$(i)
  Do : Loop While Peek(stepper active) > 0   ' wait for motion to stop
  Pause 200  ' wait some more

Next i
> run
Stepper initialized - 100KHz timer active
Warning: Soft limits not configured. Use STEPPER LIMITS to set working area.
Stepper armed - executing buffered commands
0       1
0.875   2
1.75    3
2.625   4
3.5     5
4.375   6
5.25    7
6.125   8
7       9
7.875   10
8.75    11
9.625   12
10.5    13
11.375  14
[CTRL-C to stop program]

> option list
PicoMite MMBasic RP2350B V6.03.00RC20
OPTION SYSTEM SPI GP18,GP19,GP16
OPTION AUTORUN  ON
OPTION FLASH SIZE 16777216
OPTION COLOURCODE ON
OPTION PICO OFF
OPTION CPUSPEED (KHz) 200000
OPTION LCDPANEL ILI9341, RLANDSCAPE,GP14,GP15,GP17,GP5
OPTION HEARTBEAT PIN GP25

Edited 2026-06-17 08:32 by vegipete
Visit Vegipete's *Mite Library for cool programs.
 
mozzie
Guru

Joined: 15/06/2020
Location: Australia
Posts: 385
Posted: 03:02am 17 Jun 2026
Copy link to clipboard 
Print this post

G'day,
Looking at Vegipete's code this might be a better solution:
For i = 1 To 100
 Stepper gs "g1 f12500 g91 a1"
 Do : Loop While Peek(stepper active) > 0   ' wait for motion to stop
 Pause 200  ' wait some more
 Print Peek(stepper a),i
Next i

to catch the last update after motion finishes.

However it does appear that short moves at higher feedrates cause what he is seeing:

X1 move at feedrates < 1896 work ok
X1 move at feedrates > 1898 moves less than requested

This is same with G1 or G0 moves.

Also my request for the change for the Stepper System should be STEPS/MM and MAX_VELOCITY not MAX_ACCEL, however MAX_ACCEL would be nice also. (getting over the FLU/COVID   )

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