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 KingdomPosts: 23 |
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 KingdomPosts: 6761 |
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 KingdomPosts: 23 |
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 KingdomPosts: 6761 |
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: AustraliaPosts: 2129 |
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 KingdomPosts: 23 |
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 KingdomPosts: 6761 |
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 KingdomPosts: 23 |
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 KingdomPosts: 6761 |
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 KingdomPosts: 23 |
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: AustraliaPosts: 2129 |
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 KingdomPosts: 23 |
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: AustraliaPosts: 896 |
@captainboing has some work on the FotS that may be worth looking at. A simple GUI pack Latest F4 Latest H7 |
||||
Print this page |