Librelec + LCDproc
#1
Librelec + LCDproc

Hello, I'm trying to setup my LCD screen (20x4, hd44750) to work with librelec (intel platform).
Hardware is ok, tested on another machine (hd44750 screen, lcd2usb interface and driver, connected via standard usb)

And... it actually works. At least LCDd server.
Display starts and shows "Welcome to LIBREELEC" message.
When I restart the addon - it shows also goodbye message.
But it's all I can see on the display. Nothing more is displayed in any mode/kodi section/anything.
As far as I understand, I have working LCDd server and no working client. And I don't know how to debug that case.

My config files are below. Most entries are copied from somewhere, but I have no idea how to fix it. Help please Smile

LCDd.conf
Code:
# LCDd.conf -- configuration file for the LCDproc server daemon LCDd
#
# This file contains the configuration for the LCDd server.
#
# The format is ini-file-like. It is divided into sections that start at
# markers that look like [section]. Comments are all line-based comments,
# and are lines that start with '#' or ';'.
#
# The server has a 'central' section named [server]. For the menu there is
# a section called [menu]. Further each driver has a section which
# defines how the driver acts.
#
# The drivers are activated by specifying them in a driver= line in the
# server section, like:
#
# Driver=curses
#
# This tells LCDd to use the curses driver.
# The first driver that is loaded and is capable of output defines the
# size of the display. The default driver to use is curses.
# If the driver is specified using the -d <driver> command line option,
# the Driver= options in the config file are ignored.
#
# The drivers read their own options from the respective sections.



## Server section with all kinds of settings for the LCDd server ##
[server]

# Where can we find the driver modules ?
# IMPORTANT: Make sure to change this setting to reflect your
# specific setup! Otherwise LCDd won't be able to find
# the driver modules and will thus not be able to
# function properly.
# NOTE: Always place a slash as last character !
DriverPath=/storage/.kodi/addons/service.lcdd/lib/lcdproc/

# Tells the server to load the given drivers. Multiple lines can be given.
# The name of the driver is case sensitive and determines the section
# where to look for further configuration options of the specific driver
# as well as the name of the dynamic driver module to load at runtime.
# The latter one can be changed by giving a File= directive in the
# driver specific section.
#
# The following drivers are supported:
# bayrad, CFontz, CFontzPacket, curses, CwLnx, ea65, EyeboxOne, futaba,
# g15, glcd, glcdlib, glk, hd44780, icp_a106, imon, imonlcd,, IOWarrior,
# irman, joy, lb216, lcdm001, lcterm, linux_input, lirc, lis, MD8800,
# mdm166a, ms6931, mtc_s16209x, MtxOrb, mx5000, NoritakeVFD,
# Olimex_MOD_LCD1x9, picolcd, pyramid, rawserial, sdeclcd, sed1330,
# sed1520, serialPOS, serialVFD, shuttleVFD, sli, stv5730, svga, t6963,
# text, tyan, ula200, vlsys_m428, xosd, yard2LCD
Driver=hd44750

# Tells the driver to bind to the given interface. [default: 127.0.0.1]
Bind=127.0.0.1

# Listen on this specified port. [default: 13666]
Port=13666

# Sets the reporting level; defaults to warnings and errors only.
# [default: 2; legal: 0-5]
#ReportLevel=3

# Should we report to syslog instead of stderr? [default: no; legal: yes, no]
#ReportToSyslog=yes

# User to run as. LCDd will drop its root privileges and run as this user
# instead. [default: nobody]
User=nobody

# The server will stay in the foreground if set to yes.
# [default: no, legal: yes, no]
Foreground=no

# Hello message: each entry represents a display line; default: builtin
Hello="Welcome to"
Hello="LibreELEC"

# GoodBye message: each entry represents a display line; default: builtin
GoodBye="Thanks for using"
GoodBye="LibreELEC"

# Sets the default time in seconds to displays a screen. [default: 4]
WaitTime=4

