avr: added sensor watches for Temp and hunidity.
This commit is contained in:
@@ -253,6 +253,27 @@ test:
|
||||
ldi xh, HIGH(2000)
|
||||
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
|
||||
|
||||
|
||||
|
||||
@@ -49,6 +49,31 @@ winSensorWatch1Image_ramdata:
|
||||
winSensorWatch1Value_ramdata:
|
||||
.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:
|
||||
; OBJECT
|
||||
.db 0x55, 0xaa ; magic
|
||||
.dw 0 ; next
|
||||
.dw winSensorWatch2*2 ; next
|
||||
.dw testWinBody_flashdata*2 ; parent
|
||||
.dw winSensorWatch1Title*2 ; first child
|
||||
.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
|
||||
|
||||
@@ -474,7 +474,17 @@ Widget_Clear:
|
||||
rcall OBJ_IsObject
|
||||
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_GetSdramPtr ; (none)
|
||||
; adiw zh:zl, WIDGET_OFFS_OPTS_LO ; get OPTS low
|
||||
@@ -537,8 +547,8 @@ Widget_SelectColors_ret:
|
||||
; @routine Widget_MakeAbsPos @global
|
||||
;
|
||||
; @param Z byte address of widget object (for LPM!)
|
||||
; @param r5:r4 X0
|
||||
; @param r7:r6 Y0
|
||||
; @param r5:r4 X
|
||||
; @param r7:r6 Y
|
||||
; @clobbers r16, r17
|
||||
|
||||
Widget_MakeAbsPos:
|
||||
|
||||
Reference in New Issue
Block a user