Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 01:24 10 May 2025 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 V6.00.02 betas

     Page 22 of 23    
Author Message
electricat

Senior Member

Joined: 30/11/2020
Location: Lithuania
Posts: 294
Posted: 03:21pm 07 Mar 2025
Copy link to clipboard 
Print this post

  matherp said  
Have you tried just using ON ERROR SKIP before the DIM statement? In general you shouldn't DIM variables in subroutines precisely because of this issue.


Good point About ON ERROR SKIP!
I`ll look for a way not to DIM vars then.
My MMBasic 'sand box'
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4854
Posted: 04:06pm 07 Mar 2025
Copy link to clipboard 
Print this post

Hi Peter,

This should demo it quite nicely. Use b16 2040 VGA PS2 on platform VGA design 2.

In the zip there is a WAV file, and a MMBasic program (Geoff's original Blocks, without any sound in the program).

Unzip

On commandline type "PLAY WAV "tet16cut.wav"
Let it play for few seconds (or wait until the end, does not matter).
Then type "RUN "Blocks_6.bas".

You get an error message "IF without THEN" on a line that clearly has IF and THEN.
The system is confused from here on. I recover by repowering.

Volhout
blocks_and_wav.zip
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 06:12pm 07 Mar 2025
Copy link to clipboard 
Print this post

Try this

PicoMiteRP2040VGAV6.00.02b16.zip
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4854
Posted: 06:26pm 07 Mar 2025
Copy link to clipboard 
Print this post

Yes, that solves it.
Now I can also play from the filemanager, and direct.

Thanks,

Volhout
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 06:36pm 07 Mar 2025
Copy link to clipboard 
Print this post

In this version I've blocked 126MHz operation completely. This saved me a chunk of memory that was used for the VGA driver for that speed. That was already a driver version without many of the features like layers as there wasn't enough processing speed (not even enough to have any sort of conditional in the same driver)
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4854
Posted: 06:58pm 07 Mar 2025
Copy link to clipboard 
Print this post

I think that is not a big loss. All platforms run 252MHz now (that was a problem in the early days).

Volhout
PicomiteVGA PETSCII ROBOTS
 
dddns
Senior Member

Joined: 20/09/2024
Location: Germany
Posts: 259
Posted: 10:29pm 07 Mar 2025
Copy link to clipboard 
Print this post

PicoMiteRP2040USBV6.00.02b16, no extra options fresh install:

No matter which pin I try, "Print TEMPR(gpXX)" always shows 1000.
This is for a single shot in console or program. If I do that in a continuous loop, I get a value every 622ms. If I do a "tempr start gpXX" the first reading will work after seconds but no further one.

normal wiring and parasitic tested
Edited 2025-03-08 08:33 by dddns
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3309
Posted: 11:06pm 07 Mar 2025
Copy link to clipboard 
Print this post

Check your wiring again. Per the manual, "If there is an error during the measurement the returned value will be 1000."

Or post brief code showing error.
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2415
Posted: 11:18pm 07 Mar 2025
Copy link to clipboard 
Print this post

PicoMiteRP2040VGA6.00.02b16
Yes, something a bit odd with TEMPR. Using 'precision' 3 appears to get it working then it is sort of ok on other 'precisions', but not quite.
> Do :Print TEMPR(gp0), TEMPR(gp1) : pause 2000 :loop
85      1000
85      1000
85      1000

> tempr start gp0 :tempr start gp1
> Do :Print TEMPR(gp0), TEMPR(gp1) : pause 2000 :loop
85      18.25
85      1000
85      1000
85      1000

> Do :tempr start gp0,3 :? TEMPR(gp0), :tempr start gp1,3 :? TEMPR(gp1) :loop
19.25   18.625
19.25   18.625
19.25   18.625
19.25   18.625

> Do :tempr start gp0,0 :? TEMPR(gp0), :tempr start gp1,0 :? TEMPR(gp1) :loop
19.3125         1000
19.3125         1000
19.3125         18.5
19.3125         1000
19.3125         1000
19.3125         18.5

> Do :tempr start gp0 :? TEMPR(gp0), :tempr start gp1 :? TEMPR(gp1) :loop
19.3125         1000
19.3125         18.5
19.3125         1000
19.3125         18.5

> Do :tempr start gp0,3 :? TEMPR(gp0), :tempr start gp1,3 :? TEMPR(gp1) :loop
19.25   18.6875
19.25   18.75
19.25   18.6875
19.25   18.6875
19.25   18.75

The precision requested and the precision delivered don't always match.
> option list
PicoMiteVGA MMBasic RP2350A Edition V6.00.02b16
OPTION SYSTEM I2C GP14,GP15
OPTION FLASH SIZE 4194304
OPTION COLOURCODE ON
OPTION KEYBOARD US
OPTION CPUSPEED (KHz) 378000
OPTION DEFAULT MODE 3
OPTION DISPLAY 60, 133
OPTION SDCARD GP13, GP10, GP11, GP12
OPTION RTC AUTO ENABLE
>
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4854
Posted: 07:11am 08 Mar 2025
Copy link to clipboard 
Print this post

@Peter,

If you look at the 2040 VGA, it feel every byte of ram is used, every cpu cycle tuned to the max. PIO even shares VGA and AUDIO to leave 1 PIO for user. It is tuned to the max. Personally I feel we should freeze the 2040 VGA here, only do bug fixes when discovered, but not try to keep up with the 2350 platforms.
I originally thought this freeze would be at 5.09.00, but you pulled it a lot further. And 6.00.02 is better, especially PIOassembler. But the call has to be made one day.

Volhout

You spend more time repairing/keeping 2040VGA than introducing new features in 2350.
Edited 2025-03-08 17:16 by Volhout
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 08:05am 08 Mar 2025
Copy link to clipboard 
Print this post

  Quote  PicoMiteRP2040USBV6.00.02b16, no extra options fresh install:

No matter which pin I try, "Print TEMPR(gpXX)" always shows 1000.
This is for a single shot in console or program. If I do that in a continuous loop, I get a value every 622ms. If I do a "tempr start gpXX" the first reading will work after seconds but no further one.


This was a problem I fixed when away from home in February. Looks like I've somehow reverted to the unfixed version - will post a new beta once checked and re-fixed

  Quote  Personally I feel we should freeze the 2040 VGA here, only do bug fixes when discovered, but not try to keep up with the 2350 platforms.


You know I'm not going to do that so I don't know why you keep asking
Edited 2025-03-08 18:22 by matherp
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 7499
Posted: 08:43am 08 Mar 2025
Copy link to clipboard 
Print this post

Good. VGA has a huge advantage - I can solder the connector pins without a microscope, HDMI lead and and breakout board to test them. ;)  And my 2040s refuse to die so that they can be replaced by 2350s.
Mick

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

Joined: 20/09/2024
Location: Germany
Posts: 259
Posted: 09:59am 08 Mar 2025
Copy link to clipboard 
Print this post

  matherp said  
This was a problem I fixed when away from home in February. Looks like I've somehow reverted to the unfixed version - will post a new beta once checked and re-fixed

Many thanks!

As well with b16 after a fresh install:

option pico and option heartbeat are not shown in the list but are active.
Never the less they can be turned off and then will be reported.
GP29 is set to AIN. Can be set to off but keeps on being set to AIN after restart.

option "LCDPANEL SSD1963_7, LANDSCAPE,,,GP16,NORESET" is I think incorecctly reported, it should be "LCDPANEL SSD1963_7, LANDSCAPE,,GP16,NORESET"

Upgrade from b15 to b16 didn't work for me as it would not come up..had to clear flash fist
Edited 2025-03-08 20:06 by dddns
 
dddns
Senior Member

Joined: 20/09/2024
Location: Germany
Posts: 259
Posted: 08:12pm 08 Mar 2025
Copy link to clipboard 
Print this post

deleted:
Sorry. reporting was incorrect
Edited 2025-03-09 06:38 by dddns
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 08:44am 09 Mar 2025
Copy link to clipboard 
Print this post

V6.00.02b17 posted

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

Fixes bug in DS18B20/Onewire (I hope)
Tidy up of a couple of items in OPTION LIST

NEW in HDMI/HDMIUSB

OPTION RESOLUTION 800

Now supports 800x600 operations which should be perfect for the 10.1" monitors and any standard 4:3 monitors and improves compatibility with some CMM2 programs.
This trades heap for framebuffer space so heap is reduced from 180KB to 100KB but it allows 800x600x16 colour operation (with mapping to any RGB332 colour) which is the highest colour resolution available.

MODE 1 800x600x1-bit with tiles
MODE 2 400x300x4-bit with layers
MODE 3 800x600x4-bit
MODE 5 400x300x8-bit (RGB332) with layer
Edited 2025-03-09 18:44 by matherp
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2415
Posted: 12:46pm 09 Mar 2025
Copy link to clipboard 
Print this post

  Quote  Fixes bug in DS18B20/Onewire (I hope)
Perhaps it has for some DS18b20s but there appears to be more than one version. For the two I have it is a bit different to what it was but still not quite as per the manual.

One always reads 85 unless "tempr start gp6,2" or "tempr start gp6,3" are used at least once after power up.

The other always reads 1000 unless "tempr start gp6,3" precedes every read.

> option list
PicoMiteVGA MMBasic RP2350A Edition V6.00.02b17
OPTION FLASH SIZE 4194304
OPTION KEYBOARD US
OPTION DISPLAY 55, 128
>

Edit.
Note - Before updating to b17 backup everything. It clears all flash.

Previous .OPT files won't load so save 'option list' first.
Edited 2025-03-09 22:56 by phil99
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 01:16pm 09 Mar 2025
Copy link to clipboard 
Print this post

The change was related to getting parasitic power modes to work. Are you using this or normal power? I can't make it fail with the DS18B20 I own
 
dddns
Senior Member

Joined: 20/09/2024
Location: Germany
Posts: 259
Posted: 04:58pm 09 Mar 2025
Copy link to clipboard 
Print this post

I can confirm that options issue is fixed for me.

The tempr() issue did not change at all for me.
The only thing which works is:
do:tempr start gpXX:pause 500:? tempr(gpXX):loop

Reducing the pause leads to "1000" values.
"? tempr(gpXX)" from console does not work for me at all, neither using parasitic power wired as shown in the manual.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10066
Posted: 05:02pm 09 Mar 2025
Copy link to clipboard 
Print this post

  Quote  The tempr() issue did not change at all for me.


Which version of the software are you using?

I HATE ONEWIRE!!!!

If you are having to wait for 500mSec to get a valid reading your DS18B20 is way out of spec (Chinese knock-off?)



Edited 2025-03-10 03:19 by matherp
 
dddns
Senior Member

Joined: 20/09/2024
Location: Germany
Posts: 259
Posted: 05:34pm 09 Mar 2025
Copy link to clipboard 
Print this post

  matherp said  

Which version of the software are you using?

PicoMiteRP2040USBV6.00.02b17. I won't report on older betas.
I have tested with different clock speeds.
  matherp said  

If you are having to wait for 500mSec to get a valid reading your DS18B20 is way out of spec (Chinese knock-off?)

I was afraid you will say that.. I would buy one from Infineon if I could ;)
Sorry, but I don't have a second one to compare with.
 
     Page 22 of 23    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025