Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 22:13 10 Nov 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 : Pi-cromite V5.4.14: Direct output to HDMI

Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10566
Posted: 09:06am 30 Oct 2017
Copy link to clipboard 
Print this post

Please find attached version 5.4.14

2017-10-30_185432_mmbasicjessie.zip

2017-10-30_185448_mmbasicstretch.zip

This includes the ability to use a conected HDMI display as a LCDPANEL

OPTION LCDPANEL HDMI


See the video to watch GUI test running on a 1600x1200 HDMI display



The code automatically reads in the display size and MM.HRES and MM.VRES are set automatically for you. The display is in full 32-bit colour (RGBA).

The code works best on a Pi running Raspbian Lite as the Pixel GUI will break through the Pi-cromite display - anyone know how to fix this?

On a Lite install it works best if you disable the login prompt and the cursor

To disable the login prompt use

sudo systemctl disable getty@tty1.service


to disable the flashing cursor use:

sudo su
setterm -cursor off > /dev/tty1



All normal graphics commands are available including transparent text and BLIT and GUI commands will work as normal. Of course there is no TOUCH capability and mouse control of the cursor is a problem for another day.

 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2959
Posted: 09:45am 30 Oct 2017
Copy link to clipboard 
Print this post

BRILLIANT!

Do you know what the performance is like on a RPi ZeroW? I don't want to erase my test SD card if its 'too slow' (i.e. best run on a RPi3 only).

Regarding TOUCH; there are many RPi 7" capacitive Touch TFTs. Do you think a single point TOUCH could be implemented somehow on these screens (i.e. no need for all the fancy multi-touch stuff that a capacitive allows for). These TFTs are much less 'reflective' as they don't have the horrible shiny resistive 'overlay' making for a much better colour contrast.

I will email you some more Q's . . .
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2959
Posted: 10:30am 30 Oct 2017
Copy link to clipboard 
Print this post

Peter,

Will OPTION LCDPANEL CONSOLE work by any chance?
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2959
Posted: 10:44am 30 Oct 2017
Copy link to clipboard 
Print this post

  matherp said   The code automatically reads in the display size and MM.HRES and MM.VRES are set automatically for you.


Sorry if this seems like a silly question; so in the above example, is MM.HRES = 1600, and MM.VRES=1200?

IF SO, then does this mean we can use LOAD IMAGE to display much higher resolution images?

Thanks . . .
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1667
Posted: 10:44am 30 Oct 2017
Copy link to clipboard 
Print this post

Superb,

Before reading the entire post I felt a Touch feature coming on,
somewhere down the track.

Phil.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10566
Posted: 11:15am 30 Oct 2017
Copy link to clipboard 
Print this post

  Quote  Do you think a single point TOUCH could be implemented somehow on these screens

Yes but I don't have one to develop/test
  Quote  Will OPTION LCDPANEL CONSOLE work by any chance?

No. that is a lot of boring grunt work and I'm not sure it gives any advantage over a separate SSH session
  Quote  IF SO, then does this mean we can use LOAD IMAGE to display much higher resolution images?

Yes, works perfectly now
  Quote   are there any other 'niggles' you have with this version?

Raspberry Pi blanks the screen after a timeout if no kbd/mouse input. Haven't solved this yet for Lite but have for Pixel
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2959
Posted: 11:35am 30 Oct 2017
Copy link to clipboard 
Print this post

OK - thanks for those answers.

I will try and arrange a capacitive Touch Screen for you but it won't be this week I'm afraid (funds tied up already).

Let me know if you have a preference in type of TFT - I was thinking of the 'Official RPi Touch Screen', but there are others!

Last question tonight - can you measure how long (in mS) to load a 1600x1200 hi-res bmp when you get a chance. I am curious as to the speed for use as a digital photo frame for my kiddies

(RPi 3 coming tomorrow from RS)

WW

 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10566
Posted: 10:19pm 30 Oct 2017
Copy link to clipboard 
Print this post

  Quote  Last question tonight - can you measure how long (in mS) to load a 1600x1200 hi-res bmp


241mSec on a Pi Zero W
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2959
Posted: 10:29pm 30 Oct 2017
Copy link to clipboard 
Print this post

Thanks for that info - thats great.

