Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 14:18 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 : PicoMite V6.00.00 release candidates - all versions

     Page 20 of 24    
Author Message
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6778
Posted: 08:24pm 09 Nov 2024
Copy link to clipboard 
Print this post

Simples - you can't surface mount a board with chips on the bottom. :)

Also, it becomes expensive to make the boards if you put components top and bottom. The soldering process is difficult.
Mick

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

Senior Member

Joined: 01/10/2023
Location: Ukraine
Posts: 206
Posted: 08:40pm 09 Nov 2024
Copy link to clipboard 
Print this post

  Mixtel90 said  Simples - you can't surface mount a board with chips on the bottom. :)

But Pico2 has pads for USB and other things at the bottom. It's just outrageous that they put such an option to work with an external PRAM into the RP2350 chip and didn't give space (at least at the bottom) so that users could try to use it.
 
Mixtel90

Guru

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

Just because the initial modules don't have PSRAM it doesn't mean that later ones won't. :)
Also, it's not PSRAM specific. It's a QMI bus interface. It could potentially be used for other purposes. It's just that PSRAM is a cheap and convenient (if slow) thing to try it with.

The TP pads are not intended for general use. I like to abuse such things. :)
Edited 2024-11-10 07:14 by Mixtel90
Mick

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

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6097
Posted: 09:32pm 09 Nov 2024
Copy link to clipboard 
Print this post

If you want to play with PSRAM, try the Pimoroni PGA2350
PicoMiteHDMI MMBasic RP2350B Edition V6.00.00RC15
Copyright 2011-2024 Geoff Graham
Copyright 2016-2024 Peter Mather

> OPTION PSRAM PIN GP47

08:23:07 Port: COM4 removed
Disconnected
08:23:08 Port: COM4 inserted
Connected to COM4 at 115200

Total of 8 Mbytes PSRAM available
> OPTION LIST
PicoMiteHDMI MMBasic Version 6.00.00RC15
OPTION FLASH SIZE 16777216
OPTION KEYBOARD US
OPTION PICO OFF
OPTION CPUSPEED (KHz) 315000
OPTION PSRAM PIN GP47
>


Jim
VK7JH
MMedit   MMBasic Help
 
Mixtel90

Guru

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

The problem is that there haven't been any boards with PSRAM on them that can run HDMI. We don't even know if it's possible, as the boards that have PSRAM meet the Pico 2 specification. HDMI output doesn't.
Mick

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

Joined: 11/12/2012
Location: United Kingdom
Posts: 9105
Posted: 07:43am 10 Nov 2024
Copy link to clipboard 
Print this post

HDMI runs fine on the PGA2350 at 640x480. It just won't do the higher resolutions
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6778
Posted: 07:54am 10 Nov 2024
Copy link to clipboard 
Print this post

Ah, thanks Peter.

I see Pimorini still haven't got any anyway, although they are showing stock of the Pico Plus 2 now.
Mick

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

Joined: 07/07/2018
Location: Australia
Posts: 228
Posted: 08:58pm 10 Nov 2024
Copy link to clipboard 
Print this post

I just uploaded MMbasic 6.00.00RC15 to try it out, but seem to have found a bug...
This code :
const True = 1
const False = 0
const MaxChannels = 4

dim integer ChNum
dim integer Ch(MaxChannels) = (24, 25, 26, 27)

? "Initialising..."
for ChNum = 1 to MaxChannels
 SetPin Ch(ChNum), DOUT
 pin(Ch(ChNum)) = True  <--- Setting to FALSE will change state to ON for the 1st main loop
next ChNum
? "Initialised..."
pause 1500

do
 for ChNum = 1 to MaxChannels
   pause 500
   ChangeChannelState
 next ChNum
 pause 1000
loop

sub ChangeChannelState
 select case pin(Ch(ChNum)) <--- Always returns FALSE
   case True
     ? ChNum;
     ? " = True"
     pin(Ch(ChNum)) = False
   case False
     ? ChNum;
     ? " = False"
     pin(Ch(ChNum)) = True
 end select
end sub


... always returns FALSE when reading the state of the output pins, so is never able to change state to OFF when it is currently ON

Common to WebMite and PicoMite - that's all I have to test on
The code works as expected on Ver 6.00.00b5 of both variants
John
 
phil99

Guru

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

Yes, something has changed.
PicoMiteVGA MMBasic Version 5.09.00RC5 'RP2040
> setpin 1,dout
> pin(1)=1
> ? pin(1)
1
> pin(1)=0
> ? pin(1)
0
>
PicoMite MMBasic Version 6.00.00RC15 'RP2040
> setpin 1,dout
> pin(1)=1
> ? pin(1)
0
> ? pin(1)
0
> pin(1)=0
> ? pin(1)
0
> setpin 1,off
> setpin 1,din,pullup
> ? pin(1)
1
> setpin 1,dout
> ? pin(1)
0
> pin(1)=1
> ? pin(1)
0
>
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9105
Posted: 10:11pm 10 Nov 2024
Copy link to clipboard 
Print this post

The pin function no longer reads the state of a pin set as an output. This is needed to circumvent the RP2350 E9 bug. You will need to track the output state of a pin in software
 
Malibu
Senior Member

Joined: 07/07/2018
Location: Australia
Posts: 228
Posted: 10:27pm 10 Nov 2024
Copy link to clipboard 
Print this post

