Nspanel event (#689)
* upd: hmi2txt export * upd: sync latest dev * upd: currentpage * upd: lightsettings * upd: coversettings * upd: touchevent * Fix error preventing long click on button pages * upd: climate * upd: lastclick w.o. blueprint * Upd: Long_press - Lights * Update: Everything else (#688) Still a bug with confirmation message and long press button. * Fix: Notifications * Fix: Button long press * Fix: Climate page * Fix: Indoor temp when no sensor defined * fix: open climate from homepage triggers mulitple --------- Co-authored-by: Edward Firmo <94725493+edwardtfn@users.noreply.github.com>
This commit is contained in:
983
nspanel_eu_code/lightsettings.txt
Normal file
983
nspanel_eu_code/lightsettings.txt
Normal file
@@ -0,0 +1,983 @@
|
||||
Page lightsettings
|
||||
Attributes
|
||||
ID : 0
|
||||
Scope : local
|
||||
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 : 0
|
||||
|
||||
Events
|
||||
Preinitialize Event
|
||||
printh 92
|
||||
prints "nspanelevent",0
|
||||
printh 00
|
||||
prints "{\"page\": \"lightsettings\", \"component\": \"currentpage\", \"value\": \"pagechange\"}",0
|
||||
printh 00
|
||||
printh FF FF FF
|
||||
vis light_b_press,1
|
||||
vis lightslider,1
|
||||
vis light_value,1
|
||||
vis temp_value_2,1
|
||||
// #### OFF Button #####
|
||||
vis temp_b_press,0
|
||||
vis color_b_pres,0
|
||||
// #### OFF Value #####
|
||||
vis temp_value,0
|
||||
vis light_value_2,0
|
||||
// #### OFF Slider #####
|
||||
vis tempslider,0
|
||||
vis colorwheel,0
|
||||
|
||||
Touch Press Event
|
||||
printh 92
|
||||
prints "touchevent",0
|
||||
printh 00
|
||||
prints "{\"page\": \"lightsettings\", \"component\": \"touchevent\", \"value\": \"press\"}",0
|
||||
printh 00
|
||||
printh FF FF FF
|
||||
|
||||
Touch Release Event
|
||||
printh 92
|
||||
prints "touchevent",0
|
||||
printh 00
|
||||
prints "{\"page\": \"lightsettings\", \"component\": \"touchevent\", \"value\": \"release\"}",0
|
||||
printh 00
|
||||
printh FF FF FF
|
||||
|
||||
Variable (int32) rgb565
|
||||
Attributes
|
||||
ID : 22
|
||||
Scope: local
|
||||
Value: 0
|
||||
|
||||
Variable (string) va1
|
||||
Attributes
|
||||
ID : 23
|
||||
Scope : local
|
||||
Text : newtxt
|
||||
Max. Text Size: 20
|
||||
|
||||
Variable (string) va2
|
||||
Attributes
|
||||
ID : 24
|
||||
Scope : local
|
||||
Text : newtxt
|
||||
Max. Text Size: 10
|
||||
|
||||
Variable (string) va3
|
||||
Attributes
|
||||
ID : 25
|
||||
Scope : local
|
||||
Text : newtxt
|
||||
Max. Text Size: 10
|
||||
|
||||
Variable (int32) currenttab
|
||||
Attributes
|
||||
ID : 26
|
||||
Scope: local
|
||||
Value: 0
|
||||
|
||||
Variable (string) lightsetting
|
||||
Attributes
|
||||
ID : 32
|
||||
Scope : local
|
||||
Text :
|
||||
Max. Text Size: 100
|
||||
|
||||
Number ring
|
||||
Attributes
|
||||
ID : 4
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID : disabled
|
||||
Opacity : 127
|
||||
x coordinate : 459
|
||||
y coordinate : 188
|
||||
Width : 21
|
||||
Height : 40
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Fill : solid color
|
||||
Style : flat
|
||||
Associated Keyboard : none
|
||||
Font ID : 1
|
||||
Back. Color : 0
|
||||
Font Color : 0
|
||||
Horizontal Alignment : right
|
||||
Vertical Alignment : center
|
||||
Value : 0
|
||||
Significant digits shown: all
|
||||
Format : decimal
|
||||
Word wrap : enabled
|
||||
Horizontal Spacing : 0
|
||||
Vertical Spacing : 0
|
||||
|
||||
Number field
|
||||
Attributes
|
||||
ID : 5
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID : disabled
|
||||
Opacity : 127
|
||||
x coordinate : 459
|
||||
y coordinate : 233
|
||||
Width : 21
|
||||
Height : 40
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Fill : solid color
|
||||
Style : flat
|
||||
Associated Keyboard : none
|
||||
Font ID : 1
|
||||
Back. Color : 0
|
||||
Font Color : 0
|
||||
Horizontal Alignment : right
|
||||
Vertical Alignment : center
|
||||
Value : 0
|
||||
Significant digits shown: all
|
||||
Format : decimal
|
||||
Word wrap : enabled
|
||||
Horizontal Spacing : 0
|
||||
Vertical Spacing : 0
|
||||
|
||||
Text light_value
|
||||
Attributes
|
||||
ID : 1
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID : disabled
|
||||
Opacity : 127
|
||||
x coordinate : 183
|
||||
y coordinate : 43
|
||||
Width : 83
|
||||
Height : 20
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Fill : solid color
|
||||
Style : flat
|
||||
Associated Keyboard : none
|
||||
Font ID : 2
|
||||
Back. Color : 0
|
||||
Font Color : 65535
|
||||
Horizontal Alignment: center
|
||||
Vertical Alignment : center
|
||||
Input Type : character
|
||||
Text :
|
||||
Max. Text Size : 10
|
||||
Word wrap : disabled
|
||||
Horizontal Spacing : 0
|
||||
Vertical Spacing : 0
|
||||
|
||||
Text light_name
|
||||
Attributes
|
||||
ID : 2
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID : disabled
|
||||
Opacity : 127
|
||||
x coordinate : 48
|
||||
y coordinate : 8
|
||||
Width : 300
|
||||
Height : 30
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Fill : solid color
|
||||
Style : flat
|
||||
Associated Keyboard : none
|
||||
Font ID : 2
|
||||
Back. Color : 0
|
||||
Font Color : 65535
|
||||
Horizontal Alignment: left
|
||||
Vertical Alignment : center
|
||||
Input Type : character
|
||||
Text :
|
||||
Max. Text Size : 25
|
||||
Word wrap : disabled
|
||||
Horizontal Spacing : 0
|
||||
Vertical Spacing : 0
|
||||
|
||||
Text temp_value
|
||||
Attributes
|
||||
ID : 14
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID : disabled
|
||||
Opacity : 127
|
||||
x coordinate : 183
|
||||
y coordinate : 43
|
||||
Width : 83
|
||||
Height : 20
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Fill : solid color
|
||||
Style : flat
|
||||
Associated Keyboard : none
|
||||
Font ID : 2
|
||||
Back. Color : 0
|
||||
Font Color : 65535
|
||||
Horizontal Alignment: center
|
||||
Vertical Alignment : center
|
||||
Input Type : character
|
||||
Text :
|
||||
Max. Text Size : 10
|
||||
Word wrap : disabled
|
||||
Horizontal Spacing : 0
|
||||
Vertical Spacing : 0
|
||||
|
||||
Text light_value_2
|
||||
Attributes
|
||||
ID : 27
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID : disabled
|
||||
Opacity : 127
|
||||
x coordinate : 73
|
||||
y coordinate : 80
|
||||
Width : 50
|
||||
Height : 20
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Fill : solid color
|
||||
Style : flat
|
||||
Associated Keyboard : none
|
||||
Font ID : 2
|
||||
Back. Color : 0
|
||||
Font Color : 65535
|
||||
Horizontal Alignment: right
|
||||
Vertical Alignment : center
|
||||
Input Type : character
|
||||
Text :
|
||||
Max. Text Size : 10
|
||||
Word wrap : disabled
|
||||
Horizontal Spacing : 0
|
||||
Vertical Spacing : 0
|
||||
|
||||
Text temp_value_2
|
||||
Attributes
|
||||
ID : 28
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID : disabled
|
||||
Opacity : 127
|
||||
x coordinate : 331
|
||||
y coordinate : 80
|
||||
Width : 50
|
||||
Height : 20
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Fill : solid color
|
||||
Style : flat
|
||||
Associated Keyboard : none
|
||||
Font ID : 2
|
||||
Back. Color : 0
|
||||
Font Color : 65535
|
||||
Horizontal Alignment: right
|
||||
Vertical Alignment : center
|
||||
Input Type : character
|
||||
Text :
|
||||
Max. Text Size : 10
|
||||
Word wrap : disabled
|
||||
Horizontal Spacing : 0
|
||||
Vertical Spacing : 0
|
||||
|
||||
Text icon_state
|
||||
Attributes
|
||||
ID : 31
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID : disabled
|
||||
Opacity : 127
|
||||
x coordinate : 12
|
||||
y coordinate : 8
|
||||
Width : 35
|
||||
Height : 35
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Fill : solid color
|
||||
Style : flat
|
||||
Associated Keyboard : none
|
||||
Font ID : 8
|
||||
Back. Color : 0
|
||||
Font Color : 65535
|
||||
Horizontal Alignment: center
|
||||
Vertical Alignment : center
|
||||
Input Type : character
|
||||
Text :
|
||||
Max. Text Size : 10
|
||||
Word wrap : disabled
|
||||
Horizontal Spacing : 0
|
||||
Vertical Spacing : 0
|
||||
|
||||
Picture light_button
|
||||
Attributes
|
||||
ID : 8
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 20
|
||||
y coordinate : 67
|
||||
Width : 50
|
||||
Height : 50
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Picture ID : 69
|
||||
|
||||
Picture color_button
|
||||
Attributes
|
||||
ID : 9
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 389
|
||||
y coordinate : 130
|
||||
Width : 50
|
||||
Height : 50
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Picture ID : 73
|
||||
|
||||
Picture temp_button
|
||||
Attributes
|
||||
ID : 10
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 389
|
||||
y coordinate : 67
|
||||
Width : 50
|
||||
Height : 50
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Picture ID : 71
|
||||
|
||||
Picture light_b_press
|
||||
Attributes
|
||||
ID : 11
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 20
|
||||
y coordinate : 67
|
||||
Width : 50
|
||||
Height : 50
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Picture ID : 70
|
||||
|
||||
Picture temp_b_press
|
||||
Attributes
|
||||
ID : 12
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 389
|
||||
y coordinate : 67
|
||||
Width : 50
|
||||
Height : 50
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Picture ID : 72
|
||||
|
||||
Picture color_b_pres
|
||||
Attributes
|
||||
ID : 13
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 389
|
||||
y coordinate : 130
|
||||
Width : 50
|
||||
Height : 50
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Picture ID : 74
|
||||
|
||||
Picture colorwheel
|
||||
Attributes
|
||||
ID : 16
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 125
|
||||
y coordinate : 68
|
||||
Width : 200
|
||||
Height : 200
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Picture ID : 50
|
||||
|
||||
Events
|
||||
Touch Press Event
|
||||
// Circular Color Picker for Nextion (c) Max Zuidberg 2022
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
//
|
||||
// Put this code in the touch press or release
|
||||
// event of the pic component with the color wheel.
|
||||
// Requires the two variables field.val and ring.val
|
||||
//
|
||||
// sya0 = x, sya1 = sya1
|
||||
// Note the usage of the hidden sya0, sya1 variables
|
||||
// within event code as local, temporary variable is fine.
|
||||
sya0=tch0
|
||||
sya1=tch1
|
||||
//
|
||||
// Convert absolute coordinates to coordinates relative to
|
||||
// the color wheel center.
|
||||
// sys0 = x_center, sys1 = y_center
|
||||
sys0=colorwheel.w/2
|
||||
sys0+=colorwheel.x
|
||||
sys1=colorwheel.h/2
|
||||
sys1+=colorwheel.y
|
||||
sya0-=sys0
|
||||
sya1-=sys1
|
||||
//
|
||||
// Determine ring
|
||||
ring.val=0
|
||||
// sys0 = r^2 = x^2 + y^2
|
||||
sys0=sya0*sya0
|
||||
sys1=sya1*sya1
|
||||
sys0+=sys1
|
||||
// repeat for all rings
|
||||
if(sys0>=156)
|
||||
{
|
||||
ring.val++
|
||||
}
|
||||
if(sys0>=625)
|
||||
{
|
||||
ring.val++
|
||||
}
|
||||
if(sys0>=1406)
|
||||
{
|
||||
ring.val++
|
||||
}
|
||||
if(sys0>=2500)
|
||||
{
|
||||
ring.val++
|
||||
}
|
||||
if(sys0>=3906)
|
||||
{
|
||||
ring.val++
|
||||
}
|
||||
if(sys0>=5625)
|
||||
{
|
||||
ring.val++
|
||||
}
|
||||
if(sys0>=7656)
|
||||
{
|
||||
ring.val++
|
||||
}
|
||||
//
|
||||
// Determine quadrant (0-3). Note: pixel y coords are inverted
|
||||
// compared to mathematical y coords. But we want math. quadrants.
|
||||
sya1*=-1
|
||||
sys2=0
|
||||
if(sya1<0)
|
||||
{
|
||||
sys2+=2
|
||||
}
|
||||
sys0=sya0*sya1
|
||||
if(sys0<0)
|
||||
{
|
||||
sys2+=1
|
||||
// In this case we also want to swap x and y otherwise the
|
||||
// atan(abs(x/y)) (calculated below) gives values running
|
||||
// "the wrong way" (cw instead of ccw).
|
||||
sys1=sya1
|
||||
sya1=sya0
|
||||
sya0=sys1
|
||||
}
|
||||
//
|
||||
field.val=sys2*6
|
||||
//
|
||||
// x,y sign is not required anymore
|
||||
if(sya0<0)
|
||||
{
|
||||
sya0*=-1
|
||||
}
|
||||
if(sya1<0)
|
||||
{
|
||||
sya1*=-1
|
||||
}
|
||||
//
|
||||
// Determine field in ring quadrant
|
||||
// Factor 100000 chosen more or less arbitrarily.
|
||||
// sys0 = 100000 * tan_a = 100000 * y / x
|
||||
sys0=100000*sya1
|
||||
sys0/=sya0
|
||||
// repeat for all fields
|
||||
if(sys0>=26794)
|
||||
{
|
||||
field.val++
|
||||
}
|
||||
if(sys0>=57735)
|
||||
{
|
||||
field.val++
|
||||
}
|
||||
if(sys0>=99999)
|
||||
{
|
||||
field.val++
|
||||
}
|
||||
if(sys0>=173205)
|
||||
{
|
||||
field.val++
|
||||
}
|
||||
if(sys0>=373205)
|
||||
{
|
||||
field.val++
|
||||
}
|
||||
covx r,va1.txt,0,0
|
||||
covx g,va2.txt,0,0
|
||||
covx b,va3.txt,0,0
|
||||
va1.txt=""
|
||||
va2.txt=""
|
||||
va3.txt=""
|
||||
|
||||
Touch Release Event
|
||||
// Adjust field.val "orientation" and offset to match the h value of the colors in the wheel
|
||||
h=23-field.val// 0 <= field.val <= 23
|
||||
// h is expected to be 0-6*256 (see hsv2rgb)
|
||||
h*=6*256
|
||||
h/=24// Number of fields
|
||||
//
|
||||
// s is expected to be 0-256 (see hsv2rgb)
|
||||
s=ring.val*256
|
||||
s/=8// Number of rings
|
||||
// no "value" selectable; fix it to the maximum (matching the colors in the wheels shown.
|
||||
v=255
|
||||
click hsv2rgb,0
|
||||
click rgb888to565,0
|
||||
//colPreview.bco=rgb565.val
|
||||
covx r,va1.txt,0,0
|
||||
covx g,va2.txt,0,0
|
||||
covx b,va3.txt,0,0
|
||||
lightsetting.txt="{\"page\": \"lightsettings\", \"component\": \"rgb_color\", \"value\": ["+va1.txt+","+va2.txt+","+va3.txt+"]}"
|
||||
printh 92
|
||||
prints "nspanelevent",0
|
||||
printh 00
|
||||
prints lightsetting.txt,0
|
||||
printh 00
|
||||
printh FF FF FF
|
||||
va1.txt=""
|
||||
va2.txt=""
|
||||
va3.txt=""
|
||||
|
||||
Picture light_exit
|
||||
Attributes
|
||||
ID : 29
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 415
|
||||
y coordinate : 10
|
||||
Width : 25
|
||||
Height : 25
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Picture ID : 56
|
||||
|
||||
Slider lightslider
|
||||
Attributes
|
||||
ID : 3
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID : disabled
|
||||
Opacity : 127
|
||||
x coordinate : 183
|
||||
y coordinate : 67
|
||||
Width : 85
|
||||
Height : 235
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Direction : vertical
|
||||
Fill : image
|
||||
Cursor width : auto
|
||||
Cursor height : 255
|
||||
Back. Picture ID : 75
|
||||
Slided Back. Picture ID: 76
|
||||
Position : 0
|
||||
Upper range limit : 100
|
||||
Lower range limit : 0
|
||||
|
||||
Events
|
||||
Touch Release Event
|
||||
covx lightslider.val,va1.txt,0,0
|
||||
light_value.txt=va1.txt+"%"
|
||||
light_value_2.txt=va1.txt+"%"
|
||||
lightsetting.txt="{\"page\": \"lightsettings\", \"component\": \"brightness_pct\", \"value\": "+va1.txt+"}"
|
||||
printh 92
|
||||
prints "nspanelevent",0
|
||||
printh 00
|
||||
prints lightsetting.txt,0
|
||||
printh 00
|
||||
printh FF FF FF
|
||||
|
||||
Slider tempslider
|
||||
Attributes
|
||||
ID : 15
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID : disabled
|
||||
Opacity : 127
|
||||
x coordinate : 183
|
||||
y coordinate : 67
|
||||
Width : 85
|
||||
Height : 235
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
Direction : vertical
|
||||
Fill : image
|
||||
Cursor width : auto
|
||||
Cursor height : 255
|
||||
Back. Picture ID : 64
|
||||
Slided Back. Picture ID: 64
|
||||
Position : 0
|
||||
Upper range limit : 500
|
||||
Lower range limit : 153
|
||||
|
||||
Events
|
||||
Touch Release Event
|
||||
covx tempslider.val,va1.txt,0,0
|
||||
temp_value.txt=va1.txt
|
||||
temp_value_2.txt=va1.txt
|
||||
lightsetting.txt="{\"page\": \"lightsettings\", \"component\": \"color_temp\", \"value\": "+va1.txt+"}"
|
||||
printh 92
|
||||
prints "nspanelevent",0
|
||||
printh 00
|
||||
prints lightsetting.txt,0
|
||||
printh 00
|
||||
printh FF FF FF
|
||||
|
||||
Hotspot hsv2rgb
|
||||
Attributes
|
||||
ID : 6
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 440
|
||||
y coordinate : 278
|
||||
Width : 40
|
||||
Height : 20
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
|
||||
Events
|
||||
Touch Release Event
|
||||
// https://de.wikipedia.org/wiki/HSV-Farbraum#Umrechnung_HSV_in_RGB
|
||||
// The values range from 0..255 instead of 0..1
|
||||
// h ranges from 0..(6*256)
|
||||
if(s>=256)
|
||||
{
|
||||
s=255
|
||||
}else if(s<0)
|
||||
{
|
||||
s=0
|
||||
}
|
||||
if(v>=256)
|
||||
{
|
||||
v=255
|
||||
}else if(v<0)
|
||||
{
|
||||
v=0
|
||||
}
|
||||
f=h&0xff
|
||||
p=256-s
|
||||
p*=v
|
||||
p=p>>8// / 256
|
||||
q=s*f// 0-256*256 = 0-65536
|
||||
q=65536-q
|
||||
q*=v
|
||||
q=q>>16
|
||||
t=256-f
|
||||
t*=s
|
||||
t=65536-t
|
||||
t*=v
|
||||
t=t>>16
|
||||
//
|
||||
f=h>>8
|
||||
if(f==1)
|
||||
{
|
||||
r=q
|
||||
g=v
|
||||
b=p
|
||||
}else if(f==2)
|
||||
{
|
||||
r=p
|
||||
g=v
|
||||
b=t
|
||||
}else if(f==3)
|
||||
{
|
||||
r=p
|
||||
g=q
|
||||
b=v
|
||||
}else if(f==4)
|
||||
{
|
||||
r=t
|
||||
g=p
|
||||
b=v
|
||||
}else if(f==5)
|
||||
{
|
||||
r=v
|
||||
g=p
|
||||
b=q
|
||||
}else
|
||||
{
|
||||
r=v
|
||||
g=t
|
||||
b=p
|
||||
}
|
||||
|
||||
Hotspot rgb888to565
|
||||
Attributes
|
||||
ID : 7
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 440
|
||||
y coordinate : 300
|
||||
Width : 40
|
||||
Height : 20
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
|
||||
Events
|
||||
Touch Release Event
|
||||
r=r&0xff
|
||||
g=g&0xff
|
||||
b=b&0xff
|
||||
sys1=r>>3
|
||||
sys2=sys1<<6
|
||||
sys1=g>>2
|
||||
sys2+=sys1
|
||||
sys2=sys2<<5
|
||||
sys1=b>>3
|
||||
sys2+=sys1
|
||||
rgb565.val=sys2
|
||||
|
||||
Hotspot light_touch
|
||||
Attributes
|
||||
ID : 17
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 20
|
||||
y coordinate : 67
|
||||
Width : 50
|
||||
Height : 50
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
|
||||
Events
|
||||
Touch Press Event
|
||||
vis light_b_press,1
|
||||
vis lightslider,1
|
||||
vis light_value,1
|
||||
vis temp_value_2,1
|
||||
// #### OFF Button #####
|
||||
vis temp_b_press,0
|
||||
vis color_b_pres,0
|
||||
// #### OFF Value #####
|
||||
vis temp_value,0
|
||||
vis light_value_2,0
|
||||
// #### OFF Slider #####
|
||||
vis tempslider,0
|
||||
vis colorwheel,0
|
||||
|
||||
Hotspot temp_touch
|
||||
Attributes
|
||||
ID : 18
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 389
|
||||
y coordinate : 67
|
||||
Width : 50
|
||||
Height : 50
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
|
||||
Events
|
||||
Touch Press Event
|
||||
vis temp_b_press,1
|
||||
vis tempslider,1
|
||||
vis temp_value,1
|
||||
vis light_value_2,1
|
||||
// #### OFF Button #####
|
||||
vis light_b_press,0
|
||||
vis color_b_pres,0
|
||||
// #### OFF Value #####
|
||||
vis light_value,0
|
||||
vis temp_value_2,0
|
||||
// #### OFF Slider #####
|
||||
vis lightslider,0
|
||||
vis colorwheel,0
|
||||
|
||||
Hotspot color_touch
|
||||
Attributes
|
||||
ID : 19
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 389
|
||||
y coordinate : 130
|
||||
Width : 50
|
||||
Height : 50
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
|
||||
Events
|
||||
Touch Press Event
|
||||
vis color_b_pres,1
|
||||
vis colorwheel,1
|
||||
vis light_value_2,1
|
||||
// #### OFF Button #####
|
||||
vis light_b_press,0
|
||||
vis temp_b_press,0
|
||||
// #### OFF Value #####
|
||||
vis light_value,0
|
||||
vis temp_value,0
|
||||
vis temp_value_2,0
|
||||
// #### OFF Slider #####
|
||||
vis lightslider,0
|
||||
vis tempslider,0
|
||||
// #### OFF Color #####
|
||||
|
||||
Hotspot light_back
|
||||
Attributes
|
||||
ID : 30
|
||||
Scope : local
|
||||
Dragging : 0
|
||||
Send Component ID: disabled
|
||||
Opacity : 127
|
||||
x coordinate : 387
|
||||
y coordinate : 0
|
||||
Width : 60
|
||||
Height : 60
|
||||
Effect : load
|
||||
Effect Priority : 0
|
||||
Effect Time : 300
|
||||
|
||||
Events
|
||||
Touch Press Event
|
||||
lightsetting.txt="{\"page\": \"lightsettings\", \"component\": \"close\", \"value\": \"press\"}"
|
||||
printh 92
|
||||
prints "nspanelevent",0
|
||||
printh 00
|
||||
prints lightsetting.txt,0
|
||||
printh 00
|
||||
printh FF FF FF
|
||||
|
||||
Touch Release Event
|
||||
lightsetting.txt="{\"page\": \"lightsettings\", \"component\": \"close\", \"value\": \"release\"}"
|
||||
printh 92
|
||||
prints "nspanelevent",0
|
||||
printh 00
|
||||
prints lightsetting.txt,0
|
||||
printh 00
|
||||
printh FF FF FF
|
||||
|
||||
Timer swipestore
|
||||
Attributes
|
||||
ID : 21
|
||||
Scope : local
|
||||
Period (ms): 50
|
||||
Enabled : no
|
||||
|
||||
Events
|
||||
Timer Event
|
||||
swipex=tch0
|
||||
swipey=tch1
|
||||
|
||||
TouchCap swipe
|
||||
Attributes
|
||||
ID : 20
|
||||
Scope: local
|
||||
Value: 0
|
||||
|
||||
Events
|
||||
Touch Press Event
|
||||
swipestore.en=1 // Start swipestore timer
|
||||
|
||||
Touch Release Event
|
||||
swipestore.en=0
|
||||
// Touch has ended, x
|
||||
if(tch0==0)
|
||||
{
|
||||
swipec=swipex-tch2
|
||||
// From Left to Right
|
||||
if(swipec>swipedx)
|
||||
{
|
||||
//page
|
||||
}
|
||||
// Right to Left
|
||||
swipec2=0-swipedx
|
||||
if(swipec<swipec2)
|
||||
{
|
||||
//page
|
||||
}
|
||||
}
|
||||
// Touch has ended, y
|
||||
if(tch1==0)
|
||||
{
|
||||
swipec=swipey-tch3
|
||||
// From Up to Down
|
||||
if(swipec>100)
|
||||
{
|
||||
//page
|
||||
}
|
||||
// Down to Up
|
||||
swipec2=0-swipedy
|
||||
if(swipec<-100)
|
||||
{
|
||||
//page
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user