G'day,
Sadly no time for testing today, hopefully better luck tomorrow.
Bryan, you had it so close but not quite, the GUI SETUP needs to be before the DO:LOOP or it will won't be executed:
Option EXPLICIT
Option DEFAULT NONE
Option console serial
Colour RGB(white), RGB(black)
Const X_position = 1, xsetup = 2, Y_position = 7, ysetup = 3, zsetup = 4
Const Z_position = 5
Const X1 = 20, Y1 = 21, Z1 = 22
Const PAGE_1TITLE = 29, Z0 = 30
Const ver = 32, X0 = 33
Const Y0 = 34
CLS
Font 1,2
GUI caption PAGE_1TITLE, "MMBasic Surface Grinder", 70, 20 '29
GUI caption ver, " Version 0.001", 100, 40
GUI led X1,"X Axis", 350, 160, 10, RGB(red) '#20
GUI led Y1,"Y Axis", 350, 210, 10, RGB(red) '#21
GUI led Z1,"Z Axis", 350, 260, 10, RGB(red) '#22
GUI displaybox X_position, 60, 90, 140, 30, RGB(white) '#1
CtrlVal(1) = "0.000"'Str$(Peek(stepper x),-4,4)
GUI button X0,"X",0,80,50,50, RGB(white) '#33
GUI displaybox Y_position, 60, 130, 140,30, RGB(white) '#7
CtrlVal(7) = "0.000" ' Str$(Peek(stepper y),-4,4)
GUI button Y0, "Y", 0,120,50,50, RGB(white) '#34
GUI displaybox Z_position, 60, 170, 140, 30, RGB(white) '#5
CtrlVal(5) = "0.000" ' Str$(Peek(stepper z),-4,4))
GUI button Z0, "Z", 0, 160, 50, 50, RGB(white) '#30
GUI setup 2
GUI caption xsetup,"X Axis Config",60,20,,RGB(green) '#2
GUI setup 3
GUI caption ysetup,"Y Axis Config",60,20,,RGB(green) '#3
GUI setup 4
GUI caption zsetup,"Z Axis Config",60,20,,RGB(green) '#4
GUI Setup 5
GUI Button 6,"MAIN",400,0,75,30,RGB(black),RGB(red)
GUI page 1
GUI interrupt TOUCHDOWN
Do :Pause 100:Loop Until Inkey$<>""
End
Sub TOUCHDOWN
If Touch(ref) = 20 Then GUI page 2,5 'X1 #20
If Touch(ref) = 21 Then GUI page 3,5 'Y1 #21
If Touch(ref) = 22 Then GUI page 4,5 'Z1 #22
If Touch(ref) = 6 Then GUI page 1
End Sub
GUI PAGE 5 adds a button "MAIN" so you can get back to page 1
Now I'm off to bed...zzzzzzzz
Regards, Lyle.
Edited 2026-05-06 03:17 by mozzie