Page cardMedia
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Locked                              : no
        Swide up page ID                    : disabled
        Swide down page ID                  : disabled
        Swide left page ID                  : disabled
        Swide right page ID                 : disabled
    
    Events
        Preinitialize Event
            dim=dimValueNormal
            vis p0,0
            vis tSend,0
            vis tInstruction,0
            vis tTmp,0
            vis tId,0
            vis t5,0
            vis tShuffle,0
            vis bPrev,0
            vis bNext,0
            vis bEntity1,0
            vis bEntity2,0
            vis bEntity3,0
            vis bEntity4,0
            vis bEntity5,0
            vis bEntity6,0
            cardMedia.bco=defaultBcoColor
            for(sys0=0;sys0<34;sys0++)
            {
                if(b[sys0].type==98||b[sys0].type==116)
                {
                    b[sys0].bco=defaultBcoColor
                    b[sys0].pco=defaultFontColor
                }
            }
            if(defaultBcoColor==0)
            {
                hVolume.pic=14
                hVolume.pic1=13
                hVolume.pic2=15
            }
        
Variable (string) entn
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 80
    
Variable (string) entn1
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 80
    
Variable (string) entn2
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 80
    
Variable (string) entn3
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 80
    
Variable (string) entn4
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 80
    
Variable (string) entn5
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 80
    
Variable (string) entn6
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 80
    
Variable (string) nent1
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 80
    
Variable (string) nent2
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 80
    
Variable (string) strCommand
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 750
    
Variable (string) tEntity1
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 20
    
Variable (string) tEntity2
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 20
    
Variable (string) tEntity3
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 20
    
Variable (string) tEntity4
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 20
    
Variable (string) tEntity5
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 20
    
Variable (string) tEntity6
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 20
    
Variable (string) tId
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 20
    
Variable (string) tSend
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 200
    
Variable (string) tTmp
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 10
    
Variable (string) type1
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 10
    
Variable (string) type2
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 10
    
Variable (string) type3
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 10
    
Variable (string) type4
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 10
    
Variable (string) type5
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 10
    
Variable (string) type6
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 10
    
Variable (string) vaMenu
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 50
    
Variable (string) vaMenuType
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 50
    
Variable (string) vaSpeakerList
    Attributes
        Scope         : local
        Text          : 
        Max. Text Size: 400
    
Variable (int32) vaSpeakerPos
    Attributes
        Scope: local
        Value: 0
    
Text t0
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Associated Keyboard                 : none
        Text                                : î­
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            // event,buttonPress2,entn,media-back
            //craft command
            tSend.txt="event,buttonPress2,"
            tSend.txt+=entn.txt+","
            tSend.txt+="media-back"
            //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
        
Text t1
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Associated Keyboard                 : none
        Text                                : î
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            hVolume.val=hVolume.val-1
            // event,buttonPress2,internalNameEntity,volumeSlider,50
            //craft command
            tSend.txt="event,buttonPress2,"+entn.txt+",volumeSlider,"
            covx hVolume.val,tTmp.txt,0,0
            tSend.txt+=tTmp.txt
            //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
        
Text t2
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Associated Keyboard                 : none
        Text                                : î¬
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            // event,buttonPress2,entn,media-next
            //craft command
            tSend.txt="event,buttonPress2,"
            tSend.txt+=entn.txt+","
            tSend.txt+="media-next"
            //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
        
Text t3
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Associated Keyboard                 : none
        Text                                : î
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            hVolume.val=hVolume.val+1
            // event,buttonPress2,internalNameEntity,volumeSlider,50
            //craft command
            tSend.txt="event,buttonPress2,"+entn.txt+",volumeSlider,"
            covx hVolume.val,tTmp.txt,0,0
            tSend.txt+=tTmp.txt
            //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
        
Text t5
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Associated Keyboard                 : none
        Text                                : î¤
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            // event,buttonPress2,entn,media-next
            //craft command
            tSend.txt="event,buttonPress2,"
            tSend.txt+=entn.txt+","
            tSend.txt+="media-OnOff"
            //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
        
Text tAuthor
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Associated Keyboard                 : none
        Text                                : 
        Max. Text Size                      : 50
    