# If set to no, LCDd will start with screen rotation disabled. This has the
# same effect as if the ToggleRotateKey had been pressed. Rotation will start
# if the ToggleRotateKey is pressed. Note that this setting does not turn off
# priority sorting of screens. [default: on; legal: on, off]
#AutoRotate=off

# If yes, the the serverscreen will be rotated as a usual info screen. If no,
# it will be a background screen, only visible when no other screens are
# active. The special value 'blank' is similar to no, but only a blank screen
# is displayed. [default: on; legal: on, off, blank]
ServerScreen=blank

# Set master backlight setting. If set to 'open' a client may control the
# backlight for its own screens (only). [default: open; legal: off, open, on]
Backlight=open

# Set master heartbeat setting. If set to 'open' a client may control the
# heartbeat for its own screens (only). [default: open; legal: off, open, on]
Heartbeat=open

# set title scrolling speed [default: 10; legal: 0-10]
TitleSpeed=4

# The "...Key=" lines define what the server does with keypresses that
# don't go to any client. The ToggleRotateKey stops rotation of screens, while
# the PrevScreenKey and NextScreenKey go back / forward one screen (even if
# rotation is disabled.
# Assign the key string returned by the driver to the ...Key setting. These
# are the defaults:
ToggleRotateKey=Enter
PrevScreenKey=Left
NextScreenKey=Right
#ScrollUpKey=Up
#ScrollDownKey=Down


## The menu section. The menu is an internal LCDproc client. ##
[menu]
# You can configure what keys the menu should use. Note that the MenuKey
# will be reserved exclusively, the others work in shared mode.

# Up to six keys are supported. The MenuKey (to enter and exit the menu), the
# EnterKey (to select values) and at least one movement keys are required.
# These are the default key assignments:
MenuKey=Escape
EnterKey=Enter
UpKey=Up
DownKey=Down
#LeftKey=Left
#RightKey=Right


### Driver sections are below this line, in alphabetical order ###

## Hitachi HD44780 driver ##
[hd44780]

# Select what type of connection. See documentation for available types.
ConnectionType=lcd2usb

# I/O address of the LPT port. Usual values are: 0x278, 0x378 and 0x3BC.
# For I2C connections this sets the slave address (usually 0x20).
#Port=0x3BC

# Device of the serial, I2C, or SPI interface [default: /dev/lcd]
Device=/dev/i2c-0

# Bitrate of the serial port (0 for interface default)
Speed=0

# If you have a keypad connected.
# You may also need to configure the keypad layout further on in this file.
Keypad=no

# Set the initial contrast (bwctusb, lcd2usb, and usb4all)
# [default: 800; legal: 0 - 1000]
#Contrast=0

# Set brightness of the backlight (lcd2usb and usb4all):
# Brightness is the brightness while the backlight is set to 'on'.
# [default: 800; legal: 0 - 1000]
#Brightness=1000

# OffBrightness is the brightness while the backlight is set to 'off'.
# [default: 300; legal: 0 - 1000]
#OffBrightness=0

# If you have a switchable backlight.
Backlight=no

# Specifies the size of the LCD.
# In case of multiple combined displays, this should be the total size.
Size=20x4

# Character map to to map ISO-8859-1 to the LCD's character set
# [default: hd44780_default; legal: hd44780_default, hd44780_euro, ea_ks0073,
# sed1278f_0b, hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5, upd16314 ]
# (hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5 and upd16314 are possible if
# compiled with additional charmaps)
CharMap=hd44780_default

# You can reduce the inserted delays by setting this to false.
# On fast PCs it is possible your LCD does not respond correctly.
# Default: true.
DelayBus=true


# EOF

