Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 01:13 16 May 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/PicoMiteVGA V5.07.04 betas

     Page 2 of 7    
Author Message
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3677
Posted: 11:31am 07 Feb 2022
Copy link to clipboard 
Print this post

  robert.rozee said  if (as seems the only alternative) the value is being picked up somewhere outside of the MMbasic source tree, then this is just plain wrong.

Usually, not wrong.

  robert.rozee said  we are cross-compiling here, and PATH_MAX is in this scenario a constant specific to the target, not the host.

Ah, now THAT is right.

When cross-compiling, gcc knows to use the target's info (include & library files, word size, endianness etc).

John
Edited 2022-02-07 21:48 by JohnS
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2294
Posted: 11:47am 07 Feb 2022
Copy link to clipboard 
Print this post

  JohnS said  
  robert.rozee said  if (as seems the only alternative) the value is being picked up somewhere outside of the MMbasic source tree, then this is just plain wrong.

Usually, not wrong [...]
John


  yep, i should have probably said "outside the MMbasic source tree or compiler's target libraries". having PATH_MAX defined in the pico SDK, for instance, would be fine - though it being specific to file I/O (and the SDK presumably not covering file I/O) this is less likely.


peter: in FileIO.c, lines 1698-1699 read:

   Option.DefaultFont = 0x01;
   Option.DefaultBrightness = 100;

while lines 1711 and 1722 read:

   Option.DefaultFont = 0x01;
[...]
   Option.DefaultBrightness=100;


this seems to be duplication. while only a few bytes, we all know the old saying...


cheers,
rob   :-)
Edited 2022-02-07 21:48 by robert.rozee
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3677
Posted: 11:53am 07 Feb 2022
Copy link to clipboard 
Print this post

hmm, all the above being said...

Turns out when I built the (at the time released) code I didn't have a PATH_MAX issue...  (drum roll) because the picomite source didn't use PATH_MAX.

Grrr....

John
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2294
Posted: 12:02pm 07 Feb 2022
Copy link to clipboard 
Print this post

it wasn't used in the 5.07.01 source code, but does appear in the current 5.07.04b1 source. i don't know when exactly in between it first appeared.


cheers,
rob   :-)
Edited 2022-02-07 22:02 by robert.rozee
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3677
Posted: 12:30pm 07 Feb 2022
Copy link to clipboard 
Print this post

So I just got the current source.

It does use PATH_MAX.

It built OK.

Odd!!  Now to figure out how!

edit: it's found 1024 for PATH_MAX.

John
Edited 2022-02-07 22:46 by JohnS
 
atmega8

Guru

Joined: 19/11/2013
Location: Germany
Posts: 712
Posted: 02:01pm 07 Feb 2022
Copy link to clipboard 
Print this post

Hello one Question please,

the User Manual on Page 150 says following.

"With the circuit as drawn use a link between pins 1 and 2 of the header for colour operation and between pins 2 and 3 for full brightness monochrome. The header can be omitted and GP19 connected direct in which casecolour mode will work normally but the brightness in monochrome mode will be somewhat lower."


Pin GP 19 can be connected direct, ok but connected to what??


Thank you.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5762
Posted: 02:47pm 07 Feb 2022
Copy link to clipboard 
Print this post

Pin 2 of the header. In other words, hard wire it in colour mode. It's not too obvious, is it? I found out what I think it meant when I redrew the circuit of that bit. :)
Edited 2022-02-08 00:54 by Mixtel90
Mick

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

Joined: 18/11/2011
Location: United Kingdom
Posts: 3677
Posted: 02:48pm 07 Feb 2022
Copy link to clipboard 
Print this post

Looks like PATH_MAX is 1024 in

include/sys/syslimits.h

(for gcc arm-none-eabi)

So, seems to me that the picomite source compiles OK (as the earlier version also did).

(And gets PATH_MAX from a sane place.)

@led-bloon I think you've got a setting or path or some such wrong.

John
Edited 2022-02-08 05:57 by JohnS
 
KD5ZXG
Regular Member

Joined: 21/01/2022
Location: United States
Posts: 53
Posted: 08:26pm 07 Feb 2022
Copy link to clipboard 
Print this post

I am trying v5.07.04b1 (non VGA) with the Waveshare PICO-ResTouch-LCD-3.5
LCDPANEL and TOUCH work fine, but I've had no luck with FILES from SD.
Have not yet tried with prior versions, so could be a defective panel.

Microcenter 32GB, FAT32, default block size, grain.bas already there.
My PC gave no trouble formatting/writing/reading with a generic reader.

OPTION SYSTEM SPI GP10,GP11,GP12
OPTION SDCARD GP22
OPTION LCDPANEL ILI9488W,L,GP8,GP15,GP9,GP13
OPTION TOUCH GP16,GP17
I tried this first, but FILES finds no SD card.