Text tHeading
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Associated Keyboard                 : none
        Text                                : 
        Max. Text Size                      : 40
    
Text tInstruction
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Associated Keyboard                 : none
        Text                                : 
        Max. Text Size                      : 20
    
Text tPlayPause
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Associated Keyboard                 : none
        Text                                : î£
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            // event,buttonPress2,entn,media-pause
            //craft command
            tSend.txt="event,buttonPress2,"
            tSend.txt+=entn.txt+","
            tSend.txt+="media-pause"
            //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
        
Text tShuffle
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Associated Keyboard                 : none
        Text                                : x
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            // event,buttonPress2,entn,media-next
            //craft command
            tSend.txt="event,buttonPress2,"
            tSend.txt+=entn.txt+","
            tSend.txt+="media-shuffle"
            //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
        
Text tTitle
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Associated Keyboard                 : none
        Text                                : 
        Max. Text Size                      : 50
    
Picture p0
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
    
Slider hVolume
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        Position                            : 50
        Upper range limit                   : 100
        Lower range limit                   : 0
    
    Events
        Touch Release Event
            tmCooldown.en=1
            tmCooldown.tim=800
            // event,buttonPress2,internalNameEntity,volumeSlider,50
            //craft command
            tSend.txt="event,buttonPress2,"+entn.txt+",volumeSlider,"
            covx hVolume.val,tTmp.txt,0,0
            tSend.txt+=tTmp.txt
            //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 bEntity1
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        State                               : unpressed
        Text                                : î´
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            tmLP.en=1
            tTmp.txt=type1.txt
            pageIcons.tTmp1.txt=tEntity1.txt
            pageIcons.tTmp2.txt=entn1.txt
            pageIcons.tTmp3.txt=bEntity1.txt
            if(type1.txt=="shutter")
            {
                page popupShutter
            }
            if(type1.txt=="input_sel")
            {
                page popupInSel
            }
        
        Touch Release Event
            tmLP.en=0
            tSend.txt="event,buttonPress2,"+entn1.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 bEntity2
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        State                               : unpressed
        Text                                : î´
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            tmLP.en=1
            tTmp.txt=type2.txt
            pageIcons.tTmp1.txt=tEntity2.txt
            pageIcons.tTmp2.txt=entn2.txt
            pageIcons.tTmp3.txt=bEntity2.txt
            if(type2.txt=="shutter")
            {
                page popupShutter
            }
            if(type2.txt=="input_sel")
            {
                page popupInSel
            }
            if(type2.txt=="media_pl")
            {
                page popupInSel
            }
        
        Touch Release Event
            tmLP.en=0
            tSend.txt="event,buttonPress2,"+entn2.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 bEntity3
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        State                               : unpressed
        Text                                : î´
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            tmLP.en=1
            tTmp.txt=type3.txt
            pageIcons.tTmp1.txt=tEntity3.txt
            pageIcons.tTmp2.txt=entn3.txt
            pageIcons.tTmp3.txt=bEntity3.txt
            if(type3.txt=="shutter")
            {
                page popupShutter
            }
            if(type3.txt=="input_sel")
            {
                page popupInSel
            }
            if(type3.txt=="media_pl")
            {
                page popupInSel
            }
        
        Touch Release Event
            tmLP.en=0
            tSend.txt="event,buttonPress2,"+entn3.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 bEntity4
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        State                               : unpressed
        Text                                : î´
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            tmLP.en=1
            tTmp.txt=type4.txt
            pageIcons.tTmp1.txt=tEntity4.txt
            pageIcons.tTmp2.txt=entn4.txt
            pageIcons.tTmp3.txt=bEntity4.txt
            if(type4.txt=="shutter")
            {
                page popupShutter
            }
            if(type4.txt=="input_sel")
            {
                page popupInSel
            }
            if(type4.txt=="media_pl")
            {
                page popupInSel
            }
        
        Touch Release Event
            tmLP.en=0
            tSend.txt="event,buttonPress2,"+entn4.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 bEntity5
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        State                               : unpressed
        Text                                : î´
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            tmLP.en=1
            tTmp.txt=type5.txt
            pageIcons.tTmp1.txt=tEntity5.txt
            pageIcons.tTmp2.txt=entn5.txt
            pageIcons.tTmp3.txt=bEntity5.txt
            if(type5.txt=="shutter")
            {
                page popupShutter
            }
            if(type5.txt=="input_sel")
            {
                page popupInSel
            }
            if(type5.txt=="media_pl")
            {
                page popupInSel
            }
        
        Touch Release Event
            tmLP.en=0
            tSend.txt="event,buttonPress2,"+entn5.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 bEntity6
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        State                               : unpressed
        Text                                : î´
        Max. Text Size                      : 10
    
    Events
        Touch Press Event
            tmLP.en=1
            tTmp.txt=type6.txt
            pageIcons.tTmp1.txt=tEntity6.txt
            pageIcons.tTmp2.txt=entn6.txt
            pageIcons.tTmp3.txt=bEntity6.txt
            if(type6.txt=="shutter")
            {
                page popupShutter
            }
            if(entn.txt=="input_sel")
            {
                page popupInSel
            }
            if(type6.txt=="media_pl")
            {
                page popupInSel
            }
        
        Touch Release Event
            tmLP.en=0
            tSend.txt="event,buttonPress2,"+entn6.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 bNext
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        State                               : unpressed
        Text                                : î³
        Max. Text Size                      : 10
    
    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
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
        State                               : unpressed
        Text                                : î°
        Max. Text Size                      : 10
    
    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 mSwipeNext
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
    
    Events
        Touch Press Event
            click bNext,1
        