No worries, thanks Peter...  
John
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9105
Posted: 09:35am 11 Nov 2024
Copy link to clipboard 
Print this post

UPDATE

When a pin is set for output I can return the state of the output register rather than the input - should fix this. Will include in the release
 
pwillard
Senior Member

Joined: 07/06/2022
Location: United States
Posts: 292
Posted: 01:36pm 11 Nov 2024
Copy link to clipboard 
Print this post

Isn't the E9 issue only with input mode?
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6097
Posted: 11:50pm 15 Nov 2024
Copy link to clipboard 
Print this post

PicoMite MMBasic Version 6.00.00RC15
RP2040 standard with LCD

DHT22 worked OK with RC9 but returns 1000 with RC15

Tried various CPU speeds from 133MHz to 300MHz
VK7JH
MMedit   MMBasic Help
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2135
Posted: 01:11am 16 Nov 2024
Copy link to clipboard 
Print this post

DS18B20 DS18B20  DS3231      AHT10                   DHT11      DHT11 reading method
18.3    17.1    16.25   16.5C   37.5%           16.8C   44%    Device HUMID,0 + extra wake pulse for DHT11
18.2    17.2    16.25   16.5C   37.5%           16.9C   44%    PulsIn in  For...Next
> option list
PicoMiteVGA MMBasic Version 6.00.00RC15 RP2350

using the DHT22 command to read a DHT11 to get tenths of °C:-
 Humid GP0, T, H

BitBang and Device no longer required, but still works if used.

Just tested a RP2040
> humid GP0, T,H,1
> ? t, h
17      44
> option list
PicoMite MMBasic Version 6.00.00RC15
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6097
Posted: 01:32am 16 Nov 2024
Copy link to clipboard 
Print this post

My device is DHT22 and I also tried the DHT11 option with no success.
VK7JH
MMedit   MMBasic Help
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2135
Posted: 02:24am 16 Nov 2024
Copy link to clipboard 
Print this post

Tried various CPU speeds, 126MHz and up. Works at all of them.

This is how I use the DHT22 option to read a DHT11
Setpin GP1, Dout
Pin(GP1) = 1

Do
 Pulse GP1, 20  'provide an extended low "wake" pulse via diode for DHT11
 Pause 18.9 'overlap the 1mS DHT22 "wake" pulse
 Humid GP0, T, H, 0 'start DHT22 command
 Print t, h,,,
    H = H*10 >> 8   ' convert data format from DHT22 to DHT11
    T = (T*10 >> 8) + (T*10 And 255) / 10 ' and add tenths of degrees
 Print t, h
 Pause 30000
Loop
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6097
Posted: 04:47am 16 Nov 2024
Copy link to clipboard 
Print this post

More on the DHT22
I compared the timing between RC9 and RC15. I cannot see any difference.
When I attached the CRO leads, I was able to get valid readings some of the time.
Looking at the trace, the ripple at 3.3V is visible on RC15 but not there with RC9


 
I have tried shorter leads and capacitors on the data line and it worked, some of the time.
VK7JH
MMedit   MMBasic Help
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2135
Posted: 07:30am 16 Nov 2024
Copy link to clipboard 
Print this post

Mine is at the end of about 1m of alarm cable that also has I2C for the AHT10 and DS3231 so there is a fair bit of noise on the DHT line but it doesn't seem to matter.

Check the length of the "Wake" pulse. I measure 1mS which is right on the minimum required for a DHT22. For a DHT11 the minimum is 18mS so I use 20mS for maximum reliability.

You could experiment with the method in the code I last posted to try a 1.5 to 2mS pulse.
Setpin GP1, Dout 'diode anode to GP0, cathode to GP1
Pin(GP1) = 1

Do
 Pulse GP1, 2  'provide an extended low "wake" pulse to DHT via diode
 Pause 0.9 'overlap the 1mS DHT22 "wake" pulse + time to start HUMID
 Humid GP0, T, H, 0 'start DHT22 command
 Print t, h
 pause 10000
loop

The 'Pause 0.9' will probably need adjusting to ensure the end of the extra pulse occurs during the one from HUMID.
Edited 2024-11-16 17:37 by phil99
 
karlelch

Senior Member

Joined: 30/10/2014
Location: Germany
Posts: 172
Posted: 04:47pm 16 Nov 2024
Copy link to clipboard 
Print this post

Hi,

I have a question regarding the PS2 keyboard in the HDMI/USB 2350 version. I was playing with the Solder Party RP2350 Stamp with carrier board (see also this thread and "PicoMiteHDMIUSBV6.00.00RC15" works out-of-the-box with HDMI monitor and USB keyboard.

The problem is, to activate the SD card, GP9 is required on the carrier board:
OPTION SDCARD GP9,GP10,GP11,GP8

and (as described by Sasquatch) works for the HDMI only version ("PicoMiteHDMIV6.00.00RC15")

However, the "PicoMiteHDMIUSBV6.00.00RC15" firmware complains that "Pin 12/GP9 is reserverd on startup" - used by the PS2 keyboard, which is not needed when using a USB keyboard - or am I wrong here?

OPTION KEYBOARD DISABLE
generates an error ("Error : Syntax") in the HDMI/USB firmware, but not so in the HDMI firmware.

Shouldn't it be possible to disable the PS2 keyboard also in the USB version?
What am I missing?




Thanks
Thomas
 
     Page 20 of 24    
Print this page
© JAQ Software 2024