IRC-Client: New sound, auto load admnet, auto restart Bellatrix (Plexus compatibility)
This commit is contained in:
parent
ee9c8148f2
commit
e74a0f0f13
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -44,8 +44,6 @@ _XINFREQ = 5_000_000
|
||||||
|
|
||||||
CON
|
CON
|
||||||
|
|
||||||
LANMASK = %00000000_00000000_00000000_00100000
|
|
||||||
|
|
||||||
W0X_MENU = 8
|
W0X_MENU = 8
|
||||||
W0Y_MENU = 0
|
W0Y_MENU = 0
|
||||||
|
|
||||||
|
@ -91,6 +89,7 @@ DAT
|
||||||
VAR
|
VAR
|
||||||
|
|
||||||
long t1char 'Empfangs-Zeitpunkt des 1. Zeichen einer Zeile
|
long t1char 'Empfangs-Zeitpunkt des 1. Zeichen einer Zeile
|
||||||
|
long tsrvact 'Zeitpunkt letzte Server-Aktivität
|
||||||
long ip_addr
|
long ip_addr
|
||||||
long hiveid
|
long hiveid
|
||||||
long ledcog
|
long ledcog
|
||||||
|
@ -113,6 +112,7 @@ VAR
|
||||||
byte send_str[LEN_IRCLINE]
|
byte send_str[LEN_IRCLINE]
|
||||||
byte receive_str[LEN_IRCLINE]
|
byte receive_str[LEN_IRCLINE]
|
||||||
byte brightness
|
byte brightness
|
||||||
|
byte newMsg
|
||||||
|
|
||||||
PUB main | key
|
PUB main | key
|
||||||
|
|
||||||
|
@ -120,7 +120,9 @@ PUB main | key
|
||||||
|
|
||||||
repeat
|
repeat
|
||||||
if ios.keystat > 0
|
if ios.keystat > 0
|
||||||
ledStop
|
if newMsg 'neue Mitteilung wurde signalisiert
|
||||||
|
newMsg := FALSE
|
||||||
|
ledStop
|
||||||
key := ios.key
|
key := ios.key
|
||||||
case key
|
case key
|
||||||
gc#KEY_TAB: f_focus
|
gc#KEY_TAB: f_focus
|
||||||
|
@ -140,6 +142,12 @@ PUB main | key
|
||||||
f_input(key)
|
f_input(key)
|
||||||
|
|
||||||
ifnot handleidx == $FF
|
ifnot handleidx == $FF
|
||||||
|
if ((cnt - tsrvact) / clkfreq) > 60 'wenn seit dem Empfang der letzten Zeile vom Server mehr wie 60s vergangen sind
|
||||||
|
handleStatusStr(string("Timeout, sende PING"), 2, FALSE)
|
||||||
|
sendStr(string("PING HIVE"))
|
||||||
|
sendStr(str.trimCharacters(num.ToStr(hiveid, num#DEC)))
|
||||||
|
sendStr(string(13,10))
|
||||||
|
tsrvact := cnt 'Zeitpunkt der letzten Serveraktivität setzen
|
||||||
ircGetLine
|
ircGetLine
|
||||||
|
|
||||||
PRI init
|
PRI init
|
||||||
|
@ -158,18 +166,35 @@ PRI init
|
||||||
ircsrv[0] := 0
|
ircsrv[0] := 0
|
||||||
focus := 3
|
focus := 3
|
||||||
joined := FALSE
|
joined := FALSE
|
||||||
|
newMsg := FALSE
|
||||||
|
|
||||||
ios.start 'ios initialisieren
|
ios.start 'ios initialisieren
|
||||||
ifnot (ios.admgetspec & LANMASK)
|
ifnot (ios.belgetspec & (gc#b_key|gc#b_txt|gc#b_win)) 'Wir brauchen Bellatrix mit Keyboard-, Text- und Fensterfunktionen
|
||||||
ios.print(@strNoNetwork)
|
ios.belreset 'Bellatrix neu starten (aus ROM laden)
|
||||||
ios.stop
|
ios.print(@strInitWait)
|
||||||
ios.print(@strInitWait)
|
ifnot (ios.belgetspec & (gc#b_key|gc#b_txt|gc#b_win))
|
||||||
|
ios.print(@strWrongBel) 'Bellatrix-Flash enthält nicht die nötige Version
|
||||||
|
ios.stop 'Ende
|
||||||
|
else
|
||||||
|
ios.print(@strInitWait)
|
||||||
|
ios.sdmount
|
||||||
|
ifnot (ios.admgetspec & gc#A_LAN) 'Administra stellt kein Netzwerk zur Verfügung
|
||||||
|
ios.sddmset(ios#DM_USER) 'u-marker setzen
|
||||||
|
ios.sddmact(ios#DM_SYSTEM) 's-marker aktivieren
|
||||||
|
ios.admload(string("admnet.adm")) 'versuche, admnet zu laden
|
||||||
|
ios.sddmact(ios#DM_USER) 'u-marker aktivieren
|
||||||
|
ifnot (ios.admgetspec & gc#A_LAN) 'wenn Laden fehlgeschlagen
|
||||||
|
ios.print(@strNoNetwork)
|
||||||
|
ios.stop 'Ende
|
||||||
setscreen
|
setscreen
|
||||||
conf_load
|
conf_load
|
||||||
if ip_addr == 0
|
if ip_addr == 0
|
||||||
ifnot f_setconf
|
ifnot f_setconf
|
||||||
handleStatusStr(@strRestartConf, 2, FALSE)
|
handleStatusStr(@strRestartConf, 2, FALSE)
|
||||||
|
|
||||||
|
'sfx-slots setzen
|
||||||
|
ios.sfx_setslot(@soundNewMgs, 0)
|
||||||
|
|
||||||
PRI f_focus
|
PRI f_focus
|
||||||
|
|
||||||
if ++focus == 4
|
if ++focus == 4
|
||||||
|
@ -547,6 +572,7 @@ PRI ircGetLine | i, x, prefixstr, nickstr, chanstr, msgstr, commandstr
|
||||||
|
|
||||||
if readLine(2000) 'vollständige Zeile empfangen
|
if readLine(2000) 'vollständige Zeile empfangen
|
||||||
|
|
||||||
|
tsrvact := cnt 'Zeitpunkt der letzten Serveraktivität setzen
|
||||||
if receive_str[0] == ":" 'Prefix folgt (sollte jede hereinkommende Message enthalten)
|
if receive_str[0] == ":" 'Prefix folgt (sollte jede hereinkommende Message enthalten)
|
||||||
prefixstr := @receive_str[1]
|
prefixstr := @receive_str[1]
|
||||||
ifnot (commandstr := str.replaceCharacter(prefixstr, " ", 0)) 'nächstes Leerzeichen ist Ende des Prefix, dann folgt das Kommando
|
ifnot (commandstr := str.replaceCharacter(prefixstr, " ", 0)) 'nächstes Leerzeichen ist Ende des Prefix, dann folgt das Kommando
|
||||||
|
@ -573,8 +599,10 @@ PRI ircGetLine | i, x, prefixstr, nickstr, chanstr, msgstr, commandstr
|
||||||
sendStr(nickstr)
|
sendStr(nickstr)
|
||||||
sendStr(string(" :VERSION HiveIRC 1.0.0 [P8X32A/80MHz] <http://hive-project.de/>",13,10))
|
sendStr(string(" :VERSION HiveIRC 1.0.0 [P8X32A/80MHz] <http://hive-project.de/>",13,10))
|
||||||
else
|
else
|
||||||
ledStart
|
ifnot newMsg 'neue Mitteilung noch nicht signalisiert
|
||||||
ios.sfx_fire($f4, 1) 'play phone sound
|
newMsg := TRUE
|
||||||
|
ledStart
|
||||||
|
ios.sfx_fire($0, 1) 'play phone sound
|
||||||
if byte[chanstr] == "#" 'Message an Channel
|
if byte[chanstr] == "#" 'Message an Channel
|
||||||
handleChatStr(chanstr, nickstr, msgstr, 0)
|
handleChatStr(chanstr, nickstr, msgstr, 0)
|
||||||
else 'Message an mich
|
else 'Message an mich
|
||||||
|
@ -1285,7 +1313,13 @@ PRI ledTwinkle(rate)
|
||||||
repeat brightness from 100 to 0
|
repeat brightness from 100 to 0
|
||||||
led.LEDBrightness(brightness,gc#HBEAT) 'Adjust LED brightness
|
led.LEDBrightness(brightness,gc#HBEAT) 'Adjust LED brightness
|
||||||
waitcnt(rate + cnt) 'Wait a moment
|
waitcnt(rate + cnt) 'Wait a moment
|
||||||
DAT ' Locale
|
DAT 'Sound
|
||||||
|
|
||||||
|
' Wav Len Fre Vol LFO LFW FMa AMa Att Dec Sus Rel
|
||||||
|
soundNewMgs byte $00,$03,$FF,$0F,$08,$04,$05,$00,$FF,$00,$50,$11
|
||||||
|
byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01
|
||||||
|
|
||||||
|
DAT 'Locale
|
||||||
|
|
||||||
#ifdef __LANG_EN
|
#ifdef __LANG_EN
|
||||||
'locale: english
|
'locale: english
|
||||||
|
@ -1296,6 +1330,7 @@ DAT ' Locale
|
||||||
strWin2 byte "State",0
|
strWin2 byte "State",0
|
||||||
strWin3 byte "Input",0
|
strWin3 byte "Input",0
|
||||||
|
|
||||||
|
strWrongBel byte 13,"Bellatrix flash doesn't have the expected TriOS code.",13,0
|
||||||
strNoNetwork byte 13,"Administra doesn't provide network functions!",13,"Please load admnet.",13,0
|
strNoNetwork byte 13,"Administra doesn't provide network functions!",13,"Please load admnet.",13,0
|
||||||
strInitWait byte 13,"Initialiasing, please wait...",13,0
|
strInitWait byte 13,"Initialiasing, please wait...",13,0
|
||||||
strRestartConf byte "Please restart configuration (F2)",0
|
strRestartConf byte "Please restart configuration (F2)",0
|
||||||
|
@ -1361,6 +1396,7 @@ DAT ' Locale
|
||||||
strWin2 byte "Status",0
|
strWin2 byte "Status",0
|
||||||
strWin3 byte "Eingabe",0
|
strWin3 byte "Eingabe",0
|
||||||
|
|
||||||
|
strWrongBel byte 13,"Bellatrix-Flash enthält nicht den erforderlichen TriOS-Code.",13,0
|
||||||
strNoNetwork byte 13,"Administra stellt keine Netzwerk-Funktionen zur Verfügung!",13,"Bitte admnet laden.",13,0
|
strNoNetwork byte 13,"Administra stellt keine Netzwerk-Funktionen zur Verfügung!",13,"Bitte admnet laden.",13,0
|
||||||
strInitWait byte 13,"Initialisiere, bitte warten...",13,0
|
strInitWait byte 13,"Initialisiere, bitte warten...",13,0
|
||||||
strRestartConf byte "Bitte Konfiguration neu starten (F2)",0
|
strRestartConf byte "Bitte Konfiguration neu starten (F2)",0
|
||||||
|
|
Loading…
Reference in New Issue