avr: added sensor watches for Temp and hunidity.
This commit is contained in:
@@ -252,6 +252,27 @@ test:
|
|||||||
ldi xl, LOW(2000)
|
ldi xl, LOW(2000)
|
||||||
ldi xh, HIGH(2000)
|
ldi xh, HIGH(2000)
|
||||||
bigcall OBJ_HandleSignal
|
bigcall OBJ_HandleSignal
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ldi zl, LOW(winSensorWatch2*2)
|
||||||
|
ldi zh, HIGH(winSensorWatch2*2)
|
||||||
|
; set source
|
||||||
|
ldi r16, SENSORWATCH_SIGNAL_SETSOURCE
|
||||||
|
clr r17
|
||||||
|
ldi xl, 9 ; node address
|
||||||
|
ldi xh, 1 ; value 0x01 (SI7021_TEMP)
|
||||||
|
bigcall OBJ_HandleSignal
|
||||||
|
|
||||||
|
|
||||||
|
ldi zl, LOW(winSensorWatch3*2)
|
||||||
|
ldi zh, HIGH(winSensorWatch3*2)
|
||||||
|
; set source
|
||||||
|
ldi r16, SENSORWATCH_SIGNAL_SETSOURCE
|
||||||
|
clr r17
|
||||||
|
ldi xl, 9 ; node address
|
||||||
|
ldi xh, 2 ; value 0x02 (SI7021_HUM)
|
||||||
|
bigcall OBJ_HandleSignal
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,31 @@ winSensorWatch1Image_ramdata:
|
|||||||
winSensorWatch1Value_ramdata:
|
winSensorWatch1Value_ramdata:
|
||||||
.byte VLABEL_SD_SIZE
|
.byte VLABEL_SD_SIZE
|
||||||
|
|
||||||
|
winSensorWatch2_ramdata:
|
||||||
|
.byte SENSORWATCH_SD_SIZE
|
||||||
|
|
||||||
|
winSensorWatch2Title_ramdata:
|
||||||
|
.byte WIDGET_SD_SIZE
|
||||||
|
|
||||||
|
winSensorWatch2Image_ramdata:
|
||||||
|
.byte IMGVIEW_SD_SIZE
|
||||||
|
|
||||||
|
winSensorWatch2Value_ramdata:
|
||||||
|
.byte VLABEL_SD_SIZE
|
||||||
|
|
||||||
|
|
||||||
|
winSensorWatch3_ramdata:
|
||||||
|
.byte SENSORWATCH_SD_SIZE
|
||||||
|
|
||||||
|
winSensorWatch3Title_ramdata:
|
||||||
|
.byte WIDGET_SD_SIZE
|
||||||
|
|
||||||
|
winSensorWatch3Image_ramdata:
|
||||||
|
.byte IMGVIEW_SD_SIZE
|
||||||
|
|
||||||
|
winSensorWatch3Value_ramdata:
|
||||||
|
.byte VLABEL_SD_SIZE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -194,7 +219,7 @@ testWinBody_signalmap:
|
|||||||
winSensorWatch1:
|
winSensorWatch1:
|
||||||
; OBJECT
|
; OBJECT
|
||||||
.db 0x55, 0xaa ; magic
|
.db 0x55, 0xaa ; magic
|
||||||
.dw 0 ; next
|
.dw winSensorWatch2*2 ; next
|
||||||
.dw testWinBody_flashdata*2 ; parent
|
.dw testWinBody_flashdata*2 ; parent
|
||||||
.dw winSensorWatch1Title*2 ; first child
|
.dw winSensorWatch1Title*2 ; first child
|
||||||
.dw 0 ; target
|
.dw 0 ; target
|
||||||
@@ -317,6 +342,258 @@ winSensorWatch1Value_signalmap:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
winSensorWatch2:
|
||||||
|
; OBJECT
|
||||||
|
.db 0x55, 0xaa ; magic
|
||||||
|
.dw winSensorWatch3*2 ; next
|
||||||
|
.dw testWinBody_flashdata*2 ; parent
|
||||||
|
.dw winSensorWatch2Title*2 ; first child
|
||||||
|
.dw 0 ; target
|
||||||
|
.dw 0 ; selector (ony lower 8 bits used)
|
||||||
|
.dw winSensorWatch2_signalmap*2 ; signal map
|
||||||
|
; WIDGET
|
||||||
|
.db (1<<WIDGET_OPTSLO_MSGRECV_BIT), 0 ; opts lo, hi
|
||||||
|
.dw 108 ; X
|
||||||
|
.dw 4 ; Y
|
||||||
|
.dw 100 ; W (image=96, 2 px borders)
|
||||||
|
.dw 100 ; H
|
||||||
|
.dw STYLE_WIN_FOREGROUND ; front color
|
||||||
|
.dw STYLE_WIN_BACKGROUND ; back color
|
||||||
|
.dw STYLE_WIN_FONT*2 ; font
|
||||||
|
.dw winSensorWatch2_ramdata ; ptr to SDRAM
|
||||||
|
|
||||||
|
winSensorWatch2_signalmap:
|
||||||
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(SensorWatch_OnCreate), HIGH(SensorWatch_OnCreate)
|
||||||
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDraw), HIGH(Widget_OnDraw)
|
||||||
|
.db 0, OBJECT_SIGNAL_RECVMSG, LOW(SensorWatch_OnMsgReceived), HIGH(SensorWatch_OnMsgReceived)
|
||||||
|
.db 0, SENSORWATCH_SIGNAL_SETSOURCE, LOW(SensorWatch_OnSetSource), HIGH(SensorWatch_OnSetSource)
|
||||||
|
.db 0, SENSORWATCH_SIGNAL_SETLIMWARN, LOW(SensorWatch_OnSetLimitWarn), HIGH(SensorWatch_OnSetLimitWarn)
|
||||||
|
.db 0, SENSORWATCH_SIGNAL_SETLIMCRIT, LOW(SensorWatch_OnSetLimitCrit), HIGH(SensorWatch_OnSetLimitCrit)
|
||||||
|
.db 0, 0, 0, 0 ; end of table
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
winSensorWatch2Title:
|
||||||
|
; OBJECT
|
||||||
|
.db 0x55, 0xaa ; magic
|
||||||
|
.dw winSensorWatch2Image*2 ; next
|
||||||
|
.dw winSensorWatch2*2 ; parent
|
||||||
|
.dw 0 ; first child
|
||||||
|
.dw 0 ; target
|
||||||
|
.dw 0 ; selector (ony lower 8 bits used)
|
||||||
|
.dw winSensorWatch2Title_signalmap*2 ; signal map
|
||||||
|
; WIDGET
|
||||||
|
.db 0, (1<<WIDGET_OPTSHI_HALIGNCENTER_BIT) ; opts lo, hi
|
||||||
|
.dw 2 ; X
|
||||||
|
.dw 1 ; Y
|
||||||
|
.dw 96 ; W
|
||||||
|
.dw STYLE_WIN_FONT_HEIGHT+2 ; H
|
||||||
|
.dw STYLE_WIN_FOREGROUND ; front color
|
||||||
|
.dw STYLE_WIN_BACKGROUND ; back color
|
||||||
|
.dw STYLE_WIN_FONT*2 ; font
|
||||||
|
.dw winSensorWatch2Title_ramdata ; ptr to SDRAM
|
||||||
|
; LABEL
|
||||||
|
.dw winSensorWatch2Title_text*2 ; text
|
||||||
|
|
||||||
|
winSensorWatch2Title_text:
|
||||||
|
.db "Temp", 0, 0
|
||||||
|
|
||||||
|
winSensorWatch2Title_signalmap:
|
||||||
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate)
|
||||||
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(Label_OnDraw), HIGH(Label_OnDraw)
|
||||||
|
.db 0, 0, 0, 0 ; end of table
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
winSensorWatch2Image:
|
||||||
|
; OBJECT
|
||||||
|
.db 0x55, 0xaa ; magic
|
||||||
|
.dw winSensorWatch2Value*2 ; next
|
||||||
|
.dw winSensorWatch2*2 ; parent
|
||||||
|
.dw 0 ; first child
|
||||||
|
.dw 0 ; target
|
||||||
|
.dw 0 ; selector (ony lower 8 bits used)
|
||||||
|
.dw winSensorWatch2Image_signalmap*2 ; signal map
|
||||||
|
; WIDGET
|
||||||
|
.db 0, 0 ; opts lo, hi
|
||||||
|
.dw 2 ; X
|
||||||
|
.dw STYLE_WIN_FONT_HEIGHT+2 ; Y
|
||||||
|
.dw 96 ; W
|
||||||
|
.dw 96 ; H
|
||||||
|
.dw STYLE_WIN_FOREGROUND ; front color
|
||||||
|
.dw STYLE_WIN_BACKGROUND ; back color
|
||||||
|
.dw STYLE_WIN_FONT*2 ; font
|
||||||
|
.dw winSensorWatch2Image_ramdata ; ptr to SDRAM
|
||||||
|
; IMGVIEW
|
||||||
|
.dw RESSSOURCE_IMG_TEMP96 ; ressource id
|
||||||
|
|
||||||
|
winSensorWatch2Image_signalmap:
|
||||||
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(ImageView_OnDraw), HIGH(ImageView_OnDraw)
|
||||||
|
.db 0, IMGVIEW_SIGNAL_SETBGCOL, LOW(ImageView_OnSetBgCol), HIGH(ImageView_OnSetBgCol)
|
||||||
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(ImageView_OnCreate), HIGH(ImageView_OnCreate)
|
||||||
|
.db 0, 0, 0, 0 ; end of table
|
||||||
|
|
||||||
|
|
||||||
|
winSensorWatch2Value:
|
||||||
|
; OBJECT
|
||||||
|
.db 0x55, 0xaa ; magic
|
||||||
|
.dw 0 ; next
|
||||||
|
.dw winSensorWatch2*2 ; parent
|
||||||
|
.dw 0 ; first child
|
||||||
|
.dw 0 ; target
|
||||||
|
.dw 0 ; selector (ony lower 8 bits used)
|
||||||
|
.dw winSensorWatch2Value_signalmap*2 ; signal map
|
||||||
|
; WIDGET
|
||||||
|
.db 0, (1<<WIDGET_OPTSHI_HALIGNCENTER_BIT) ; opts lo, hi
|
||||||
|
.dw 2 ; X
|
||||||
|
.dw STYLE_WIN_FONT_HEIGHT+2+96+2 ; Y
|
||||||
|
.dw 96 ; W
|
||||||
|
.dw STYLE_WIN_FONT_HEIGHT+4 ; H
|
||||||
|
.dw STYLE_WIN_FOREGROUND ; front color
|
||||||
|
.dw STYLE_WIN_BACKGROUND ; back color
|
||||||
|
.dw STYLE_WIN_FONT*2 ; font
|
||||||
|
.dw winSensorWatch2Value_ramdata ; ptr to SDRAM
|
||||||
|
; VALUELABEL
|
||||||
|
.db 2, 0 ; num of post-komma digits
|
||||||
|
|
||||||
|
|
||||||
|
winSensorWatch2Value_signalmap:
|
||||||
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate)
|
||||||
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(ValueLabel_OnDraw), HIGH(ValueLabel_OnDraw)
|
||||||
|
.db 0, VLABEL_SIGNAL_SETVALUE, LOW(ValueLabel_OnSetValue), HIGH(ValueLabel_OnSetValue)
|
||||||
|
.db 0, 0, 0, 0 ; end of table
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
winSensorWatch3:
|
||||||
|
; OBJECT
|
||||||
|
.db 0x55, 0xaa ; magic
|
||||||
|
.dw 0 ; next
|
||||||
|
.dw testWinBody_flashdata*2 ; parent
|
||||||
|
.dw winSensorWatch3Title*2 ; first child
|
||||||
|
.dw 0 ; target
|
||||||
|
.dw 0 ; selector (ony lower 8 bits used)
|
||||||
|
.dw winSensorWatch3_signalmap*2 ; signal map
|
||||||
|
; WIDGET
|
||||||
|
.db (1<<WIDGET_OPTSLO_MSGRECV_BIT), 0 ; opts lo, hi
|
||||||
|
.dw 212 ; X
|
||||||
|
.dw 4 ; Y
|
||||||
|
.dw 100 ; W (image=96, 2 px borders)
|
||||||
|
.dw 100 ; H
|
||||||
|
.dw STYLE_WIN_FOREGROUND ; front color
|
||||||
|
.dw STYLE_WIN_BACKGROUND ; back color
|
||||||
|
.dw STYLE_WIN_FONT*2 ; font
|
||||||
|
.dw winSensorWatch3_ramdata ; ptr to SDRAM
|
||||||
|
|
||||||
|
winSensorWatch3_signalmap:
|
||||||
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(SensorWatch_OnCreate), HIGH(SensorWatch_OnCreate)
|
||||||
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(Widget_OnDraw), HIGH(Widget_OnDraw)
|
||||||
|
.db 0, OBJECT_SIGNAL_RECVMSG, LOW(SensorWatch_OnMsgReceived), HIGH(SensorWatch_OnMsgReceived)
|
||||||
|
.db 0, SENSORWATCH_SIGNAL_SETSOURCE, LOW(SensorWatch_OnSetSource), HIGH(SensorWatch_OnSetSource)
|
||||||
|
.db 0, SENSORWATCH_SIGNAL_SETLIMWARN, LOW(SensorWatch_OnSetLimitWarn), HIGH(SensorWatch_OnSetLimitWarn)
|
||||||
|
.db 0, SENSORWATCH_SIGNAL_SETLIMCRIT, LOW(SensorWatch_OnSetLimitCrit), HIGH(SensorWatch_OnSetLimitCrit)
|
||||||
|
.db 0, 0, 0, 0 ; end of table
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
winSensorWatch3Title:
|
||||||
|
; OBJECT
|
||||||
|
.db 0x55, 0xaa ; magic
|
||||||
|
.dw winSensorWatch3Image*2 ; next
|
||||||
|
.dw winSensorWatch3*2 ; parent
|
||||||
|
.dw 0 ; first child
|
||||||
|
.dw 0 ; target
|
||||||
|
.dw 0 ; selector (ony lower 8 bits used)
|
||||||
|
.dw winSensorWatch3Title_signalmap*2 ; signal map
|
||||||
|
; WIDGET
|
||||||
|
.db 0, (1<<WIDGET_OPTSHI_HALIGNCENTER_BIT) ; opts lo, hi
|
||||||
|
.dw 2 ; X
|
||||||
|
.dw 1 ; Y
|
||||||
|
.dw 96 ; W
|
||||||
|
.dw STYLE_WIN_FONT_HEIGHT+2 ; H
|
||||||
|
.dw STYLE_WIN_FOREGROUND ; front color
|
||||||
|
.dw STYLE_WIN_BACKGROUND ; back color
|
||||||
|
.dw STYLE_WIN_FONT*2 ; font
|
||||||
|
.dw winSensorWatch3Title_ramdata ; ptr to SDRAM
|
||||||
|
; LABEL
|
||||||
|
.dw winSensorWatch3Title_text*2 ; text
|
||||||
|
|
||||||
|
winSensorWatch3Title_text:
|
||||||
|
.db "Hum", 0
|
||||||
|
|
||||||
|
winSensorWatch3Title_signalmap:
|
||||||
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate)
|
||||||
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(Label_OnDraw), HIGH(Label_OnDraw)
|
||||||
|
.db 0, 0, 0, 0 ; end of table
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
winSensorWatch3Image:
|
||||||
|
; OBJECT
|
||||||
|
.db 0x55, 0xaa ; magic
|
||||||
|
.dw winSensorWatch3Value*2 ; next
|
||||||
|
.dw winSensorWatch3*2 ; parent
|
||||||
|
.dw 0 ; first child
|
||||||
|
.dw 0 ; target
|
||||||
|
.dw 0 ; selector (ony lower 8 bits used)
|
||||||
|
.dw winSensorWatch3Image_signalmap*2 ; signal map
|
||||||
|
; WIDGET
|
||||||
|
.db 0, 0 ; opts lo, hi
|
||||||
|
.dw 2 ; X
|
||||||
|
.dw STYLE_WIN_FONT_HEIGHT+2 ; Y
|
||||||
|
.dw 96 ; W
|
||||||
|
.dw 96 ; H
|
||||||
|
.dw STYLE_WIN_FOREGROUND ; front color
|
||||||
|
.dw STYLE_WIN_BACKGROUND ; back color
|
||||||
|
.dw STYLE_WIN_FONT*2 ; font
|
||||||
|
.dw winSensorWatch3Image_ramdata ; ptr to SDRAM
|
||||||
|
; IMGVIEW
|
||||||
|
.dw RESSSOURCE_IMG_HUMIDITY96 ; ressource id
|
||||||
|
|
||||||
|
winSensorWatch3Image_signalmap:
|
||||||
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(ImageView_OnDraw), HIGH(ImageView_OnDraw)
|
||||||
|
.db 0, IMGVIEW_SIGNAL_SETBGCOL, LOW(ImageView_OnSetBgCol), HIGH(ImageView_OnSetBgCol)
|
||||||
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(ImageView_OnCreate), HIGH(ImageView_OnCreate)
|
||||||
|
.db 0, 0, 0, 0 ; end of table
|
||||||
|
|
||||||
|
|
||||||
|
winSensorWatch3Value:
|
||||||
|
; OBJECT
|
||||||
|
.db 0x55, 0xaa ; magic
|
||||||
|
.dw 0 ; next
|
||||||
|
.dw winSensorWatch3*2 ; parent
|
||||||
|
.dw 0 ; first child
|
||||||
|
.dw 0 ; target
|
||||||
|
.dw 0 ; selector (ony lower 8 bits used)
|
||||||
|
.dw winSensorWatch3Value_signalmap*2 ; signal map
|
||||||
|
; WIDGET
|
||||||
|
.db 0, (1<<WIDGET_OPTSHI_HALIGNCENTER_BIT) ; opts lo, hi
|
||||||
|
.dw 2 ; X
|
||||||
|
.dw STYLE_WIN_FONT_HEIGHT+2+96+2 ; Y
|
||||||
|
.dw 96 ; W
|
||||||
|
.dw STYLE_WIN_FONT_HEIGHT+4 ; H
|
||||||
|
.dw STYLE_WIN_FOREGROUND ; front color
|
||||||
|
.dw STYLE_WIN_BACKGROUND ; back color
|
||||||
|
.dw STYLE_WIN_FONT*2 ; font
|
||||||
|
.dw winSensorWatch3Value_ramdata ; ptr to SDRAM
|
||||||
|
; VALUELABEL
|
||||||
|
.db 0, 0 ; num of post-komma digits
|
||||||
|
|
||||||
|
|
||||||
|
winSensorWatch3Value_signalmap:
|
||||||
|
.db 0, OBJECT_SIGNAL_CREATE, LOW(Widget_OnCreate), HIGH(Widget_OnCreate)
|
||||||
|
.db 0, WIDGET_SIGNAL_DRAW, LOW(ValueLabel_OnDraw), HIGH(ValueLabel_OnDraw)
|
||||||
|
.db 0, VLABEL_SIGNAL_SETVALUE, LOW(ValueLabel_OnSetValue), HIGH(ValueLabel_OnSetValue)
|
||||||
|
.db 0, 0, 0, 0 ; end of table
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -474,7 +474,17 @@ Widget_Clear:
|
|||||||
rcall OBJ_IsObject
|
rcall OBJ_IsObject
|
||||||
brcc Widget_Clear_ret
|
brcc Widget_Clear_ret
|
||||||
|
|
||||||
rcall Widget_LoadDisplayRegs
|
clr r4
|
||||||
|
clr r5
|
||||||
|
clr r6
|
||||||
|
clr r7
|
||||||
|
adiw zh:zl, WIDGET_OFFS_WIDTH_LO
|
||||||
|
lpm r8, Z+ ; WIDTH_LO
|
||||||
|
lpm r9, Z+
|
||||||
|
lpm r10, Z+ ; HEIGHT_LO
|
||||||
|
lpm r11, Z
|
||||||
|
sbiw zh:zl, WIDGET_OFFS_WIDTH_LO+3
|
||||||
|
|
||||||
rcall Widget_MakeAbsPos ; (R16, R17)
|
rcall Widget_MakeAbsPos ; (R16, R17)
|
||||||
rcall Widget_GetSdramPtr ; (none)
|
rcall Widget_GetSdramPtr ; (none)
|
||||||
; adiw zh:zl, WIDGET_OFFS_OPTS_LO ; get OPTS low
|
; adiw zh:zl, WIDGET_OFFS_OPTS_LO ; get OPTS low
|
||||||
@@ -537,8 +547,8 @@ Widget_SelectColors_ret:
|
|||||||
; @routine Widget_MakeAbsPos @global
|
; @routine Widget_MakeAbsPos @global
|
||||||
;
|
;
|
||||||
; @param Z byte address of widget object (for LPM!)
|
; @param Z byte address of widget object (for LPM!)
|
||||||
; @param r5:r4 X0
|
; @param r5:r4 X
|
||||||
; @param r7:r6 Y0
|
; @param r7:r6 Y
|
||||||
; @clobbers r16, r17
|
; @clobbers r16, r17
|
||||||
|
|
||||||
Widget_MakeAbsPos:
|
Widget_MakeAbsPos:
|
||||||
|
|||||||
Reference in New Issue
Block a user