Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 18:47 27 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 : PicoMite/VGA/WEB V5.07.08 release candidates

     Page 7 of 18    
Author Message
carlschneider
Senior Member

Joined: 04/08/2023
Location: South Africa
Posts: 158
Posted: 11:35am 12 Oct 2023
Copy link to clipboard 
Print this post

Hi Peter

Just to add to the stability observations.

Webmite RC5 pre filename expansion launched 10-10-2023 15:56:11, powered through USB from a wall wart, no telnet terminal connection after launch and appeared to be running correctly-heartbeat and LCD display.

I now, 12-10-2023 13:30, tried to access the Webmite through TFTP and TELNET but could not get any response from the WiFi module.

I then reset the Webmite and now have Telnet and TFTP access.

Hope this helps in informing your investigation.
Cheers Carl                                                        
Retirement is tough on Hobbies without a day job
 
carlschneider
Senior Member

Joined: 04/08/2023
Location: South Africa
Posts: 158
Posted: 11:35am 12 Oct 2023
Copy link to clipboard 
Print this post

Hi Peter

Just to add to the stability observations.

Webmite RC5 pre filename expansion launched 10-10-2023 15:56:11, powered through USB from a wall wart, no telnet terminal connection after launch and appeared to be running correctly-heartbeat and LCD display.

I now, 12-10-2023 13:30, tried to access the Webmite through TFTP and TELNET but could not get any response from the WiFi module.

I then reset the Webmite and now have Telnet and TFTP access.

Hope this helps in informing your investigation.
Cheers Carl                                                        
Retirement is tough on Hobbies without a day job
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9123
Posted: 12:21pm 12 Oct 2023
Copy link to clipboard 
Print this post

Carl

I've been running Geoff's watering controller now for many days without any issues.
There is something in your code or environment that is triggering the issues you are seeing, Unfortunately there is no way I can diagnose what this might be remotely so there is little I can do until you can pinpoint what triggers the program to stop.
Sorry, I can't be more helpful but I have no way of knowing what might be the issue. I'm pretty sure I have eliminated all memory leaks but who knows?
 
carlschneider
Senior Member

Joined: 04/08/2023
Location: South Africa
Posts: 158
Posted: 12:30pm 12 Oct 2023
Copy link to clipboard 
Print this post

Thanks for the feedback Peter. I’ll try segmenting the code and see what happens.
Cheers Carl                                                        
Retirement is tough on Hobbies without a day job
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9123
Posted: 06:19pm 12 Oct 2023
Copy link to clipboard 
Print this post

V5.07.08RC7

https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip

This minor update has a number of optimisations of FRAMEBUFFER BLIT for the PicoMite and WebMite
If you are using it to move data from a framebuffer to the display AND the x-coordinate of the data in the framebuffer is even you will see a big reduction in the time taken. The reduction will be even greater if you blit a number of complete lines

So (ILI9341 SPI):
VERY FAST 0.8uSec/pixel
timer=0:framebuffer blit f,n,0,100,0,120,MM.HRES,100:?timer

FAST 1.1uSec/pixel
timer=0:framebuffer blit f,n,100,100,121,120,100,100:?timer

BEFORE 2.4uSec/pixel

UPDATE

Now all BLITs from framebuffer (or layer) to a screen are optimized. Download updated 7:00 UTC 13/10/23


Also, I must be feeling very co-operative today - DONE

  Quote  Perhaps I can point you at my changes to make error reporting on the LCD more friendly and obviate the need for my Game*Mite specific firmware:

https://github.com/thwill1000/picomite-firmware/blob/gamemite/PicoMite/Commands.c
  void cmd_error() returned to an earlier, simpler form.

https://github.com/thwill1000/picomite-firmware/blob/gamemite/PicoMite/MMBasic.c
  void error(char* msg, ...) refactored to call ...

https://github.com/thwill1000/picomite-firmware/blob/gamemite/PicoMite/gamemite.c
  void gamemite_error(int line_num, const char *line_txt, const char* error_msg) format and write error to LCD.

Edited 2023-10-13 17:10 by matherp
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4043
Posted: 09:34am 13 Oct 2023
Copy link to clipboard 
Print this post

  matherp said  Also, I must be feeling very co-operative today - DONE


Many thanks Peter, that's one fewer balls I have to keep in the air for the Game*Mite.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9123
Posted: 03:56pm 13 Oct 2023
Copy link to clipboard 
Print this post

V5.07.08RC8

https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip

This version adds new drawing functionality for the PicoMite and WebMite

BLIT MEMORY and BLIT COMPRESSED can now BLIT to the LCD direct however in this case a transparent colour can not be specified.

FRAMEBUFFER MERGE tries to emulate a bit of how the layer buffer works in the VGA version. It copies any non-black pixels in the layer buffer to the screen

In addition I've rationalized the way tokens are assigned to commands so library files should now be completely interchangeable between versions

e.g.
FRAMEBUFFER layer
FRAMEBUFFER write l
For i=5 To MM.HRes-5 Step 10
Line i,0,i,MM.VRes-1
Next i
For i=5 To MM.VRes-5 Step 10
Line 0,i,MM.HRes-1,i
Next i
FRAMEBUFFER write n
CLS RGB(red)
FRAMEBUFFER merge

