avr: started working on xpt2046 module.
This commit is contained in:
@@ -254,6 +254,10 @@
|
||||
.include "modules/lcd2/ili9341/text.asm"
|
||||
#endif
|
||||
|
||||
#ifdef MODULES_XPT2046
|
||||
.include "modules/lcd2/xpt2046/main.asm"
|
||||
#endif
|
||||
|
||||
#ifdef MODULES_FONT
|
||||
.include "modules/lcd2/font/defs.asm"
|
||||
.include "modules/lcd2/font/main.asm"
|
||||
|
||||
@@ -183,6 +183,10 @@ onSystemTimerTick:
|
||||
bigcall GUI_Every100ms
|
||||
#endif
|
||||
|
||||
#ifdef MODULES_XPT2046
|
||||
bigcall XPT2046_Every100ms
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef APPS_NETWORK
|
||||
ldi yl, LOW(netInterfaceData)
|
||||
|
||||
@@ -193,6 +193,10 @@ initModules:
|
||||
bigcall ILI9341_Init
|
||||
#endif
|
||||
|
||||
#ifdef MODULES_XPT2046
|
||||
bigcall XPT2046_Init
|
||||
#endif
|
||||
|
||||
#ifdef MODULES_GUI
|
||||
bigcall GUI_Init
|
||||
#endif
|
||||
|
||||
@@ -151,6 +151,13 @@
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; XPT2046 module
|
||||
|
||||
.equ XPT2046_DEVICENUM = 1
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; ComOnUart module
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
#define MODULES_COM2W
|
||||
#define MODULES_SPI_HW
|
||||
#define MODULES_ILI9341
|
||||
#define MODULES_XPT2046
|
||||
#define MODULES_FONT
|
||||
#define MODULES_GUI
|
||||
;#define MODULES_TWI_MASTER
|
||||
@@ -169,6 +170,8 @@ irqNotSet:
|
||||
; @routine onSystemStart
|
||||
|
||||
onSystemStart:
|
||||
clr r16
|
||||
sts statsUpdateTimer, r16
|
||||
bigcall test
|
||||
ret
|
||||
; @end
|
||||
@@ -193,15 +196,26 @@ onMessageReceived:
|
||||
; Called every 100ms. Add your routine calls here. No arguments, no results.
|
||||
|
||||
onEvery100ms:
|
||||
onEverySecond:
|
||||
onEveryMinute:
|
||||
onEveryHour:
|
||||
onEveryDay:
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
onEveryMinute:
|
||||
onEverySecond:
|
||||
#ifdef MODULES_GUI
|
||||
lds r16, statsUpdateTimer
|
||||
inc r16
|
||||
cpi r16, 5
|
||||
brcc onEverySecond_updateStats
|
||||
sts statsUpdateTimer, r16
|
||||
ret
|
||||
onEverySecond_updateStats:
|
||||
bigcall WinNetStats_Update
|
||||
clr r16
|
||||
sts statsUpdateTimer, r16
|
||||
#endif
|
||||
ret
|
||||
|
||||
|
||||
@@ -220,7 +234,7 @@ onEveryLoop:
|
||||
test:
|
||||
#ifdef MODULES_GUI
|
||||
bigcall WinNetStats_Init
|
||||
bigcall WinNetStats_Draw
|
||||
bigcall WinNetStats_Show
|
||||
#endif
|
||||
ret
|
||||
|
||||
@@ -236,7 +250,7 @@ test:
|
||||
|
||||
;.include "common/debug.asm"
|
||||
|
||||
.include "modules/lcd2/gui/titlewindow.asm"
|
||||
.include "modules/lcd2/gui/titlewindow2.asm"
|
||||
;.include "modules/lcd2/font/font2.asm"
|
||||
;.include "modules/lcd2/font/font3.asm"
|
||||
;.include "modules/lcd2/font/font16x26.asm"
|
||||
@@ -265,6 +279,8 @@ test:
|
||||
|
||||
.dseg
|
||||
|
||||
statsUpdateTimer: .byte 1
|
||||
|
||||
heapStart:
|
||||
|
||||
|
||||
|
||||
@@ -15,20 +15,20 @@
|
||||
|
||||
|
||||
WinNetStats_Init:
|
||||
clr r16
|
||||
sts winNetstatsUpdateNum, r16
|
||||
sts winNetstatsUpdateNum+1, r16
|
||||
|
||||
; setup
|
||||
ldi yl, LOW(winNetstats)
|
||||
ldi yh, HIGH(winNetstats)
|
||||
bigcall TitleWindow_Init
|
||||
|
||||
ldi zl, LOW(ili9341Font12x20_1*2)
|
||||
ldi zh, HIGH(ili9341Font12x20_1*2)
|
||||
bigcall TitleWindow_SetFont
|
||||
ldi zl, LOW(STYLE_WIN_FONT*2)
|
||||
ldi zh, HIGH(STYLE_WIN_FONT*2)
|
||||
std Y+WIN_OFFS_FONT_LO, zl
|
||||
std Y+WIN_OFFS_FONT_HI, zh
|
||||
|
||||
ldi r16, LOW(winNetstats_title*2)
|
||||
std Y+TITLEWINDOW_OFFS_TITLEPTR_LO, r16
|
||||
ldi r16, HIGH(winNetstats_title*2)
|
||||
std Y+TITLEWINDOW_OFFS_TITLEPTR_HI, r16
|
||||
|
||||
bigcall TitleWindow_SetFullSize
|
||||
bigcall TitleWindow_SetStyleColors
|
||||
|
||||
@@ -37,64 +37,108 @@ WinNetStats_Init:
|
||||
|
||||
|
||||
|
||||
WinNetStats_Draw:
|
||||
ldi yl, LOW(winNetstats)
|
||||
ldi yh, HIGH(winNetstats)
|
||||
bigcall TitleWindow_Draw
|
||||
rcall WinNetStats_Update
|
||||
ret
|
||||
|
||||
|
||||
; @param @0 Y
|
||||
; @param @1 label addr
|
||||
; @param @2 data address
|
||||
|
||||
.macro WINNETSTATS_PRINTDATA
|
||||
.macro WINNETSTATS_PRINTLABEL
|
||||
; packets in
|
||||
ldi zl, LOW(@1 * 2)
|
||||
ldi zh, HIGH(@1 * 2)
|
||||
ldi r16, 2 ; X
|
||||
mov r4, r16
|
||||
clr r5
|
||||
ldi r16, LOW(@0) ; Y
|
||||
ldi r16, LOW(STYLE_WIN_TITLE_HEIGHT+@0) ; Y
|
||||
mov r6, r16
|
||||
ldi r16, HIGH(@0)
|
||||
ldi r16, HIGH(STYLE_WIN_TITLE_HEIGHT+@0)
|
||||
mov r7, r16
|
||||
bigcall Window_DrawTextFlash
|
||||
|
||||
.endmacro
|
||||
|
||||
|
||||
|
||||
; @param @0 Y
|
||||
; @param @1 data address
|
||||
|
||||
.macro WINNETSTATS_PRINTDATA
|
||||
ldi r16, 160 ; X
|
||||
mov r4, r16
|
||||
clr r5
|
||||
ldi r16, LOW(@0) ; Y
|
||||
ldi r16, LOW(STYLE_WIN_TITLE_HEIGHT+@0) ; Y
|
||||
mov r6, r16
|
||||
ldi r16, HIGH(@0)
|
||||
mov r7, r16
|
||||
lds r16, @2 ; data
|
||||
lds r17, @2+1
|
||||
lds r16, @1 ; data
|
||||
lds r17, @1+1
|
||||
bigcall Window_WriteHexWordAt
|
||||
.endmacro
|
||||
|
||||
|
||||
|
||||
WinNetStats_Show:
|
||||
; draw title window basics (with title)
|
||||
ldi yl, LOW(winNetstats)
|
||||
ldi yh, HIGH(winNetstats)
|
||||
ldi zl, LOW(winNetstats_title*2)
|
||||
ldi zh, HIGH(winNetstats_title*2)
|
||||
bigcall TitleWindow_DrawTitle
|
||||
|
||||
bigcall TitleWindow_ClearContentArea
|
||||
|
||||
; packets in
|
||||
WINNETSTATS_PRINTLABEL 2, winNetstats_lPacketsIn
|
||||
; packets out
|
||||
WINNETSTATS_PRINTLABEL 24, winNetstats_lPacketsOut
|
||||
; eContent
|
||||
WINNETSTATS_PRINTLABEL 46, winNetstats_lContentErr
|
||||
; eIO
|
||||
WINNETSTATS_PRINTLABEL 68, winNetstats_lIoErr
|
||||
; eMsgSize
|
||||
WINNETSTATS_PRINTLABEL 90, winNetstats_lMsgSizeErr
|
||||
|
||||
; X
|
||||
WINNETSTATS_PRINTLABEL 112, winNetstats_lX
|
||||
; Y
|
||||
WINNETSTATS_PRINTLABEL 134, winNetstats_lY
|
||||
; Z
|
||||
WINNETSTATS_PRINTLABEL 156, winNetstats_lZ
|
||||
; update num
|
||||
WINNETSTATS_PRINTLABEL 178, winNetstats_lUpdate
|
||||
|
||||
rcall WinNetStats_Update
|
||||
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
WinNetStats_Update:
|
||||
lds r16, winNetstatsUpdateNum
|
||||
inc r16
|
||||
sts winNetstatsUpdateNum, r16
|
||||
|
||||
ldi yl, LOW(winNetstats)
|
||||
ldi yh, HIGH(winNetstats)
|
||||
|
||||
adiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN
|
||||
bigcall Window_Clear
|
||||
|
||||
; packets in
|
||||
WINNETSTATS_PRINTDATA 2, winNetstats_lPacketsIn, netInterfaceData+NET_IFACE_OFFS_PACKETSIN_LOW
|
||||
WINNETSTATS_PRINTDATA 2, netInterfaceData+NET_IFACE_OFFS_PACKETSIN_LOW
|
||||
; packets out
|
||||
WINNETSTATS_PRINTDATA 24, winNetstats_lPacketsOut, netInterfaceData+NET_IFACE_OFFS_PACKETSOUT_LOW
|
||||
WINNETSTATS_PRINTDATA 24, netInterfaceData+NET_IFACE_OFFS_PACKETSOUT_LOW
|
||||
; eContent
|
||||
WINNETSTATS_PRINTDATA 46, winNetstats_lContentErr, netInterfaceData+NET_IFACE_OFFS_ERR_CONTENT_LOW
|
||||
WINNETSTATS_PRINTDATA 46, netInterfaceData+NET_IFACE_OFFS_ERR_CONTENT_LOW
|
||||
; eIO
|
||||
WINNETSTATS_PRINTDATA 68, winNetstats_lIoErr, netInterfaceData+NET_IFACE_OFFS_ERR_IO_LOW
|
||||
WINNETSTATS_PRINTDATA 68, netInterfaceData+NET_IFACE_OFFS_ERR_IO_LOW
|
||||
; eMsgSize
|
||||
WINNETSTATS_PRINTDATA 90, winNetstats_lMsgSizeErr, netInterfaceData+NET_IFACE_OFFS_ERR_MSGSIZE_LOW
|
||||
WINNETSTATS_PRINTDATA 90, netInterfaceData+NET_IFACE_OFFS_ERR_MSGSIZE_LOW
|
||||
|
||||
; X
|
||||
WINNETSTATS_PRINTDATA 112, xpt2046CurrentX
|
||||
; Y
|
||||
WINNETSTATS_PRINTDATA 134, xpt2046CurrentY
|
||||
; Z
|
||||
WINNETSTATS_PRINTDATA 156, xpt2046CurrentZ
|
||||
; update num
|
||||
WINNETSTATS_PRINTDATA 178, winNetstatsUpdateNum
|
||||
|
||||
sbiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN
|
||||
ret
|
||||
; @end
|
||||
|
||||
@@ -107,13 +151,20 @@ winNetstats_lPacketsOut: .db "Pkgs Out:", 0
|
||||
winNetstats_lContentErr: .db "eContent:", 0
|
||||
winNetstats_lIoErr: .db "eIO :", 0
|
||||
winNetstats_lMsgSizeErr: .db "eMsgSize:", 0
|
||||
winNetstats_lX: .db "X :", 0
|
||||
winNetstats_lY: .db "Y :", 0
|
||||
winNetstats_lZ: .db "Z :", 0
|
||||
winNetstats_lUpdate: .db "Update :", 0
|
||||
.dseg
|
||||
|
||||
winNetstats:
|
||||
.byte WIN_SIZE
|
||||
|
||||
|
||||
|
||||
.dseg
|
||||
|
||||
winNetstats:
|
||||
.byte TITLEWINDOW_SIZE
|
||||
|
||||
winNetstatsUpdateNum: .byte 2
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -51,8 +51,6 @@
|
||||
.equ NET_MSGNUMINBUF_SIZE = 8 ; max buffer nums in ringbuffer (global incoming)
|
||||
.equ NET_IFACE_OUTMSGBUF_SIZE = 8 ; max buffer nums in ringbuffer (per interface outbound)
|
||||
|
||||
.equ PROGRAM_SENSOR_INTERVAL_SECS = 60
|
||||
.equ PROGRAM_STATS_INTERVAL_MINS = 10
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user