LCD.xml
Code:
<lcd>
<navigation>
<line>$INFO[System.CurrentWindow]</line>
<line>$INFO[System.CurrentControl]</line>
<line>Freemem: $INFO[System.FreeMemory]</line>
<line>$INFO[System.ScreenWidth]x$INFO[System.ScreenHeight] $INFO[System.ScreenMode]</line>
</navigation>
<music>
<line>$INFO[LCD.PlayIcon] $INFO[Player.Time]/$INFO[Player.Duration]</line>
<line>$INFO[MusicPlayer.Title]</line>
<line>$INFO[MusicPlayer.Artist]</line>
<line>$INFO[MusicPlayer.Album] ($INFO[MusicPlayer.Year])</line>
</music>
<video>
<line>$INFO[LCD.PlayIcon] $INFO[Player.Time]/$INFO[Player.Duration]</line>
<line>$INFO[VideoPlayer.Title]</line>
<line>$INFO[VideoPlayer.Genre]</line>
<line>$INFO[LCD.ProgressBar]</line>
</video>
<tvshow>
<line>$INFO[LCD.PlayIcon] $INFO[Player.Time]/$INFO[Player.Duration]</line>
<line>$INFO[VideoPlayer.TVShowTitle]</line>
<line>$INFO[VideoPlayer.Title]</line>
<line>$INFO[LCD.ProgressBar]</line>
</tvshow>
<general>
<line>KODI running...</line>
<line>$INFO[System.Time] $INFO[System.Date]</line>
<line>Freemem: $INFO[System.FreeMemory]</line>
<line>$INFO[System.ScreenWidth]x$INFO[System.ScreenHeight] $INFO[System.ScreenMode]</line>
</general>
<screensaver>
<line>$INFO[System.CurrentWindow]</line>
<line>$INFO[LCD.TimeWide21]</line>
<line>$INFO[LCD.TimeWide22]</line>
<line>Freemem: $INFO[System.FreeMemory]</line>
</screensaver>
<xbelaunch>
<line></line>
<line>Playing</line>
<line>$INFO[System.LaunchXBE]</line>
</xbelaunch>
<pvrtv>
<line>$INFO[VideoPlayer.ChannelName]</line>
<line>$INFO[VideoPlayer.Title]</line>
<line>$INFO[LCD.PlayIcon] $INFO[Player.Time]/$INFO[Player.Duration]</line>
<line>$INFO[LCD.ProgressBar]</line>
</pvrtv>
<pvrradio>
<line>$INFO[MusicPlayer.ChannelName]</line>
<line>$INFO[MusicPlayer.Title]</line>
<line>$INFO[LCD.PlayIcon] $INFO[Player.Time]/$INFO[Player.Duration]</line>
<line>$INFO[LCD.ProgressBar]</line>
</pvrradio>
</lcd>

advancedsettings.xml
Code:
<advancedsettings>
<tvshowmatching>
<regexp>S([0-9]+)[\\/]([0-9]+)[^\\/]*</regexp>
<regexp>S[\._ ]([0-9]+)[\\/]([0-9]+)[^\\/]*</regexp>
<regexp>Staffel[\._ ]([0-9]+)[\\/]([0-9]+)[^\\/]*</regexp>
<regexp>Season[\._ ]([0-9]+)[\\/]([0-9]+)[^\\/]*</regexp>
<regexp>[\._ \-]()([0-9]+)(-[0-9]+)?</regexp>
</tvshowmatching>
<lcd>
<heartbeat>true</heartbeat>
<scrolldelay>3</scrolldelay>
<rows>4</rows>
<columns>20</columns>
</lcd>
<useddsfanart>true</useddsfanart>
<cputempcommand>cputemp</cputempcommand>
<gputempcommand>gputemp</gputempcommand>
<samba>
<clienttimeout>30</clienttimeout>
</samba>
<network>
<disableipv6>false</disableipv6>
</network>
</advancedsettings>
Reply
#2
do you mean hd44780? because i don't see a hd44750 in the list of drivers?

also is kodi on the same machine as the LCDd server?
if not you'll have to change the bind argument in the LCDd.conf to 0.0.0.0

and have you enabled the lcdproc addon?
Reply
#3
You're right with hd44780, typical lcd display. My mistake.
Yes, kodi and LCDd are on the same machine. I didn't change bind argument
And yes, lcdproc is enabled. Also removed and enabled again (because I've added addon first time before display is connected)
Reply

Logout Mark Read Team Forum Stats Members Help
Librelec + LCDproc0