OPTION SYSTEM SPI GP10,GP11,GP12
OPTION SDCARD GP22,GP5,GP18,GP19
OPTION LCDPANEL ILI9488W,L,GP8,GP15,GP9,GP13
OPTION TOUCH GP16,GP17
As suggested by @flasherror, but also not working.
This pinout may assume shunts in position B, SDIO?
Though mine were factory soldered in position A, SPI.

Socket feels good, clicks in and out properly. Oriented pads toward board.
I haven't yet buzzed from Pico to SD to confirm how pins actually route.
PC still reads/writes this card fine, so Waveshare hasn't burned it out.
Windows puts one hidden system folder, that's not the problem is it???
I read that folder can be scrubbed from a CMD prompt if necessary.

Is there a way to reset or update SD options, without resetting all options?

Thanks,
Ken KD5ZXG
Edited 2022-02-08 06:47 by KD5ZXG
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5762
Posted: 08:45pm 07 Feb 2022
Copy link to clipboard 
Print this post

try
OPTION SDCARD DISABLE
and, if necessary,
OPTION SYSTEM SPI DISABLE

Also, I bought 2 microSD cards a while ago and couldn't get them to work (with an adapter) in the socket on the ILI9341 display. That has series resistors on the data lines, which is not a good thing with some cards.
Mick

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

Joined: 21/01/2022
Location: United States
Posts: 53
Posted: 08:55pm 07 Feb 2022
Copy link to clipboard 
Print this post

I'll try again later with breadboard, DIY socket, no resistor.
Meanwhile, I'll measure the Waveshare series resistance.
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 1812
Posted: 10:08pm 07 Feb 2022
Copy link to clipboard 
Print this post

"LCDPANEL ILI9488"
To allow use of Touch and SD cards that panel requires MISO to be disconnected, sacrificing Blit, Pixel(x,y) and Save Image or a 680R in series with MISO for full operation. With the latter there is a 2mA load imposed on reading Touch and SD cards, so that might be the problem. To find out disconnect MISO from the LCD.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8601
Posted: 10:35pm 07 Feb 2022
Copy link to clipboard 
Print this post

 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 1812
Posted: 06:00am 08 Feb 2022
Copy link to clipboard 
Print this post

A query about VGA colours,
manual P 149

"The firmware provides named colours that can be used for all 16 possible output states and these represent the
actual colours if wired RGB121.
RGB(WHITE) = RGB(255, 255, 255) = &B1111
RGB(YELLOW) = RGB(255, 255, 0) = &B1110
................."

The &B values represent the output pin states and the manual seems to suggest they can be used as substitutes for the RGB() values. Am I misunderstanding the manual or is that an intended function that hasn't been implemented?


A colour test pattern for the VGA Pico.

'Generate Colour bars. RGB(1,2,1)
Dim integer i, R=0, G=0, B=1
Print "Red","Green","Blue","Pixel read back" : Print
For i=1 To 301 Step 20
 If i > 155 Then : R=255 : Else : R=0 : EndIf
 B=(Not B)*255
 Select Case (i Mod 160)
  Case 1 : G=0
  Case 41 : G=64
  Case 81 : G=128
  Case 121 : G=255
 End Select
 Box i,1,20,240,1,RGB(R,G,B),RGB(R,G,B)
 Print Hex$(r,2),Hex$(g,2),Hex$(b,2),Hex$(Pixel(i+10,10),6),,,r,g,b
Next
Edited 2022-02-08 16:10 by phil99
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8601
Posted: 10:32am 08 Feb 2022
Copy link to clipboard 
Print this post

PicoMite/PicoMiteVGA V5.07.04b2

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

Forces an option reset and clear flash if swapping between PicoMite and PicoMiteVGA

NB: loading this version will clear flash and all options so backup as required before loading

  Quote  Am I misunderstanding the manual


Yes: the binary values are just there to allow a user to set up a different colour space using the defined colours
Edited 2022-02-08 22:33 by matherp
 
KD5ZXG
Regular Member

Joined: 21/01/2022
Location: United States
Posts: 53
Posted: 04:32pm 08 Feb 2022
Copy link to clipboard 
Print this post

Continuity between PICO and MicroSD on Waveshare Pico-ResTouch-LCD-3.5 with shunts in factory default [A SPI] position measures consistent with OPTION SYSTEM SPI GP10,GP11,GP12 and OPTION SDCARD GP22. I find no diode forcing LCD chip select high ILI9488 Diode Problem , so the MISO conflict probably doesn't apply.

