Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Krassos, anbei der Display thread. Habe versucht mehr Code zu posten,ging nicht. Gibt es hier > eine Beschränkung? Am I2C hängt zur Zeit nur das Display. > Die Schaltung ist für meinen Wintergarten mit 13 Rollos/MArkisen/Heizung/Fenster. > Als Fühler habe ich Temp,Feuchtigkeit,2xLicht,2xWind und Regen. > Ich weiß natürlich das es schwer ist sich in einen anderen Code reinzudenken. > Aber vielleicht kannst Du mir Tips geben wie's schneller geht ohne zu viel > Zeit zu investieren. Habe ich das mit Code Tags richtig verstanden? > Vielen Dank für die Hilfe !! > >//*************** > >thread Display > >//*************** > >{ > > //Diese Variablen damit Anzeige nur neu wenn Werte geändert > > byte MemDisplayDampnessOut,MemLightL_Alarm,MemLightR_Alarm,MemRainAlarm, > > MemTempHeaterFloorAlarm,MemTempHeaterRadAlarm,MemWindL_Alarm, > > MemWindR_Alarm; > > int MemDampnessIn,MemDisplayTempIn2,MemDisplayTempOut,MemTempIn; > > // warten bis andere Display Ausgabe bei manueller Bedienung oder Menü Einstellungen fertig > > wait cap.Capture(1); > > system.gettime(Time); > > if second2 != Time.second // einmal pro Sekunde anzeigen > > { > > second2=Time.second; > > pcflcd.goto(1,0);pcflcd.time(1); > > if DcfTime != MemDcfTime // synchron Zeichen ja 22.6. > > { > > if DcfTime==1 > > { > > pcflcd.goto(1,8);pcflcd.put(7);MemDcfTime=1;//lcdext.put(3);goto ergänzt 14.8. > > } > > else > > { > > pcflcd.print(" ");MemDcfTime=0; > > } > > } > > } > > if all_auto != Memall_auto // Anzeige Auto Funktion > > { > > if all_auto==1 > > { > > pcflcd.goto(1,9);pcflcd.print(" Auto");Memall_auto=1; > > } > > if all_auto==0 > > { > > pcflcd.goto(1,9);pcflcd.print(" ");Memall_auto=0; > > } > > } > > if jal.RainAlarm != MemRainAlarm > > { > > if jal.RainAlarm==0 > > { > > pcflcd.goto(1,14);pcflcd.print(" ");MemRainAlarm=0; > > } > > if jal.RainAlarm==1 > > { > > pcflcd.goto(1,14);pcflcd.print(" Regen");MemRainAlarm=1; > > } > > } > > if TempIn != MemTempIn > > { > > pcflcd.goto(2,0);pcflcd.put(1);pcflcd.zahl4n1(TempIn);pcflcd.put(2);MemTempIn=TempIn; > > } > > if DisplayTempIn2 != MemDisplayTempIn2 > > { > > pcflcd.goto(2,7);pcflcd.zahl4n1(DisplayTempIn2);pcflcd.put(2);pcflcd.print(" "); > > MemDisplayTempIn2=DisplayTempIn2; > > } > > if DampnessIn != MemDampnessIn > > { > > pcflcd.goto(2,14);if DampnessIn != 0 pcflcd.zahl2(DampnessIn/10);pcflcd.put('%'); > > MemDampnessIn=DampnessIn;//pcflcd.print(" "); > > } > > if jal.LightL_Alarm != MemLightL_Alarm > > { > > if jal.LightL_Alarm==1 > > { > > pcflcd.goto(2, 18);pcflcd.print("L");MemLightL_Alarm=1;; > > } > > if jal.LightL_Alarm==0 > > { > > pcflcd.goto(2, 18);pcflcd.print(" ");MemLightL_Alarm=0; > > } > > } > > if jal.LightR_Alarm != MemLightR_Alarm > > { > > if jal.LightR_Alarm==1 > > { > > pcflcd.goto(2, 19);pcflcd.print("L");MemLightR_Alarm=1; > > } > > if jal.LightR_Alarm==0 > > { > > pcflcd.goto(2, 19);pcflcd.print(" ");MemLightR_Alarm=0; > > } > > } > > if jal.DcfTimer2 != 3 //wenn keine synchronisation statt gefunden hat > > { > > if MemDisplayTempOut != DisplayTempOut > > { > > pcflcd.goto(3,0);pcflcd.put(3);pcflcd.zahl4n1(DisplayTempOut);pcflcd.put(2);pcflcd.print(" "); > > MemDisplayTempOut=DisplayTempOut; > > } > > if MemDisplayDampnessOut != DisplayDampnessOut > > { > > pcflcd.goto(3,8);pcflcd.zahl2(DisplayDampnessOut);pcflcd.put('%');pcflcd.print(" "); > > MemDisplayDampnessOut=DisplayDampnessOut; > > } > > if MemWindL_Alarm != jal.WindL_Alarm > > { > > if jal.WindL_Alarm==1 > > { > > pcflcd.goto(3,18);pcflcd.print("W");MemWindL_Alarm=1; > > } > > else > > { > > pcflcd.goto(3,18);pcflcd.print(" ");MemWindL_Alarm=0; > > } > > } > > if MemWindR_Alarm != jal.WindR_Alarm > > { > > if jal.WindR_Alarm==1 > > { > > pcflcd.goto(3,19);pcflcd.print("W");MemWindR_Alarm=1; > > } > > else > > { > > pcflcd.goto(3,19);pcflcd.print(" ");MemWindR_Alarm=0; > > } > > } > > if jal.DisplayOutputCounter == 0 //sonst Hinweis für manuelle Bedienung im Modul jal > > { > > if TAlarmDriver==0 //sonst Hinweis für Auto Bedienung > > { > > pcflcd.goto(4,0);pcflcd.print("Wind");pcflcd.zahl3(WindCounterR);pcflcd.zahl3(WindMeasureR); > > pcflcd.print(" ");pcflcd.zahl4(Rain);pcflcd.zahl3(WindLmax);pcflcd.print(" "); > > pcflcd.zahl3(WindRmax); > > if MemTempHeaterFloorAlarm != jal.TempHeaterFloorAlarm > > { > > if jal.TempHeaterFloorAlarm==1 > > { > > pcflcd.goto(4,18);pcflcd.put(0);pcflcd.print(" ");MemTempHeaterFloorAlarm=1; > > } > > else > > { > > pcflcd.goto(4,18);pcflcd.print(" ");MemTempHeaterFloorAlarm=0; > > } > > } > > if MemTempHeaterRadAlarm != jal.TempHeaterRadAlarm > > { > > if jal.TempHeaterRadAlarm==1 //and auto_1209==1 > > { > > pcflcd.goto(4,19);pcflcd.put(4);MemTempHeaterRadAlarm=1; > > } > > else > > { > > pcflcd.goto(4,19);pcflcd.print(" ");MemTempHeaterRadAlarm=0; > > } > > } > > } > > else > > { > > pcflcd.goto(4,0);pcflcd.print("Auto Bedienung "); > > sleep 500;pcflcd.goto(4,0);pcflcd.print(" ");sleep 100;// sleep damit Anzeige blinkt > > } > > } > > else > > { > > pcflcd.goto(4,0);pcflcd.print("Bedienung manuell "); > > sleep 500;pcflcd.goto(4,0);pcflcd.print(" ");sleep 100; > > } > > } > > else // wenn synchr. (DcfTimer2=2) > > { > > pcflcd.goto(3,0);pcflcd.print("Bedienung gesperrt "); > > pcflcd.goto(4,0);pcflcd.print("Uhr Synchronisation "); > > } > > cap.Release(1); > >}