Edited 2023-10-14 18:21 by matherp
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9123
Posted: 08:51am 14 Oct 2023
Copy link to clipboard 
Print this post

I've just updated RC8 with one final tweak (8:50UTC 14/11/23)

BACKLIGHT level [,DEFAULT]

if DEFAULT is specified then the firmware will automatically set the backlight to that level on power-up. This is intended for battery operation where reducing the backlight level can significantly increase battery life

Hopefully that completes 5.07.08 and I'll now work with Geoff to get the manuals updated ahead of an official release
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3150
Posted: 11:35am 14 Oct 2023
Copy link to clipboard 
Print this post

  matherp said  BLIT MEMORY, BLIT COMPRESSED, FRAMEBUFFER MERGE


What have I missed here? "[LIBRARY] SYNC" and "Error : sync not initialised"

> update firmware
PicoMite MMBasic Version 5.07.08RC8
Copyright 2011-2023 Geoff Graham
Copyright 2016-2023 Peter Mather

> AUTOSAVE
FRAMEBUFFER layer
FRAMEBUFFER write l
For i=5 To MM.HRes-5 Step 10
Line i,0,i,MM.VRes-1
Next i
For i=5 To MM.VRes-5 Step 10
Line 0,i,MM.HRes-1,i
Next i
FRAMEBUFFER write n
CLS RGB(red)
FRAMEBUFFER merge
Saved 137 bytes
> save "framebuffermerge.bas"
> run
[LIBRARY] SYNC
Error : sync not initialised
> list
FRAMEBUFFER layer
FRAMEBUFFER write l
For i=5 To MM.HRes-5 Step 10
Line i,0,i,MM.VRes-1
Next i
For i=5 To MM.VRes-5 Step 10
Line 0,i,MM.HRes-1,i
Next i
FRAMEBUFFER write n
CLS RGB(red)
FRAMEBUFFER merge
>


Note: those two error message lines appeared on the LCD as well as in TeraTerm

~
Edited 2023-10-14 21:39 by lizby
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9123
Posted: 01:14pm 14 Oct 2023
Copy link to clipboard 
Print this post

You need to re-create the library - the tokens have changed. However, with the recent changes I made they shouldn't need to change again
Edited 2023-10-14 23:26 by matherp
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4043
Posted: 01:50pm 14 Oct 2023
Copy link to clipboard 
Print this post

  lizby said  Note: those two error message lines appeared on the LCD as well as in TeraTerm


That was the change that Peter kindly incorporated from what I'd done for the Game*Mite.
All uncaught ERRORs should now always get displayed on the LCD as well as on the console.

Best wishes,

Tom
Edited 2023-10-14 23:52 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3150
Posted: 01:32pm 15 Oct 2023
Copy link to clipboard 
Print this post

  lizby said  
  matherp said  BLIT MEMORY, BLIT COMPRESSED, FRAMEBUFFER MERGE


What have I missed here? "[LIBRARY] SYNC" and "Error : sync not initialised"

  matherp said  You need to re-create the library - the tokens have changed. However, with the recent changes I made they shouldn't need to change again


OK, this worked with latest RC8 (pet_lib.bin unchanged, just reloaded after LIBRARY DELETE)--white grid on red background:
PicoMite MMBasic Version 5.07.08RC8
Copyright 2011-2023 Geoff Graham
Copyright 2016-2023 Peter Mather

> files
A:/
  <DIR>  .
  <DIR>  ..
00:00 01-01-2000          4  bootcount
00:01 01-01-2000        214  framebuffermerge.bas
08:06 04-10-2023     102400  pet_lib.bin
00:06 01-01-2000      11533  qbertvp.bas
00:00 01-01-2000      15488  qbertvp2.bas
00:01 01-01-2000        141  scrollx.bas
00:01 01-01-2000          0  spr_index.txt
2 directories, 6 files, 684032 bytes free
> library delete
> library disk load "pet_lib.bin"
> a:
> load "framebuffermerge.bas"
> run
>

PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
aFox
Regular Member

Joined: 28/02/2023
Location: Germany
Posts: 76
Posted: 08:41pm 15 Oct 2023
Copy link to clipboard 
Print this post

  matherp said  I've just updated RC8 with one final tweak (8:50UTC 14/11/23)

BACKLIGHT level [,DEFAULT]

if DEFAULT is specified then the firmware will automatically set the backlight to that level on power-up. This is intended for battery operation where reducing the backlight level can significantly increase battery life

Hopefully that completes 5.07.08 and I'll now work with Geoff to get the manuals updated ahead of an official release


Power Supply

The Raspberry Pi Pico W has a flexible power system.  
THE QUESTION IS: Only the Pi Pico W. The the Pi Pico is not flexible?

I THINK: The description is a bit to complex for micro controller beginners.

