Chiu

From ciapini
Revision as of 17:35, 13 February 2020 by Cesco (talk | contribs) (→‎CHX)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

un elaboratore tascabile

Hardware

Cpu

OPiPinout.jpg
Orange-Pi-Zero-Pinout.jpg

altre board

Display

  • Risoluzione: 320x240 ILI9341 (40x30)
  • Risoluzione: 480x320 ILI9486
  • Bus: SPI
ili9341 OPi Note GPIO
SCK 23 SCLK 14
MOSI 19 15
CS 24 CS0 13
RST 5 11
DC 3 12
LED 18 need check 18
VCC 1 3.3v
GND 6 GND

CHX

Scheda che implementa: caricabatteria, stepup, tastiera, led

uC supervisore

carica batteria

step-up

Software

Seriale (via usb gadget)

una volta flashato e acceso, il device esporra' una seriale via usb gadget, ES:

/dev/ttyACM0

per collegarsi:

screen /dev/ttyACM0 115200 8n1

Display

fbtft_device (kernel <5.4)

in /boot/armbianEnv.txt:

overlays=usbhost2 usbhost3 spi-spidev
param_spidev_spi_bus=1

in /etc/modprobe.d/fbtft.conf:

options fbtft_device custom name=fb_ili9341 gpios=dc:12,reset:11,led:18 speed=1600000 fps=5 busnum=1 bgr=1 rotate=90

X

FRAMEBUFFER=/dev/fb0 startx

trovare il proprio device /dev/fbX

verificare che device ci sono sotto /dev/fb*:

root@orangepizeroplus2:~# ll /dev/fb*
crw-rw---- 1 root video     29, 0 Feb  8 01:15 /dev/fb0
crw-rw---- 1 root video     29, 1 Feb  8 01:15 /dev/fb1

quindi lanciare il modprobe:

modprobe fbtft_device custom name=fb_ili9341 gpios=dc:12,reset:11,led:18 speed=1600000 fps=5 busnum=1 bgr=1 rotate=90

e verificare il nuovo device:

root@orangepizeroplus2:~# ll /dev/fb*
crw-rw---- 1 root video     29, 0 Feb  8 01:15 /dev/fb0
crw-rw---- 1 root video     29, 1 Feb  8 01:15 /dev/fb1
-rw-r--r-- 1 root root  101056512 Feb  8 01:50 /dev/fb2

nel nostro caso e' il

/dev/fb2

cambiare font e dimensione del display

source: https://learn.watterott.com/hats/rpi-display/faq/

eseguire con permessi di super-user:

dpkg-reconfigure console-setup

quindi seguire i passaggi:

  • Encoding to use on the console: <UTF-8>
  • Character set to support: <Guess optimal character set>
  • Font for the console: Terminus (default is VGA)
  • Font size: 6x12 (framebuffer only)

e riavviare

test del display

una volta che a mano viene lanciato

modprobe fbtft_device custom name=fb_ili9341 gpios=dc:12,reset:11,led:18 speed=1600000 fps=5 busnum=1 bgr=1 rotate=90

il display dovrebbe diventare bianco e poi per righe di pixel, nero. quindi e' possibile lanciare:

cat /dev/urandom > /dev/fb2

che creera' una schermata con pixel di diversi colori (random)

console output su lcd dal boot

source: https://kaspars.net/blog/spi-display-orange-pi-zero

in /etc/modules-load.d/fbtft.conf:

fbtft_device

in /etc/modprobe.d/fbtft.conf:

options fbtft_device custom name=fb_ili9341 gpios=dc:12,reset:11,led:18 speed=1600000 fps=5 busnum=1 bgr=1 rotate=90

in /boot/armbianEnv.txt add:

extraargs="fbcon=map:2"

dove "2" e' il tuo /dev/fbX (vedi "trovare il proprio device..")

tinydrm

https://github.com/torvalds/linux/tree/master/drivers/gpu/drm/tiny

aptitude install linux-headers-next-sunxi

in myili9341.dts:

/dts-v1/;
/plugin/;
 
/ {
    compatible = "allwinner,sun8i-h3";
 
    fragment@0 {
        target-path = "/aliases";
        __overlay__ {
            spi1 = "/soc/spi@01c69000";
        };
    };
 
    fragment@1 {
        target = <&spi1>;
        __overlay__ {
            status = "okay";
 
            spidev {
                compatible = "spidev";
                reg = <0>;
                spi-max-frequency = <50000000>;
            };
        };
    };

    fragment@2 {
	target = <&spi1>;
	__overlay__ {
		#address-cells = <1>;
		#size-cells = <0>;
		status = "okay";
		pinctrl-names = "default";
			pinctrl-0 = <&bb_spi1_pins>;

			display@0{
			status = "okay";
			compatible = "ilitek,ili9341";
			reg = <0>;
			spi-max-frequency = <32000000>;
			dc-gpios    = <&gpio 12 0>;   // lcd dc
			reset-gpios = <&gpio 11 0>;   // lcd reset
			// backlight = <&backlight_gpio>; // lcd lite
			// backlight = <&backlight_pwm>;    // lcd lite
			// rotation = <180>;
			};
		};
	};
};

armbian-add-overlay myili9431.dts

GUI

Applicazioni

Mail
  • alpine
  • mutt
  • aerc
Feed
Chat

Risparmio energetico

Idle

ARISC on board

Sleep