Re: [Suche]HowTo SPF-105P für LCD4Linux
Verfasst: Do 5. Mai 2016, 12:36
Was steht den bei dir auf der Cooli in der Datei: /tmp/lcd/layout ??
Chinchilla hat geschrieben:Was steht den bei dir auf der Cooli in der Datei: /tmp/lcd/layout ??
Code: Alles auswählen
user
Code: Alles auswählen
# --------------------------------------------------------------------------- #
Display user {
driver 'SamsungSPF'
model 'SPF-AUTO'
port 'usb0'
font '26x40'
size '1024x600'
Basecolor '000000' # Basisfarbe
Background '000000' # Displayhintergrund
Foreground 'ffffff' # Displayvordergrund
orientation 1
backlight 7
}
# --------------------------------------------------------------------------- #
Widget LINE1 {
class 'Text'
expression 'To meet your needs'
align 'C'
width 20
update 0
}
Widget LINE2 {
class 'Text'
expression ' edit /var/etc/lcd4linux.conf '
align 'PC'
width 20
update 0
foreground 'ee9a49'
}
Widget NI-LOGO {
class 'Image'
file '/share/tuxbox/neutrino/httpd/images/NI-logo.png'
update 0
reload 0
center 1
}
Widget BACKGROUND {
class 'Image'
file '/share/lcd/icons/background/user.png'
update 0
}
# --------------------------------------------------------------------------- #
Layout user {
layer 0 {
row4.col01 'LINE1'
row6.col01 'LINE2'
}
layer 1 {
x021.y017 'NI-LOGO'
}
layer 2 {
x001.y001 'BACKGROUND'
}
}
# --------------------------------------------------------------------------- #
Display 'user'
Layout 'user'
# --------------------------------------------------------------------------- #
Code: Alles auswählen
Kernel: 2.6.34.13-nevis #1 Sat Apr 2 16:48:32 CEST 2016 @armv6l
Date: Thursday, 05 May 2016, 12:59:32
NI-FLASH-000179 login: root
[NI-FLASH-000179] /var/root # lcd4linux -F -v
LCD4Linux 0.11.0-SVN-svn1203-23-gce385f6 starting
[raspi] WARNING: Plugin is not enabled! (set 'enabled 1' to enable this plugin)
SamsungSPF: Initializing SPF.
SamsungSPF: Configured for model SPF-AUTO.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
SamsungSPF: Searching SPF.
Code: Alles auswählen
# --------------------------------------------------------------------------- #
Display user {
driver 'SamsungSPF'
model 'SPF-AUTO'
port 'usb0'
font '26x40'
size '1024x600'
Basecolor '000000' # Basisfarbe
Background '000000' # Displayhintergrund
Foreground 'ffffff' # Displayvordergrund
orientation 1
backlight 7
}
# --------------------------------------------------------------------------- #
# --- general widgets (partly postfixed with _layout) --- #
Widget LOGO {
class 'Image'
file file::exist('/tmp/lcd/menu') == 1 ? ICONS . 'menu.png' : file::readline('/tmp/lcd/logo', 1)
update 3300
visible file::exist('/tmp/lcd/menu') == 1 ? 1 : file::readline('/tmp/lcd/mode_logo', 1)
reload 1
center 1
}
Widget SERVICE {
class 'Text'
expression file::exist('/tmp/lcd/menu') == 1 ? '' : (file::readline('/tmp/lcd/mode_logo', 1) == 1 ? '' : file::readline('/tmp/lcd/service', 1))
align 'PC'
width 20
update 3300
}
Widget SERVICE_large {
class 'Text'
expression file::exist('/tmp/lcd/menu') == 1 ? '' : (file::readline('/tmp/lcd/mode_logo', 1) == 1 ? '' : file::readline('/tmp/lcd/service', 1))
align 'PC'
width 16
update 3300
}
Widget SERVICE_small {
class 'Text'
expression file::exist('/tmp/lcd/menu') == 1 ? '' : (file::readline('/tmp/lcd/mode_logo', 1) == 1 ? '' : file::readline('/tmp/lcd/service', 1))
align 'PC'
width 32
update 3300
}
Widget SERVICE_d-box2 {
class 'Text'
#expression file::readline('/tmp/lcd/service', 1)
expression file::exist('/tmp/lcd/menu') == 1 ? '' : (file::readline('/tmp/lcd/mode_logo', 1) == 1 ? '' : file::readline('/tmp/lcd/service', 1))
align 'PC'
width 20
update 3300
}
Widget EVENT {
class 'Text'
expression file::exist('/tmp/lcd/menu') == 1 ? file::readline('/tmp/lcd/menu', 1) : file::readline('/tmp/lcd/event', 1)
align 'PC'
width 20
update 250
speed 325
foreground 'ee9a49'
}
Widget EVENT_large {
class 'Text'
expression file::exist('/tmp/lcd/menu') == 1 ? file::readline('/tmp/lcd/menu', 1) : file::readline('/tmp/lcd/event', 1)
align 'PC'
width 16
update 250
speed 325
foreground 'ee9a49'
}
Widget EVENT_small {
class 'Text'
expression file::exist('/tmp/lcd/menu') == 1 ? file::readline('/tmp/lcd/menu', 1) : file::readline('/tmp/lcd/event', 1)
align 'PC'
width 32
update 250
speed 325
foreground 'ee9a49'
}
Widget EVENT_d-box2 {
class 'Text'
expression file::exist('/tmp/lcd/menu') == 1 ? file::readline('/tmp/lcd/menu', 1) : file::readline('/tmp/lcd/event', 1)
align 'PC'
width 20
update 250
speed 325
}
Widget PROGRESS {
class 'Bar'
expression 0
expression2 file::exist('/tmp/lcd/menu') == 1 ? 0 : file::readline('/tmp/lcd/progress', 1)
min 0
max 100
length 18
update 2600
foreground 'ee9a49aa'
barcolor0 '00000000'
}
Widget PROGRESS_large {
class 'Bar'
expression file::exist('/tmp/lcd/menu') == 1 ? 0 : file::readline('/tmp/lcd/progress', 1)
min 0
max 100
length 14
update 2600
foreground '000000aa'
}
Widget PROGRESS_small {
class 'Bar'
expression file::exist('/tmp/lcd/menu') == 1 ? 0 : file::readline('/tmp/lcd/progress', 1)
min 0
max 100
length 30
update 2600
foreground 'ee9a49aa'
}
Widget PROGRESS_d-box2 {
class 'Bar'
expression 0
expression2 file::exist('/tmp/lcd/menu') == 1 ? 0 : file::readline('/tmp/lcd/progress', 1)
min 0
max 100
length 10
update 2600
barcolor0 '00000000'
}
Widget DURATION {
class 'Text'
expression file::exist('/tmp/lcd/menu') == 1 ? '' : file::readline('/tmp/lcd/duration', 1)
align 'R'
width 13
update 500
foreground 'ee9a49'
}
Widget VOLUME_d-box2 {
class 'Bar'
expression file::readline('/tmp/lcd/volume', 1)
expression2 0
min 0
max 100
length 10
update 1000
barcolor1 '00000000'
}
Widget TIME {
class 'Text'
expression strftime('%H:%M', time())
align 'L'
width 5
update 5000
foreground '808080'
}
Widget TIME_d-box2 {
class 'Text'
expression strftime('%H:%M', time())
align 'L'
width 5
update 5000
}
# --- system-info --- #
Widget CPU {
class 'Text'
prefix 'CPU: '
expression proc_stat::cpu('busy', 500)
postfix '%'
precision 1
align 'R'
width 11
update 1000
foreground '808080'
}
Widget CPU_BAR {
class 'Bar'
expression proc_stat::cpu('busy', 500)
min 0
max 100
length 17
style 'H'
update 500
foreground '808080'
}
Widget RAM {
class 'Text'
prefix 'RAM: '
expression 100 - ((meminfo('MemFree') * 100) / meminfo('MemTotal'))
postfix '%'
precision 1
align 'R'
width 11
update 1000
foreground '808080'
}
Widget MTD {
class 'Text'
prefix 'MTD: '
expression 100 - (statfs('/', 'bfree') * 100) / statfs('/', 'blocks')
postfix '%'
precision 1
align 'R'
width 11
update 1000
foreground '808080'
}
# --- general mode-icons --- #
Widget ICON_ECM {
class 'Image'
file ICONS . 'mode/ecm_' . file::readline('/tmp/lcd/mode_ecm', 1) . '.png'
update 10000
reload 1
}
Widget ICON_TIMER {
class 'Image'
file ICONS . 'mode/timer_' . file::readline('/tmp/lcd/mode_timer', 1) . '.png'
update 10000
reload 1
}
Widget ICON_REC {
class 'Image'
file ICONS . 'mode/rec_' . file::readline('/tmp/lcd/mode_rec', 1) . '.png'
update 10000
reload 1
}
Widget ICON_TS {
class 'Image'
file ICONS . 'mode/ts_' . file::readline('/tmp/lcd/mode_tshift', 1) . '.png'
update 10000
reload 1
}
# --- d-box2 mode-icons --- #
Widget ICON_ECM_d-box2 {
class 'Image'
file ICONS . 'mode/d-box2/ecm_' . file::readline('/tmp/lcd/mode_ecm', 1) . '.png'
update 10000
reload 1
}
Widget ICON_TIMER_d-box2 {
class 'Image'
file ICONS . 'mode/d-box2/timer_' . file::readline('/tmp/lcd/mode_timer', 1) . '.png'
update 10000
reload 1
}
Widget ICON_REC_d-box2 {
class 'Image'
file ICONS . 'mode/d-box2/rec_' . file::readline('/tmp/lcd/mode_rec', 1) . '.png'
update 10000
reload 1
}
Widget ICON_TS_d-box2 {
class 'Image'
file ICONS . 'mode/d-box2/ts_' . file::readline('/tmp/lcd/mode_tshift', 1) . '.png'
update 10000
reload 1
}
# --- the background --- #
Widget BACKGROUND {
class 'Image'
file ICONS . 'background/' . file::readline('/tmp/lcd/layout', 1) . '.png'
update 0
}
# --- the clocks for standby-mode --- #
# --- the digital clock --- #
Widget HOUR1_ {
class 'image'
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/' . substr(strftime('%H', time()), 0, 1) . '.png'
update 10000
reload 1
}
Widget HOUR_1 {
class 'image'
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/' . substr(strftime('%H', time()), 1) . '.png'
update 10000
reload 1
}
Widget DP {
class 'Image'
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/dp.png'
update 0
}
Widget MIN1_ {
class 'image'
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/' . substr(strftime('%M', time()), 0, 1) . '.png'
update 10000
reload 1
}
Widget MIN_1 {
class 'image'
file file::exist(FCLOCK) == 1 ? ICONS . 'blank.png' : ICONS . 'clock/digital/' . substr(strftime('%M', time()), 1) . '.png'
update 10000
reload 1
}
# --- the analog clock --- #
Widget DIAL_A {
class 'image'
file file::exist(FCLOCK) == 0 ? ICONS . 'blank.png' : ICONS . 'clock/analog/dial.png'
update 0
}
Widget HOUR_A {
class 'image'
file file::exist(FCLOCK) == 0 ? ICONS . 'blank.png' : ICONS . 'clock/analog/h' . ( ( (strftime('%I', time()) == 12 ? 0 : strftime('%I', time())) *5) + substr((strftime('%M', time()) / 12), 0, 1) ). '.png'
update 10000
reload 1
}
Widget MIN_A {
class 'image'
file file::exist(FCLOCK) == 0 ? ICONS . 'blank.png' : ICONS . 'clock/analog/m' . strftime('%M', time()) . '.png'
update 10000
reload 1
}
# --- the weather --- #
Widget EXEC_WEATHER-SCRIPT {
class 'Text'
expression exec('/share/lcd/scripts/weather', 900000) # 15 minutes
width 0
}
Widget ICON_WEATHER {
class 'Image'
file file::exist(FWEATHER) == 0 ? ICONS . 'weather/weather_off.png' : ICONS . 'weather/weather_on.png'
update 10000
reload 1
}
Widget WEATHERICON_CURRENT {
class 'image'
file file::exist(FWEATHER) == 0 ? ICONS . 'weather/0000.png' : ICONS . 'weather/' . file::readline('/tmp/lcd/weathericons', 1)
update 10000
reload 1
}
Widget WEATHERICON_LATER {
class 'image'
file file::exist(FWEATHER) == 0 ? ICONS . 'weather/0000.png' : ICONS . 'weather/' . file::readline('/tmp/lcd/weathericons', strftime('%H', time()) < 16 ? 2 : 3)
update 10000
reload 1
}
Widget TEMPERATURE_CURRENT {
class 'Text'
expression file::exist(FWEATHER) == 0 ? '' : file::readline('/tmp/lcd/temperatures', 1)
align 'L'
width 3
update 10000
}
Widget TEMPERATURE_LATER {
class 'Text'
expression file::exist(FWEATHER) == 0 ? '' : file::readline('/tmp/lcd/temperatures', strftime('%H', time()) < 16 ? 2 : 3)
align 'R'
width 3
update 10000
}
# --------------------------------------------------------------------------- #
Layout user {
layer 0 {
row02.col01 'SERVICE'
row04.col01 'EVENT'
row05.col02 'PROGRESS'
row07 {
col07 'DURATION'
col02 'TIME'
}
}
layer 1 {
x008.y073 'ICON_ECM'
x008.y217 'ICON_TIMER'
x008.y258 'ICON_REC'
x008.y289 'ICON_TS'
x021.y017 'LOGO'
}
layer 2 {
x001.y001 'BACKGROUND'
}
}
Layout radio {
layer 0 {
row02.col01 'SERVICE'
row04.col01 'EVENT'
row05.col02 'PROGRESS'
row07 {
col07 'DURATION'
col02 'TIME'
}
}
layer 1 {
x008.y073 'ICON_ECM'
x008.y217 'ICON_TIMER'
x008.y258 'ICON_REC'
x008.y289 'ICON_TS'
x021.y017 'LOGO'
}
layer 2 {
x001.y001 'BACKGROUND'
}
}
Layout large {
layer 0 {
row02.col01 'SERVICE_large'
row04.col01 'EVENT_large'
row05.col02 'PROGRESS_large'
}
layer 1 {
x008.y073 'ICON_ECM'
x008.y217 'ICON_TIMER'
x008.y258 'ICON_REC'
x008.y289 'ICON_TS'
x044.y017 'LOGO'
}
layer 2 {
x001.y001 'BACKGROUND'
}
}
Layout small {
layer 0 {
row04.col01 'SERVICE_small'
row06.col01 'EVENT_small'
row08.col02 'PROGRESS_small'
row12 {
col02 'CPU'
col15 'CPU_BAR'
}
row13.col02 'RAM'
row14 {
col02 'MTD'
col27 'TIME'
}
}
layer 1 {
x008.y073 'ICON_ECM'
x008.y217 'ICON_TIMER'
x008.y258 'ICON_REC'
x008.y289 'ICON_TS'
x021.y017 'LOGO'
}
layer 2 {
x001.y001 'BACKGROUND'
}
}
Layout d-box2 {
layer 0 {
row01.col04 'PROGRESS_d-box2'
row03.col01 'SERVICE_d-box2'
row05.col01 'EVENT_d-box2'
row07 {
col04 'VOLUME_d-box2'
col15 'TIME_d-box2'
}
}
layer 1 {
x045.y073 'ICON_ECM_d-box2'
x045.y217 'ICON_TIMER_d-box2'
x045.y258 'ICON_REC_d-box2'
x045.y289 'ICON_TS_d-box2'
x060.y017 'LOGO'
}
layer 2 {
x001.y001 'BACKGROUND'
}
}
Layout standby {
layer 0 {
x020.y085 'MIN_A'
X034.Y025 'HOUR1_'
X034.Y085 'HOUR_1'
X034.Y145 'DP'
X034.Y175 'MIN1_'
X034.Y235 'MIN_1'
row01.col1 'EXEC_WEATHER-SCRIPT'
x225.y132 'ICON_WEATHER'
X168.Y017 'WEATHERICON_CURRENT'
X168.Y241 'WEATHERICON_LATER'
row07.col07 'TEMPERATURE_CURRENT'
row07.col12 'TEMPERATURE_LATER'
}
layer 1 {
x020.y085 'HOUR_A'
x008.y073 'ICON_ECM'
x008.y217 'ICON_TIMER'
x008.y258 'ICON_REC'
x008.y289 'ICON_TS'
}
layer 2 {
x020.y000 'DIAL_A'
x001.y001 'BACKGROUND'
}
}
# --------------------------------------------------------------------------- #
Variables {
ICONS '/share/lcd/icons/'
FWEATHER '/var/etc/.lcd-weather'
FCLOCK '/var/etc/.lcd-clock_a'
# color for layout "d-box2" {
#DBOX2COL 'f50204' # red
#DBOX2COL '509701' # green
#DBOX2COL '3763eb' # blue
DBOX2COL 'f0f5f5' # white
#DBOX2COL 'e6e628' # yellow
#DBOX2COL 'dc1ea0' # pink
# }
}
# --------------------------------------------------------------------------- #
Display file::readline('/tmp/lcd/layout', 1)
Layout file::readline('/tmp/lcd/layout', 1)
# --------------------------------------------------------------------------- #
Ne ,bist du nicht , oder dochGorcon hat geschrieben:Bin ich jetzt blind? aber exakt so habe ich die config doch.
Code: Alles auswählen
# --------------------------------------------------------------------------- #
Layout user {
layer 0 {
row02.col01 'SERVICE'
row04.col01 'EVENT'
row05.col02 'PROGRESS'
row07 {
col07 'DURATION'
col02 'TIME'
}
}
layer 1 {
x008.y073 'ICON_ECM'
x008.y217 'ICON_TIMER'
x008.y258 'ICON_REC'
x008.y289 'ICON_TS'
x021.y017 'LOGO'
}
layer 2 {
x001.y001 'BACKGROUND'
}
}
sollte für "user" die Richtige seinWelche config soll ich jetzt ersetzten? die "kleine" in /var/etc/ ?
Klar sieht das erst mal sch.. unschön aus, aber wichtig war doch erst mal,das daß Display erst mal Richtig angesprochen wird.Gorcon hat geschrieben:Nach einem reboot habe ich jetzt zumindest ein paar Bildfragmente auf dem Display.
Sieht zwar noch sche... nicht schön aus, aber es wird wenigstens schon angesprochen.
Vielen Dank erstmal. Ich wünsche euch noch einen schönen Herrentag.
Wünsche werden sofort erfüllt:vanhofen hat geschrieben:Bei "Dönertag" fehlen die Ö-Striche und ein s ist da mit rein gerutscht.
Kein Problem das Layout kann gerne genutzt und geteilt werden. [emoji1]imi8mm hat geschrieben:Okay , hatte auf meinem alten Pc mit XP schon Dropbox laufen , werde dies nun auch auf Win7 aktualisieren und einen Link für LCD4Linux beifügen , ist doch eine praktische Funktion eine größere Datei bzw. Ordner hochzuladen ...![]()
anbei Link für Dropbox : https://www.dropbox.com/sh/56cns77pudi1 ... XTaJa?dl=0
die Software ist " Designed by Markus Kaspar " , hoffe , er hat auch nichts dagegen ...![]()
Grüsse - imi8mm
Hi ich habe das aktuelle Update vo 4.5 geladen. Ich betreibe schon länger meine SPF mit eigener config. Also damit kenne ich mich so weit aus aber wie bekomme ich denn jetzt Schriftarten gerendert!TangoCash hat geschrieben:
z.B. "kann" mein lcd4linux schon Truetype schriftarten rendern
und ich hab einen daemon der den SPF erkennt, (und umschaltet) und dann ldc4linux startet bzw beendet.
Alles *erstmal* mit dem 87H getestet, aber die anderen Modelle (SPF72H/75H/76H/83H/87H/85H/86H/85P/105P/107H/700-T) sollten dann kein Problem mehr sein.
Code: Alles auswählen
Widget TTF-CHANNEL {
class 'Truetype'
expression file::readline('/tmp/lcd/service', 1)
font '/usr/share/fonts/neutrino.ttf'
fcolor '1d718a'
update 1000
size 60
reload 1
visible 1
inverted 0
}
Code: Alles auswählen
Widget TTF-EPG {
class 'Truetype'
expression file::readline('/tmp/lcd/event', 1)
font '/usr/share/fonts/neutrino.ttf'
fcolor '1d718a'
update 1000
size 0
reload 1
visible 1
inverted 0
width 800
height 40
align 'C'
}