I have a RPi3 coming today and was going to put on Lite OS. However, IF I were to install full GUI OS instead, you mentioned about the GUI 'breaking through'. What do you mean by this? Put another way; is MMBASIC useable on a full GUI install enough to see the graphics on the HDMI output.

Courier just been but wasn't the Pi3

WW
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10566
Posted: 10:48pm 30 Oct 2017
Copy link to clipboard 
Print this post

  Quote  is MMBASIC useable on a full GUI install enough to see the graphics on the HDMI output.


It is fully usable but the clock and the load meter update in the top right and overlay the image - only a tiny area on a 1920x1080 screen. This can be largely negated by doing BLIT READ of this area and then BLIT WRITE at frequent intervals. This restores the contents of the mmbasic framebuffer to the screen

Of course, if you start clicking with the mouse other areas of the desktop will "break through".

To stop screen blanking on Lite

sudo nano /boot/cmdline.txt


Append " consoleblank=0" to the end of the line

To stop screen blanking on Pixel (Stetch: not tried on Jessie)

sudo nano /etc/lightdm/lightdm.conf


in the "[Seat:*]" section insert the line

"xserver-command=X -s 0 dpms"

In both cases reboot for the change to take effect

Edited by matherp 2017-11-01
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10566
Posted: 12:32am 31 Oct 2017
Copy link to clipboard 
Print this post

Updated manual with OPTION LCDPANEL HDMI and details of helpful Raspbian mods in Appendix E

2017-10-31_110439_Pi-cromite_Manual.pdf

I've also now found how to get a clear screen on a Pi with the Pixel desktop

First stop the desktop:

sudo systemctl stop lightdm


Then stop the flashing cursor:

sudo su
setterm -cursor off > /dev/tty0


NB this is a different tty device than used in Lite

To re-enable the desktop

sudo systemctl start lightdm



This version of the manual also includes details of the JSON$() functionEdited by matherp 2017-11-01
 
plasma
Guru

Joined: 08/04/2012
Location: Germany
Posts: 437
Posted: 09:30am 31 Oct 2017
Copy link to clipboard 
Print this post

Wow , great Work matherpEdited by plasma 2017-11-01
 
atmega8

Guru

Joined: 19/11/2013
Location: Germany
Posts: 727
Posted: 10:36am 01 Nov 2017
Copy link to clipboard 
Print this post

Amazing Peter!!!!!!

Thank You ;-)
 
mallorn

Newbie

Joined: 14/01/2018
Location: Sweden
Posts: 9
Posted: 07:47am 14 Jan 2018
Copy link to clipboard 
Print this post

  matherp said   The display is in full 32-bit colour (RGBA).

I'm using Stretch lite, and still looking around how to set 32bit-RGBA framebuffer on rpi. All I have is monochrome mmbasic...
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10566
Posted: 08:24am 14 Jan 2018
Copy link to clipboard 
Print this post

  Quote  and still looking around how to set 32bit-RGBA framebuffer on rpi


Never played with it but google says use fbset
 
mallorn

Newbie

Joined: 14/01/2018
Location: Sweden
Posts: 9
Posted: 09:47am 14 Jan 2018
Copy link to clipboard 
Print this post

  matherp said  google says use fbset

already did the
fbset -depth 32
on 640x480 mode, but
fbset --info
says:
mode "640x480-60"
# D: 25.175 MHz, H: 31.469 kHz, V: 59.940 Hz
geometry 640 480 640 480 32
timings 39722 48 16 33 10 96 2
accel true
rgba 8/16,8/8,8/0,8/24
endmode

Frame buffer device information:
Name : BCM2708 FB
Address : 0x3eace000
Size : 1228800
Type : PACKED PIXELS
Visual : TRUECOLOR
XPanStep : 1
YPanStep : 1
YWrapStep : 0
LineLength : 2560
Accelerator : No


(it is strange for me that the default mode for 2560x1080 monitor is "1824x984")
so I guess I have no /32 mode there.

edit: SORRY, I was wrong, I have the colors... I was just trying COLOR numbers from 1-4 when testing "CIRCLE 300,300,100,100", but I see now that COLOR can be set from 0 to 16 777 215.
Problem solved... it was no problem ...Edited by mallorn 2018-01-16
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025