|
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 KingdomPosts: 10566 |
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 KingdomPosts: 2959 |
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 KingdomPosts: 2959 |
Peter, Will OPTION LCDPANEL CONSOLE work by any chance? |
||||
| WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2959 |
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: AustraliaPosts: 1667 |
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 KingdomPosts: 10566 |
Yes but I don't have one to develop/test No. that is a lot of boring grunt work and I'm not sure it gives any advantage over a separate SSH session Yes, works perfectly now 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 KingdomPosts: 2959 |
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 KingdomPosts: 10566 |
241mSec on a Pi Zero W |
||||
| WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2959 |
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 KingdomPosts: 10566 |
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 |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10566 |
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$() function |
||||
| plasma Guru Joined: 08/04/2012 Location: GermanyPosts: 437 |
Wow , great Work matherp |
||||
| atmega8 Guru Joined: 19/11/2013 Location: GermanyPosts: 727 |
Amazing Peter!!!!!! Thank You ;-) |
||||
| mallorn Newbie Joined: 14/01/2018 Location: SwedenPosts: 9 |
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 KingdomPosts: 10566 |
Never played with it but google says use fbset |
||||
| mallorn Newbie Joined: 14/01/2018 Location: SwedenPosts: 9 |
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 ... |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |