Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 01:37 24 Nov 2024 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 : Compiling Webmite -with- GUI

Author Message
stef123
Newbie

Joined: 25/09/2024
Location: United Kingdom
Posts: 23
Posted: 07:43pm 06 Nov 2024
Copy link to clipboard 
Print this post

Hi,

of course i was alreay trying to do that by adding GUI.c to CmakeLists.txt/ "WEB", which horribly failed on compilation time when it comes to GUI.c compilation - is it -technically spoken- impossible to add GUI-Controls on the WebMite because the resources (in terms of available RAM,Flash or interrupt fighting) are limited, or would it -reduce only- the available Program Space?

Why i ask for this - because it would be from my point of view -very- handy being capable of updating the Firmware or at least a debug and control interface/access to the command line/Editor though WiFi/Telnet on a device -with- GUI controls, that does not have connections to the outside world, except for Power.

Is it in -general- impossible to compile WebMite with GUI (commands)?

Thank you!
Stef
Edited 2024-11-07 05:45 by stef123
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6772
Posted: 07:51pm 06 Nov 2024
Copy link to clipboard 
Print this post

AFAIK it can't be done on the RP2040 due to lack of resources. Whether it's possible on the new chip I've no idea. At the moment the entire GUI subsystem was removed as it's not considered to be necessary when your interface is a web browser. :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stef123
Newbie

Joined: 25/09/2024
Location: United Kingdom
Posts: 23
Posted: 08:20pm 06 Nov 2024
Copy link to clipboard 
Print this post

I was planning to create a "all in one"-Speedometer based on the Pico with the Waveshare 3.5" IPS-LCD for my 50cc-Scooter and naturally most Speedos are not accessible from the outside, without removing some parts.

The TFT-Function cant be used either, because the original speedometer inerts are to be removed and replaced with the new design - and the original housing has a Plexiglass Front. I can't completely expose the TFT display to the weather.

