Page cardChart Attributes ID : 0 Scope : local Dragging : 0 Disable release event after dragging: 0 Send Component ID : disabled Opacity : 127 Width : 480 Effect : load Effect Priority : 0 Effect Time : 300 Locked : no Swide up page ID : disabled Swide down page ID : disabled Swide left page ID : disabled Swide right page ID : disabled Fill : solid color Back. Color : 6371 Events Preinitialize Event dim=dimValueNormal vis p0,0 vis tSend,0 vis tInstruction,0 vis tTmp,0 vis tId,0 vis bPrev,0 vis bNext,0 cardChart.bco=defaultBcoColor vis x0,0 x0.bco=defaultBcoColor x0.borderc=defaultBcoColor for(sys0=0;sys0<32;sys0++) { if(b[sys0].type==98||b[sys0].type==116) { b[sys0].bco=defaultBcoColor b[sys0].pco=defaultFontColor } if(b[sys0].type==53&&defaultBcoColor==6371) { b[sys0].pic=1 b[sys0].pic2=2 } if(b[sys0].type==53&&defaultBcoColor==0) { b[sys0].pic=10 b[sys0].pic2=11 } } Variable (string) entn Attributes ID : 6 Scope : local Text : Max. Text Size: 80 Variable (string) nent1 Attributes ID : 32 Scope : local Text : Max. Text Size: 80 Variable (string) nent2 Attributes ID : 31 Scope : local Text : Max. Text Size: 80 Variable (string) strCommand Attributes ID : 5 Scope : local Text : Max. Text Size: 275 Variable (string) strTmp Attributes ID : 18 Scope : local Text : Max. Text Size: 200 Variable (string) tId Attributes ID : 14 Scope : local Text : Max. Text Size: 20 Variable (string) tInstruction Attributes ID : 15 Scope : local Text : Max. Text Size: 20 Variable (string) tSend Attributes ID : 9 Scope : local Text : Max. Text Size: 200 Variable (string) tTmp Attributes ID : 13 Scope : local Text : Max. Text Size: 20 Variable (int32) vMax Attributes ID : 29 Scope: local Value: 0 Variable (int32) vNValues Attributes ID : 17 Scope: local Value: 0 Variable (int32) vaBottom Attributes ID : 22 Scope: local Value: 0 Variable (int32) vaColorD Attributes ID : 28 Scope: local Value: 0 Variable (int32) vaColorL Attributes ID : 27 Scope: local Value: 0 Variable (int32) vaLast Attributes ID : 25 Scope: local Value: 4294967295 Variable (int32) vaLeft Attributes ID : 23 Scope: local Value: 0 Variable (int32) vaUnit Attributes ID : 20 Scope: local Value: 0 Variable (int32) vaValue Attributes ID : 21 Scope: local Value: 0 Variable (string) vaValues Attributes ID : 24 Scope : local Text : Max. Text Size: 100 Variable (int32) vaYUnit Attributes ID : 30 Scope: local Value: 0 XFloat x0 Attributes ID : 26 Scope : local Dragging : 0 Disable release event after dragging: 0 Send Component ID : disabled Opacity : 127 x coordinate : 173 y coordinate : 84 Width : 100 Height : 30 Effect : load Effect Priority : 0 Effect Time : 300 Fill : solid color Style : border Associated Keyboard : none Border Color : 0 Border Width : 2 Font ID : 1 Back. Color : 0 Font Color : 50712 Horizontal Alignment : center Vertical Alignment : center Value : 0 Significant digits left : 0 Significant digits right : 1 Word wrap : enabled Horizontal Spacing : 0 Vertical Spacing : 0 Text tHeading Attributes ID : 16 Scope : local Dragging : 0 Disable release event after dragging: 0 Send Component ID : disabled Opacity : 127 x coordinate : 66 y coordinate : 26 Width : 320 Height : 30 Effect : load Effect Priority : 0 Effect Time : 300 Fill : solid color Style : flat Associated Keyboard : none Font ID : 1 Back. Color : 6371 Font Color : 65535 Horizontal Alignment : center Vertical Alignment : center Input Type : character Text : Max. Text Size : 40 Word wrap : disabled Horizontal Spacing : 0 Vertical Spacing : 0 Picture p0 Attributes ID : 1 Scope : local Dragging : 0 Disable release event after dragging: 0 Send Component ID : disabled Opacity : 127 x coordinate : 0 y coordinate : 0 Width : 480 Height : 320 Effect : load Effect Priority : 0 Effect Time : 300 Picture ID : 0 Button bNext Attributes ID : 2 Scope : local Dragging : 0 Disable release event after dragging: 0 Send Component ID : disabled Opacity : 127 x coordinate : 391 y coordinate : 16 Width : 50 Height : 50 Effect : load Effect Priority : 0 Effect Time : 300 Fill : solid color Style : flat Font ID : 3 Back. Color : 6371 Back. Picture ID (Pressed) : 65535 Back. Color (Pressed) : 14823 Font Color (Unpressed) : 65535 Font Color (Pressed) : 65535 Horizontal Alignment : center Vertical Alignment : center State : unpressed Text :  Max. Text Size : 10 Word wrap : disabled Horizontal Spacing : 0 Vertical Spacing : 0 Events Touch Press Event tSend.txt="event,buttonPress2,"+nent2.txt+",button" //send calc crc btlen tSend.txt,sys0 crcrest 1,0xffff // reset CRC crcputh 55 bb crcputs sys0,2 crcputs tSend.txt,0 //send cmd printh 55 bb prints sys0,2 prints tSend.txt,0 prints crcval,2 Button bPrev Attributes ID : 3 Scope : local Dragging : 0 Disable release event after dragging: 0 Send Component ID : disabled Opacity : 127 x coordinate : 9 y coordinate : 16 Width : 50 Height : 50 Effect : load Effect Priority : 0 Effect Time : 300 Fill : solid color Style : flat Font ID : 3 Back. Color : 6371 Back. Picture ID (Pressed) : 65535 Back. Color (Pressed) : 14823 Font Color (Unpressed) : 65535 Font Color (Pressed) : 65535 Horizontal Alignment : center Vertical Alignment : center State : unpressed Text :  Max. Text Size : 10 Word wrap : disabled Horizontal Spacing : 0 Vertical Spacing : 0 Events Touch Press Event tSend.txt="event,buttonPress2,"+nent1.txt+",button" //send calc crc btlen tSend.txt,sys0 crcrest 1,0xffff // reset CRC crcputh 55 bb crcputs sys0,2 crcputs tSend.txt,0 //send cmd printh 55 bb prints sys0,2 prints tSend.txt,0 prints crcval,2 Hotspot m0 Attributes ID : 19 Scope : local Dragging : 0 Disable release event after dragging: 0 Send Component ID : disabled Opacity : 127 x coordinate : 20 y coordinate : 90 Width : 410 Height : 220 Effect : load Effect Priority : 0 Effect Time : 300 Events Touch Press Event if(vaLast.val>=0) { // spstr vaValues.txt,tTmp.txt,"~",vaLast.val // covx tTmp.txt,vaValue.val,0,0 sys1=vaLast.val*5*vaUnit.val sys1+=vaLeft.val sya0=sys1/100 sya1=vaUnit.val*4+sys1/100 if(vaValue.val==0) { line sya0,vaBottom.val,sya1,vaBottom.val,vaColorD.val }else { sys0=0 if(vaValue.val<0) { vaValue.val*=-1 sys0=1 } fill sya0+1,-1*vaYUnit.val*vaValue.val+vaBottom.val+1,vaUnit.val*4/100,vaYUnit.val*vaValue.val-1,vaColorD.val // line sya0+1,-10*vaValue.val+vaBottom.val,sya1-1,-10*vaValue.val+vaBottom.val,vaColorL.val draw sya0,-1*vaYUnit.val*vaValue.val+vaBottom.val+1,sya1,vaBottom.val,vaColorL.val if(sys0!=0) { sya1=-1*vaYUnit.val*vaValue.val+vaBottom.val for(sys0=vaBottom.val;sys0>=sya1;sys0-=10) { sys2=sys0-5 if(sys2=0) { vis x0,1 vaLast.val=sys0/5 // n0.val=sys0/5 spstr vaValues.txt,tTmp.txt,"~",vaLast.val covx tTmp.txt,vaValue.val,0,0 // t0.txt=tTmp.txt sys1=vaLast.val*5*vaUnit.val sys1+=vaLeft.val sya0=sys1/100 sya1=vaUnit.val*4+sys1/100 if(vaValue.val==0) { line sya0,vaBottom.val,sya1,vaBottom.val,vaColorL.val x0.val=vaValue.val }else { if(vaValue.val<0) { fill sya0+1,vaYUnit.val*vaValue.val+vaBottom.val+1,vaUnit.val*4/100,-1*vaYUnit.val*vaValue.val-1,vaColorL.val x0.val=vaValue.val*-1 }else { fill sya0+1,-1*vaYUnit.val*vaValue.val+vaBottom.val+1,vaUnit.val*4/100,vaYUnit.val*vaValue.val-1,vaColorL.val x0.val=vaValue.val } } }else { vis x0,0 vaLast.val=-1 } Hotspot mSwipeNext Attributes ID : 10 Scope : local Dragging : 0 Disable release event after dragging: 0 Send Component ID : disabled Opacity : 127 x coordinate : 440 y coordinate : 5 Width : 39 Height : 310 Effect : load Effect Priority : 0 Effect Time : 300 Events Touch Press Event click bNext,1 Hotspot mSwipePrev Attributes ID : 12 Scope : local Dragging : 0 Disable release event after dragging: 0 Send Component ID : disabled Opacity : 127 x coordinate : 0 y coordinate : 5 Width : 9 Height : 310 Effect : load Effect Priority : 0 Effect Time : 300 Events Touch Press Event click bPrev,1 Hotspot mSwipeUp Attributes ID : 11 Scope : local Dragging : 0 Disable release event after dragging: 0 Send Component ID : disabled Opacity : 127 x coordinate : 12 y coordinate : 0 Width : 426 Height : 9 Effect : load Effect Priority : 0 Effect Time : 300 Events Touch Press Event click bPrev,1 Timer tmSerial Attributes ID : 4 Scope : local Period (ms): 50 Enabled : yes Events Timer Event // data available if(usize>1) { bufferPos=0 while(bufferPos>11 // red vaColorD.val=sys0*8/10<<11 // store and shift sys0=vaColorL.val>>5%64 // green vaColorD.val=sys0*8/10<<5+vaColorD.val // store and shift sys0=vaColorL.val%32 vaColorD.val=sys0*8/10+vaColorD.val // store and add // // detect nValues and maxValue vNValues.val=0 spstr strCommand.txt,tTmp.txt,"~",vNValues.val+17 strlen tTmp.txt,sya0 while(sya0>0) { covx tTmp.txt,sya1,0,0 if(sya1>vMax.val) { vMax.val=sya1 } // next vNValues.val++ spstr strCommand.txt,tTmp.txt,"~",vNValues.val+17 strlen tTmp.txt,sya0 } // // calculate unit width sys0=vNValues.val*4 sys0+=vNValues.val-1 vaUnit.val=m0.w-25-40*100 vaUnit.val/=sys0 vaBottom.val=m0.y+m0.h-24 vaLeft.val=m0.x+25+40*100 vaYUnit.val=m0.h-24/vMax.val // line m0.x+25+40-10,m0.y,m0.x+25+40-10,vaBottom.val+10,14823 line m0.x+25+40-5,vaBottom.val,m0.x+25+40-15,vaBottom.val,14823 spstr strCommand.txt,strTmp.txt,"~",16 sya1=0 spstr strTmp.txt,tTmp.txt,":",sya1 strlen tTmp.txt,sya0 while(sya0>0) { covx tTmp.txt,sys1,0,0 if(sys1<=vMax.val) { line m0.x+25+40-5,-1*vaYUnit.val*sys1+vaBottom.val,m0.x+25+40-15,-1*vaYUnit.val*sys1+vaBottom.val,14823 sys2=sys1%10 sys1/=10 if(sys1>0) { covx sys1,tTmp.txt,0,0 }else { tTmp.txt="" } if(sys2!=0) { covx sys2,tId.txt,0,0 tTmp.txt=tTmp.txt+"."+tId.txt } xstr m0.x+28,sys1*10+sys2*-1*vaYUnit.val+vaBottom.val-10,20,20,0,defaultFontColor,RED,2,1,3,tTmp.txt } // next sya1++ spstr strTmp.txt,tTmp.txt,":",sya1 strlen tTmp.txt,sya0 } // // y achis label spstr strCommand.txt,tTmp.txt,"~",15 // tTmp.txt="Gas [kW]" strlen tTmp.txt,sys1 sya1=sys1*12+m0.h-48/2 for(sys0=0;sys00) { vaValues.txt+="~" } // extract next entry spstr strCommand.txt,tTmp.txt,"~",sys0+17 // calculate left sys1=sys0*5*vaUnit.val sys1+=vaLeft.val // if there is a colon in the obtained value we have a label/and gridline spstr tTmp.txt,strTmp.txt,"^",1 strlen strTmp.txt,sya0 if(sya0>0) { // we have a label!!! // -> extract label sys2=vaUnit.val*2+sys1/100 // draw label xstr sya0*-6+sys2,vaBottom.val+2,sya0*12,22,0,defaultFontColor,defaultBcoColor,1,1,3,strTmp.txt // draw line // line sys2,vaBottom.val,sys2,m0.y,defaultFontColor sya1=1 //spstr tTmp.txt,strTmp.txt,":",0 spstr tTmp.txt,tTmp.txt,":",0 vaValues.txt+="-" }else { sya1=0 } vaValues.txt+=tTmp.txt covx tTmp.txt,vaValue.val,0,0 sya0=sys1/100 if(vaValue.val==0) { line sya0,vaBottom.val,vaUnit.val*4+sys1/100,vaBottom.val,vaColorD.val }else { fill sya0+1,-1*vaYUnit.val*vaValue.val+vaBottom.val+1,vaUnit.val*4/100,vaYUnit.val*vaValue.val-1,vaColorD.val line sya0+1,-1*vaYUnit.val*vaValue.val+vaBottom.val,vaUnit.val*4+sys1/100-1,-1*vaYUnit.val*vaValue.val+vaBottom.val,vaColorL.val draw sya0,-1*vaYUnit.val*vaValue.val+vaBottom.val+1,vaUnit.val*4+sys1/100,vaBottom.val,vaColorL.val } if(sya1>0) { sya1=-1*vaYUnit.val*vaValue.val+vaBottom.val for(sya0=vaBottom.val-5;sya0>m0.y;sya0-=10) { sys1=sya0+5 if(sya0>=sya1) { line sys2,sya0,sys2,sys1,vaColorL.val }else { if(sys1>=sya1) { line sys2,sya0,sys2,sya1-1,14823 line sys2,sya1,sys2,sys1,vaColorL.val }else { line sys2,sya0,sys2,sys1,14823 } } } } } } if(tInstruction.txt=="time") { // get set time to global variable spstr strCommand.txt,pageIcons.vaTime.txt,"~",1 } if(tInstruction.txt=="date") { // get set date to global variable spstr strCommand.txt,pageIcons.vaDate.txt,"~",1 } if(tInstruction.txt=="dimmode") { // get value spstr strCommand.txt,tTmp.txt,"~",1 covx tTmp.txt,dimValue,0,0 // get value normal spstr strCommand.txt,tTmp.txt,"~",2 covx tTmp.txt,dimValueNormal,0,0 dim=dimValueNormal // get background color spstr strCommand.txt,tTmp.txt,"~",3 if(tTmp.txt!="") { covx tTmp.txt,defaultBcoColor,0,0 } // get font color spstr strCommand.txt,tTmp.txt,"~",4 if(tTmp.txt!="") { covx tTmp.txt,defaultFontColor,0,0 } } if(tInstruction.txt=="timeout") { //set timeout to global var spstr strCommand.txt,tTmp.txt,"~",1 covx tTmp.txt,sleepTimeout,0,0 } if(tInstruction.txt=="pageType") { sleepValue=0 //command format pageType,specialPageName //write name of speical page to tId spstr strCommand.txt,tId.txt,"~",1 //save second arg if there's one spstr strCommand.txt,tTmp.txt,"~",2 //save third arg if there's one spstr strCommand.txt,pageIcons.tTmp2.txt,"~",3 spstr strCommand.txt,pageIcons.tTmp3.txt,"~",4 //we are going to exit this page with this command, so we have to clear the buffer, so we are not getting into a stupid loop ... udelete payloadLength-1 bufferPos=0 if(tId.txt=="pageStartup") { page pageStartup } if(tId.txt=="screensaver") { page screensaver } if(tId.txt=="screensaver2") { page screensaver2 } if(tId.txt=="cardEntities") { page cardEntities } if(tId.txt=="cardGrid") { page cardGrid } if(tId.txt=="popupLight") { pageIcons.tTmp1.txt=tTmp.txt page popupLight } if(tId.txt=="popupShutter") { pageIcons.tTmp1.txt=tTmp.txt page popupShutter } if(tId.txt=="popupNotify") { page popupNotify } if(tId.txt=="cardThermo") { page cardThermo } if(tId.txt=="cardMedia") { page cardMedia } if(tId.txt=="cardAlarm") { page cardAlarm } if(tId.txt=="cardQR") { page cardQR } if(tId.txt=="cardPower") { page cardPower } if(tId.txt=="cardChart") { page cardChart } if(tId.txt=="cardLChart") { page cardLChart } } // end of user code udelete payloadLength-1 bufferPos=0 } } } } // next character bufferPos++ } } Timer tmSleep Attributes ID : 7 Scope : local Period (ms): 1000 Enabled : yes Events Timer Event if(sleepTimeout!=0&&dimValue!=dim) { sleepValue+=1 if(sleepTimeout<=sleepValue) { sleepValue=0 dim=dimValue tSend.txt="event,sleepReached,cardAlarm" //send calc crc btlen tSend.txt,sys0 crcrest 1,0xffff // reset CRC crcputh 55 bb crcputs sys0,2 crcputs tSend.txt,0 //send cmd printh 55 bb prints sys0,2 prints tSend.txt,0 prints crcval,2 } } TouchCap tc0 Attributes ID : 8 Scope: local Value: 0 Events Touch Press Event sleepValue=0