Hotspot mSwipePrev
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
    
    Events
        Touch Press Event
            click bPrev,1
        
Hotspot mSwipeUp
    Attributes
        Scope                               : local
        Dragging                            : 0
        Disable release event after dragging: 0
        Send Component ID                   : disabled
    
    Events
        Touch Press Event
            click bPrev,1
        
Timer tmCooldown
    Attributes
        Scope      : local
        Period (ms): 100
        Enabled    : no
    
    Events
        Timer Event
            tmCooldown.en=0
        
Timer tmLP
    Attributes
        Scope      : local
        Period (ms): 500
        Enabled    : no
    
    Events
        Timer Event
            if(tTmp.txt=="light")
            {
                page popupLight
            }
            if(tTmp.txt=="fan")
            {
                page popupFan
            }
        
Timer tmSerial
    Attributes
        Scope      : local
        Period (ms): 50
        Enabled    : yes
    
    Events
        Timer Event
            // data available
            if(usize>1)
            {
                bufferPos=0
                while(bufferPos<usize)
                {
                    // check for 0x55 0xBB - Command Init Secuence
                    if(u[bufferPos]==187&&u[bufferPos-1]==85)
                    {
                        //remove garbage at the start of the buffer if there's any to free buffer for command
                        if(u[bufferPos]!=1)
                        {
                            udelete bufferPos-1
                        }
                        //instruction is now aligned with buffer, because we deleted garbage before instrcution
                        //get length after init sequence (check if there are more than to bytes in buffer)
                        if(3<usize)
                        {
                            // check if serial buffer has reached the announced length
                            ucopy payloadLength,2,2,0
                            // we are only checking payload length so we have to skip first 3 bytes (init+payload length) (-1 because of < instead of <=)
                            payloadLength+=3
                            // payload length does also not contain crc, so we are adding another 2 bytes for crc
                            payloadLength+=2
                            if(payloadLength<usize)
                            {
                                // calculate crc
                                crcrest 1,0xFFFF
                                // u[2] contains payload legth at 3rd pos in buffer, we are calculating crc from 3rd pos with number of bytes from payload length
                                //crcputu 3,u[2]
                                // u[2] cotnains payload length, we are calculating a crc over the whole message, so we have to add 3 to the length from u[2]
                                crcputu 0,payloadLength-1
                                // get recived crc to be able to compare it
                                ucopy recvCrc,payloadLength-1,2,0
                                // compare crc with recived value
                                if(crcval==recvCrc)
                                {
                                    // crc is okay
                                    // here is the location where acual code should be
                                    // write command to variable strCommand
                                    ucopy strCommand.txt,4,payloadLength-5,0
                                    // write instruction to tInstuction (debug output, but used as variable here, ui elements will be disabled by default)
                                    spstr strCommand.txt,tInstruction.txt,"~",0
                                    if(tInstruction.txt=="entityUpd")
                                    {
                                        // command format: entityUpd,heading,navigation,[,type,internalName,iconId,iconColor,displayName,optionalValue]x6
                                        spstr strCommand.txt,tHeading.txt,"~",1
                                        // navigation icon left
                                        spstr strCommand.txt,tTmp.txt,"~",2 //type
                                        if(tTmp.txt=="delete"||tTmp.txt=="")
                                        {
                                            vis bPrev,0
                                        }else
                                        {
                                            // get internal name
                                            spstr strCommand.txt,nent1.txt,"~",3
                                            // change icon
                                            spstr strCommand.txt,bPrev.txt,"~",4
                                            // change icon color
                                            spstr strCommand.txt,tTmp.txt,"~",5
                                            covx tTmp.txt,sys0,0,0
                                            bPrev.pco=sys0
                                            vis bPrev,1
                                        }
                                        // navigation icon right
                                        spstr strCommand.txt,tTmp.txt,"~",8 //type
                                        if(tTmp.txt=="delete"||tTmp.txt=="")
                                        {
                                            vis bNext,0
                                        }else
                                        {
                                            // get internal name
                                            spstr strCommand.txt,nent2.txt,"~",9
                                            // change icon
                                            spstr strCommand.txt,bNext.txt,"~",10
                                            // change icon color
                                            spstr strCommand.txt,tTmp.txt,"~",11
                                            covx tTmp.txt,sys0,0,0
                                            bNext.pco=sys0
                                            vis bNext,1
                                        }
                                        //entity name
                                        spstr strCommand.txt,entn.txt,"~",14
                                        //title
                                        spstr strCommand.txt,tTitle.txt,"~",15
                                        //title farbe
                                        spstr strCommand.txt,tTmp.txt,"~",16
                                        if(tTmp.txt!="")
                                        {
                                            covx tTmp.txt,tTitle.pco,0,0
                                        }
                                        //author
                                        spstr strCommand.txt,tAuthor.txt,"~",17
                                        //author farbe
                                        spstr strCommand.txt,tTmp.txt,"~",18
                                        if(tTmp.txt!="")
                                        {
                                            covx tTmp.txt,tAuthor.pco,0,0
                                        }
                                        //volume
                                        spstr strCommand.txt,tTmp.txt,"~",19
                                        covx tTmp.txt,sys0,0,0
                                        hVolume.val=sys0
                                        //icon
                                        spstr strCommand.txt,tPlayPause.txt,"~",20
                                        // on off button
                                        spstr strCommand.txt,tTmp.txt,"~",21
                                        if(tTmp.txt=="disable")
                                        {
                                            vis t5,0
                                        }else
                                        {
                                            vis t5,1
                                            covx tTmp.txt,t5.pco,0,0
                                        }
                                        // shuffel btn
                                        spstr strCommand.txt,tTmp.txt,"~",22
                                        if(tTmp.txt=="disable")
                                        {
                                            vis tShuffle,0
                                        }else
                                        {
                                            vis tShuffle,1
                                            tShuffle.txt=tTmp.txt
                                        }
                                        // get Type
                                        spstr strCommand.txt,type1.txt,"~",23
                                        // get internal name
                                        spstr strCommand.txt,entn1.txt,"~",24
                                        if(type1.txt=="delete"||type1.txt=="")
                                        {
                                            vis tEntity1,0
                                            vis bEntity1,0
                                        }else
                                        {
                                            // change icon
                                            spstr strCommand.txt,bEntity1.txt,"~",25
                                            vis bEntity1,1
                                            // change icon color
                                            spstr strCommand.txt,tTmp.txt,"~",26
                                            covx tTmp.txt,sys0,0,0
                                            bEntity1.pco=sys0
                                            // set name
                                            spstr strCommand.txt,tEntity1.txt,"~",27
                                            vis tEntity1,1
                                        }
                                        // get Type
                                        spstr strCommand.txt,type2.txt,"~",29
                                        // get internal name
                                        spstr strCommand.txt,entn2.txt,"~",30
                                        if(type2.txt=="delete"||type2.txt=="")
                                        {
                                            vis tEntity2,0
                                            vis bEntity2,0
                                        }else
                                        {
                                            // change icon
                                            spstr strCommand.txt,bEntity2.txt,"~",31
                                            vis bEntity2,1
                                            // change icon color
                                            spstr strCommand.txt,tTmp.txt,"~",32
                                            covx tTmp.txt,sys0,0,0
                                            bEntity2.pco=sys0
                                            // set name
                                            spstr strCommand.txt,tEntity2.txt,"~",33
                                            vis tEntity2,1
                                        }
                                        // get Type
                                        spstr strCommand.txt,type3.txt,"~",35
                                        // get internal name
                                        spstr strCommand.txt,entn3.txt,"~",36
                                        if(type3.txt=="delete"||type3.txt=="")
                                        {
                                            vis tEntity3,0
                                            vis bEntity3,0
                                        }else
                                        {
                                            // change icon
                                            spstr strCommand.txt,bEntity3.txt,"~",37
                                            vis bEntity3,1
                                            // change icon color
                                            spstr strCommand.txt,tTmp.txt,"~",38
                                            covx tTmp.txt,sys0,0,0
                                            bEntity3.pco=sys0
                                            // set name
                                            spstr strCommand.txt,tEntity3.txt,"~",39
                                            vis tEntity3,1
                                        }
                                        // get Type
                                        spstr strCommand.txt,type4.txt,"~",41
                                        // get internal name
                                        spstr strCommand.txt,entn4.txt,"~",42
                                        if(type4.txt=="delete"||type4.txt=="")
                                        {
                                            vis tEntity4,0
                                            vis bEntity4,0
                                        }else
                                        {
                                            // change icon
                                            spstr strCommand.txt,bEntity4.txt,"~",43
                                            vis bEntity4,1
                                            // change icon color
                                            spstr strCommand.txt,tTmp.txt,"~",44
                                            covx tTmp.txt,sys0,0,0
                                            bEntity4.pco=sys0
                                            // set name
                                            spstr strCommand.txt,tEntity4.txt,"~",45
                                            vis tEntity4,1
                                        }
                                        // get Type
                                        spstr strCommand.txt,type5.txt,"~",47
                                        // get internal name
                                        spstr strCommand.txt,entn5.txt,"~",48
                                        if(type5.txt=="delete"||type5.txt=="")
                                        {
                                            vis tEntity5,0
                                            vis bEntity5,0
                                        }else
                                        {
                                            // change icon
                                            spstr strCommand.txt,bEntity5.txt,"~",49
                                            vis bEntity5,1
                                            // change icon color
                                            spstr strCommand.txt,tTmp.txt,"~",50
                                            covx tTmp.txt,sys0,0,0
                                            bEntity5.pco=sys0
                                            // set name
                                            spstr strCommand.txt,tEntity5.txt,"~",51
                                            vis tEntity5,1
                                        }
                                        // get Type
                                        spstr strCommand.txt,type6.txt,"~",53
                                        // get internal name
                                        spstr strCommand.txt,entn6.txt,"~",54
                                        if(type6.txt=="delete"||type6.txt=="")
                                        {
                                            vis tEntity6,0
                                            vis bEntity6,0
                                        }else
                                        {
                                            // change icon
                                            spstr strCommand.txt,bEntity6.txt,"~",55
                                            vis bEntity6,1
                                            // change icon color
                                            spstr strCommand.txt,tTmp.txt,"~",56
                                            covx tTmp.txt,sys0,0,0
                                            bEntity6.pco=sys0
                                            // set name
                                            spstr strCommand.txt,tEntity6.txt,"~",57
                                            vis tEntity6,1
                                        }
                                    }
                                    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=="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(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
                                    }
                                    // end of user code
                                    udelete payloadLength-1
                                    bufferPos=0
                                }
                            }
                        }
                    }
                    // next character
                    bufferPos++
                }
            }
        
Timer tmSleep
    Attributes
        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,cardMedia"
                    //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
        Scope: local
        Value: 0
    
    Events
        Touch Press Event
            sleepValue=0
        