Of course, i can also solder on a larger USB connector (an adapter cable would not fit because the Pico's USB connection and the micro USB cable connector would be too long for the housing), but I thought it would be useful to be able to access the Pico without a cable - ideally even from your home, if the range is right, to be able to program it - other design, adjustments etc.

If if would be possbible, i would try strip every Web-functionality except for talking via Telnet/XModem.

Other method would be programming all advanced GUI commands with the given simple Graphic Commands, but i guess this would slow down the refresh process of the Display contents drastically.
Edited 2024-11-07 06:28 by stef123
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6772
Posted: 08:42pm 06 Nov 2024
Copy link to clipboard 
Print this post

You can't change MMBasic itself other than via the USB port. That's connected to the flash and the bootloader system. You can't even do it via the terminal. I'm afraid a USB port is the only way.

You can get short USB plugs that you can solder wires to, or you can solder directly to the TP pads under the Pico. One of the short plugs increases the total length (including plug) to about 62mm.

You can also get waterproof USB sockets that have a screw-on cap for when they aren't being used.

You'll need a hole somewhere to get the power in. :)

For socketed Picos I'm now playing with 22 pins on each side rather than 20. That way I can get USB, GP25 and GP29 out yet still able to unplug it and plug it into a breadboard.

.
Edited 2024-11-07 06:45 by Mixtel90
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2135
Posted: 08:43pm 06 Nov 2024
Copy link to clipboard 
Print this post

  Quote  an adapter cable would not fit because the Pico's USB connection and the micro USB cable connector would be too long for the housing
You don't need to use the micro USB connector. There are pads on the underside of the Pico for USB D+ and D-.
Solder the ends of a USB cable to them along with Ground and Vbus.
The other end can, if there is room be coiled up inside. If not use a weather proof socket on the outside.
 
stef123
Newbie

Joined: 25/09/2024
Location: United Kingdom
Posts: 23
Posted: 08:53pm 06 Nov 2024
Copy link to clipboard 
Print this post

  Mixtel90 said  You can't change MMBasic itself other than via the USB port.
.


That's not my intention, i would like -only- to be able to update the Program itself, not MMBasic. If possible, at best though WiFi. If that doesn´t seem to be possible because of WebMite+Advanced GUI limitations , then I guess I have to go for the external, weatherproof USB A-Socket -or- by using Basic Drawing commands on the Webmite to create the GUI.
Edited 2024-11-07 07:01 by stef123
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6772
Posted: 09:22pm 06 Nov 2024
Copy link to clipboard 
Print this post

You could change ordinary variables in the program. I don't think you can change anything else other than through the USB port or a serial terminal. If you used an ordinary Pico coupled to a ESP via a serial link that might do something, but I don't think you could do anything with the Webmite as it's not connected like that. You could perhaps get some space by using a ESP8266-01S and a Pico Zero.  :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stef123
Newbie

Joined: 25/09/2024
Location: United Kingdom
Posts: 23
Posted: 09:41pm 06 Nov 2024
Copy link to clipboard 
Print this post

Thats why i want to go with the Webmite and adding GUI functionality to it. The Webmite, as (hopefully) known, allows a Telnet connection via TeraTerm (or Putty - whatever can handle Telnet) and transfer programs/files trough XMODEM (or TFTP). That saves the need for a connection via USB or CH940/1-Serial console and so it comes in very handy; especially in this case.  

Of course you can´t use for example MMEdit for updating the program with this method and the update process via XMODEM is rather slow, but not impossible.

That's what i've already done with several other projects, but they were not in the need for a Display; at least not in this size and with graphic functions. But the key for me is: You don´t have to add an external USB port for the purpose of programming it, nor does the device need to be moved from its place (which can be rather big or being mounted somwehere else) or using long USB cables. You connect via Telnet to do the job, thats all.

The Telnet console gives you everything you could do with an USB/Serial connection - including file Transfer.
Edited 2024-11-07 07:48 by stef123
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6772
Posted: 10:46pm 06 Nov 2024
Copy link to clipboard 
Print this post

The RF section of a Webmite is on a SPI connection IIRC. It's not a normal serial port that MMBasic can access. Because of that MMBasic can't use it as a console. A separate RF module would be connected as a console, so you could (in theory anyway) do anything that you can do over a console.

That way the console is connected a normal PicoMite, with full LCD control and GUI controls and the RF side is transparent.

The RF/web side of the firmware uses a lot of RAM. That's probably why there are no GUI controls on the Webmite. The RP2350 has twice as much RAM, but just how much of the rest of the code is different I've no idea.

.
Edited 2024-11-07 08:48 by Mixtel90
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stef123
Newbie

Joined: 25/09/2024
Location: United Kingdom
Posts: 23
Posted: 11:09pm 06 Nov 2024
Copy link to clipboard 
Print this post

Webmite Manual, Page 24:

Remote Console Access
You can remotely connect to the console of the WebMite via WiFi using Telnet. This is handy if the device is
in a location that is difficult to access. Once connected via Telnet you can do everything that you would
normally do via the USB console including running the editor.
To enable this feature, enter the following at the command prompt:
OPTION TELNET CONSOLE ON
This only needs to be entered once and will be remembered every time your WebMite is restarted. It will also
cause the WebMite to restart so you will need to reconnect to the USB console.


File Transfer
Files can be transferred to and from the WebMite via XModem or TFTP. XModem is supported by Tera Term
and will operate over Telnet the same as it does over a direct serial connection. However TFTP is much faster
and more reliable than XModem so it is the recommended method of transferring files to and from the
WebMite.
A TFTP server on the WebMite is automatically enabled when you are connected to a WiFi network so nothing
is needed there. You do need a TFTP client for your PC and many different implementations are available for
Windows, Mac OS and Linux. Note that many tutorials on TFTP discuss setting up a TFTP server - this is not
needed, you only need a client
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2135
Posted: 11:48pm 06 Nov 2024
Copy link to clipboard 
Print this post

For examples of MMBasic programs that use just the basic drawing commands to produce good instrument displays search the Silicon Chip website for projects using the MicroMite LCD Backpack.
The MicroMiteII doesn't have advanced GUI controls in the firmware either yet they achieve some good displays.

You may be able to save some time by borrowing some of their subroutines.
 
stef123
Newbie

Joined: 25/09/2024
Location: United Kingdom
Posts: 23
Posted: 11:59pm 06 Nov 2024
Copy link to clipboard 
Print this post

Thanks for the Tip :-)

I might have some QB64-Routines leftover from earlier times (and a lot of self written ASM-Routines, but in this case for AVR and 8051), but any time saving is greatly appreciated!
Edited 2024-11-07 10:00 by stef123
 
disco4now

Guru

Joined: 18/12/2014
Location: Australia
Posts: 896
Posted: 08:34am 07 Nov 2024
Copy link to clipboard 
Print this post

@captainboing has some work on the FotS that may be worth looking at.

A simple GUI pack
Latest F4 Latest H7
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024