And though this takes me full circle back to my original settings, FILES now works?!? I don't know why or what fixed it. Still on b1, not yet tried b2. Flash had been cleared and options reset before without resolving anything. The only thing I did different this time maybe was OPTION SDCARD DISABLE (not in the manual) instead of OPTION RESET before OPTION SDCARD GP22. Can't say for sure that step was relevant, but SD works.

If MISO and BLIT are there, what problem disallows use as console? I have not disconnected MISO. I see legible text displayed during touch calibration. I've been able to send some of my own text now too. If this were a console, there would be no human problem reading BASIC code from it.

From the PicoMITE 5.07.03rev#3 manual "Option LCDPANEL CONSOLE can be used with SPI displays that support BLIT (ILI9341, ST7789_320, ILI9841 if MISO wired) but scrolling of text on the screen will be slow." "BLIT and BLIT READ will only work on displays capable of transparent text (i.e. using the SSD1963, ILI9341, ST7789_320, or ILI9488 with MISO connected)." Quoted sections do not seem to agree which panels support BLIT read. I assume this feature would be required for the scrolling console?

Testing if my ILI9488W's BLIT can or cannot scroll, BLIT complains "Error: Invalid on this display" and doesn't even appear to try. Is that because ILI9488 <> ILI9488W, or MISO is disconnected somewhere I haven't traced yet, or something else entirely?

Experimental misconfiguration as ILI9841 (not my display) produces a Syntax Error when tried. By that logic ILI9481 (also not my display) should also fail, but is strangely is accepted syntax. I suspect 9841 may be transposed in the manual.
Edited 2022-02-09 06:00 by KD5ZXG
 
Bleep
Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 414
Posted: 06:17pm 11 Feb 2022
Copy link to clipboard 
Print this post

Hi Peter,
The 3.5" Raspberry Pi touch screen that I mentioned a few weeks ago unfortunately does not work with the ILI9481 or ILI9488 drivers on the PicoMite. I've tested the display on a Pi and it works in X, but when I try driving it with Python full screen, I can get the graphics all going, but not the touch screen, whatever I try.
Can I be really cheeky and ask if you could have a look and see if a PicoMite driver might be possible, this display seems to be very widely available, just try searching for "Raspberry Pi 3.5 touch screen" and reasonably cheap.
I think I have tracked the Pi driver down to here:-
https://github.com/goodtft/LCD-show/tree/master/usr/fbcp-ili9341 the ili9486.cpp
on the Pi it seems to use an overlay called tft35a-overlay.dtb and the touch driver seems to be a 7846 or clone the chip is XPT2046. The install script for Pi seems to be LCD35-show.
I would be happy to lend you the display if that would help you.
Other useful links:-
http://www.lcdwiki.com/3.5inch_RPi_Display
https://www.waveshare.com/product/3.5inch-RPi-LCD-A.htm
https://futurice.com/blog/id-like-to-have-some-lcd-on-my-pi
Thanks & Regards, Kevin
 
led-bloon

Senior Member

Joined: 21/12/2014
Location: Australia
Posts: 204
Posted: 08:40pm 11 Feb 2022
Copy link to clipboard 
Print this post

Kevin
I have the Waveshare 4" LCD working with PicroMite (Linux version of MMBasic)
on a RaspberryPi Zero.
The settings are:
OPTION LCDPANEL ILI9481,L,18,22,24
OPTION TOUCH 26,11
Do these Raspberry Pi Pin settings align with your cross-over Pico pin
settings in any way?
led
Edited 2022-02-12 06:44 by led-bloon
Miss you George
 
Bleep
Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 414
Posted: 06:26pm 12 Feb 2022
Copy link to clipboard 
Print this post

Hi Led,
I would suspect that the 9481 driver on the Pi, would be the same as the 9481 drivr on the Pico, so still unlikely to work, though I see that the spec for the 4" also mentions the ILI9486, the same as the 3.5", so I will try wiring it up & see if I get anywhere, I'll also try again on the Pico, to be sure I hadn't wired it up wrong, despite treble checking. :-(
Thanks, Kevin.
PS where should I get the latest PicroMite?
Edited 2022-02-13 04:58 by Bleep
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8601
Posted: 07:11pm 12 Feb 2022
Copy link to clipboard 
Print this post

Just tested this display on the PicoMite and it works perfectly. See this post for correct connection details

My test options
OPTION SYSTEM SPI GP10,GP11,GP12
OPTION LCDPANEL ILI9481, LANDSCAPE,GP0,GP1,GP2
OPTION TOUCH GP3,GP4
GUI CALIBRATE 0, 3928, 220, -1304, 867




Edited 2022-02-13 05:23 by matherp
 
     Page 2 of 7    
Print this page
© JAQ Software 2024