Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
en:c1_bw_128x64_glcd [2015/07/02 15:00] odroid |
en:c1_bw_128x64_glcd [2015/07/13 16:01] (current) odroid [Configure the HiFi DAC shield] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== LCD MODULE ====== | ||
+ | |||
+ | An example to display system information on the LCD. I hope we can see the track information like title/artist/play-time and so on. | ||
+ | <code> | ||
+ | +------------------+ | ||
+ | | Login Name | | ||
+ | | root | | ||
+ | | My IP Address | | ||
+ | | 192.168.XXX.XXX | | ||
+ | | Date & Time | | ||
+ | | 06/29/15 Mon | | ||
+ | | 09:00:00 am | | ||
+ | +------------------- | ||
+ | </code> | ||
+ | {{http://dn.odroid.com/S805/s_20150630_101758.jpg?600|}} | ||
+ | |||
+ | How to enable the 128x64 GLCD driver and its framebuffer | ||
+ | * st7565 driver of fbtft_device must be enabled as a "module" in the kernel menuconfig. | ||
+ | * Kernel and module build | ||
+ | * Copy uImage and meson8b_odroidc.dtb file in boot/dtsb directory to the boot partition. | ||
+ | * Copy driver modules into "lib" directory. | ||
+ | * To enable the auto loading the LCD driver, add "spicc" and "fbtft_device" into "/etc/modules-load.d/odroid.conf" | ||
+ | * To add a few driver parameters, Add "fbtft_device name=st7565-fb speed=1000000" into "/etc/modprobe.d/modprobe.conf" | ||
+ | * To enable the framebuffer, add "fbcon=map:22" in the end of the kernel arguments line. | ||
+ | * Copy this sample LCD script into /etc/profile.d | ||
+ | <code> | ||
+ | #!/bin/bash | ||
+ | clear | ||
+ | tput civis | ||
+ | x=0 | ||
+ | while true; do | ||
+ | ip=$(ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p') | ||
+ | date=$(date '+ %D %a') | ||
+ | time=$(date '+ %X') | ||
+ | name=$(whoami) | ||
+ | |||
+ | echo "Login Name" | ||
+ | echo " $name" | ||
+ | echo "My IP Address" | ||
+ | echo " $ip" | ||
+ | echo "Date & time" | ||
+ | echo "$date" | ||
+ | echo "$time"; | ||
+ | tput cup 0 0 | ||
+ | sleep 1 | ||
+ | x=$(expr $x + 1) | ||
+ | if [ "$x" -eq 5 ]; then clear; x=0; | ||
+ | fi | ||
+ | done | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Optional auto-login | ||
+ | |||
+ | * Edit [Service] of ExecStart in /etc/systemd/system/getty.target.wants/getty@tty1.service | ||
+ | <code> | ||
+ | ExecStart=~/sbin/agetty –noclear %I TERM -> ExecStart=~/sbin/agetty –autologin root –noclear %I TERM | ||
+ | </code> | ||
+ | |||
+ | |||
+ | **Above process was tested on the RuneAudio OS image. Volumio OS should be very similar probably.** | ||
+ | |||
+ | ====== Configure the HiFi DAC shield ====== | ||
+ | |||
+ | If you get the latest kernel source from our Github, you can use the I2S DAC. | ||
+ | |||
+ | Also add below things in the boot.ini file to activate the DAC. | ||
+ | <code> | ||
+ | # PCM5102 audio DAC Enable/Disable | ||
+ | # Uncomment the line below to __ENABLE__ Audio-DAC(PCM5102) | ||
+ | # setenv enabledac "enabledac" | ||
+ | |||
+ | setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro ${condev} no_console_suspend vdaccfg=0xa000 logo=osd1,loaded,0x7900000,720p,full dmfc=3 cvbsmode=576cvbs hdmimode=${m} m_bpp=${m_bpp} vout=${vout_mode} ${disableuhs} ${hdmi_hpd} ${hdmi_cec} ${enabledac}" | ||
+ | </code> | ||
+ | |||
+ | If we uncomment the "# setenv enabledac "enabledac" line, we can see below list with "asound -l" command. | ||
+ | <code> | ||
+ | card 0: AMLM8AUDIO [AML-M8AUDIO], device 0: AML PCM pcm5102-0 [] | ||
+ | Subdevices: 1/1 | ||
+ | Subdevice #0: subdevice #0 | ||
+ | card 0: AMLM8AUDIO [AML-M8AUDIO], device 1: SPDIF PCM dit-hifi-1 [] | ||
+ | Subdevices: 1/1 | ||
+ | Subdevice #0: subdevice #0 | ||
+ | </code> | ||
+ | |||
+ | The first one is I2S DAC and the second one is HDMI audio. | ||
+ | |||