The input voltage from either the USB or VBUS inputs is connected through a Schottky diode to the buck-boost SMPS (Switch Mode Power Supply) which has an output of 3.3V. The SMPS will accommodate input voltages from 1.8V to 5.5V allowing the WebMite to run from a wide range of power sources including batteries. External circuitry can be powered by VBUS (normally 5V) or by the 3V3 (3.3V) output which can source up to 300mA. For embedded controller applications generally an external power source (other than USB) is required and this can be connected to VSYS via a Schottky diode. This will allow the WebMite to be powered by whichever supply is producing the highest voltage (USB or VSYS). The diodes will prevent feedback into the lower voltage supply. To minimize power supply noise it is possible to ground 3V3EN to turn off the SMPS. When shutdown the converter will stop switching, internal control circuitry will be turned off and the load disconnected. You can then power the board via a 3.3V linear regulator feeding into the 3V3 pin.

I SUGGEST: Explaining by use case drawings.
Power via
1. USB connector.
2. Battery 1.8V to 5.5V
3. Battery 1.8V to 5.5V and charging module
4. 5V power supply (linear regulator)
5. Noisy 5V power supply
6. 3.3V power supply (linear regulator)
7. Noisy 3.3V power supply

Which  Schottky diode?

Gregor
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6100
Posted: 08:58pm 15 Oct 2023
Copy link to clipboard 
Print this post

  aFox said  
Power Supply

The Raspberry Pi Pico W has a flexible power system.  
THE QUESTION IS: Only the Pi Pico W. The the Pi Pico is not flexible?

The picomite manual has exactly the same description so, no, not only the Pico W

Any diode would do on the input to Vsys. A Schottky is recommended for battery operation due to the lower voltage drop. As long as the diode can handle the current, you can choose any.

Jim
VK7JH
MMedit   MMBasic Help
 
aFox
Regular Member

Joined: 28/02/2023
Location: Germany
Posts: 76
Posted: 09:39pm 15 Oct 2023
Copy link to clipboard 
Print this post

  TassyJim said  
  aFox said  
Power Supply

The Raspberry Pi Pico W has a flexible power system.  
THE QUESTION IS: Only the Pi Pico W. The the Pi Pico is not flexible?

The picomite manual has exactly the same description so, no, not only the Pico W

Any diode would do on the input to Vsys. A Schottky is recommended for battery operation due to the lower voltage drop. As long as the diode can handle the current, you can choose any.

Jim


I mean “Which Schottky diode type?”

A drawing tells more than many words.

Gregor
Edited 2023-10-16 07:39 by aFox
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9123
Posted: 09:45pm 15 Oct 2023
Copy link to clipboard 
Print this post

The MMBasic manuals do not intend to teach electronics or supersede the Pico documentation from Raspberry Pi
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 10:05pm 15 Oct 2023
Copy link to clipboard 
Print this post

The Raspberry Pi Pico Datasheet (from Raspberry Pi) explains the various options for the power supply. It also suggests a suitable Schottky diode, but it is a SMD part with no through-hole equivalent. Anything that will handle a few hundred mA at 10V or so will do. 1N5817, 1N5818 and 1N5819 are typical. The lower Vf the better.
Mick

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

Joined: 28/02/2023
Location: Germany
Posts: 76
Posted: 11:32pm 15 Oct 2023
Copy link to clipboard 
Print this post

In my opinion the Manual is one of the best I ever seen.
But a German saying: "The better is the enemy of the good!"

„BASIC“ stands for „Beginners' All-purpose Symbolic Instruction Code“

My suggestion points to micro controller beginners.

Why should beginners gather the necessary information?

Why should not BASIC be an alternative to Python at school?

The Pico is cheap and programable via USB by an Android device.

And not within all countries over the world you have PCs or notebooks for education.

Keep in mind that a Pico production line is also located in Kenia.

Let is make it a little easier for beginners.

Gregor
Edited 2023-10-16 09:41 by aFox
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 08:20am 16 Oct 2023
Copy link to clipboard 
Print this post

BASIC *used it be* a crude tool used to teach beginners the rudimentary steps in programming. It was never intended to be anything else. What we have now is only distantly related to the original BASIC and actually has a programming style more in common with Pascal, C and Python, although it is still an interpreter rather than a compiler. It's unfortunate that the name BASIC is still used as the original acronym doesn't really apply now.

The fact that MMBasic *is* an interpreter is one of it's strongest points. It has an immediacy,  especially when using the built-in editor, that you simply can't get with a compiler system. It gives a very fast work flow.

If you want to see what the original BASIC was, look at the various implementations of Tiny BASIC, which is far closer, although it is very limited.
Mick

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

Joined: 18/11/2011
Location: United Kingdom
Posts: 3802
Posted: 08:53am 16 Oct 2023
Copy link to clipboard 
Print this post

  aFox said  Let is make it a little easier for beginners.

Gregor

The manual is quite big & fairly comprehensive but if you think it should have more things for beginners I suggest it should be a companion (extra) manual - and someone (probably you) needs to volunteer to write it.

Due to intricacies of hardware, sooner or later it's reasonable to expect that a user will have to refer to the underlying RPi Pico documentation, of course, and probably the net (etc) to understand the many many technical terms involved.

John
 
     Page 7 of 18    
Print this page
© JAQ Software 2024