more work on c02 and lcd drivers.
This commit is contained in:
@@ -194,13 +194,17 @@ onMessageReceived:
|
||||
|
||||
onEvery100ms:
|
||||
onEverySecond:
|
||||
onEveryMinute:
|
||||
onEveryHour:
|
||||
onEveryDay:
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
onEveryMinute:
|
||||
bigcall WinNetStats_Update
|
||||
ret
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine onEveryLoop
|
||||
@@ -216,6 +220,7 @@ onEveryLoop:
|
||||
test:
|
||||
#ifdef MODULES_GUI
|
||||
bigcall WinNetStats_Init
|
||||
bigcall WinNetStats_Draw
|
||||
#endif
|
||||
ret
|
||||
|
||||
@@ -231,14 +236,14 @@ test:
|
||||
|
||||
;.include "common/debug.asm"
|
||||
|
||||
.include "modules/lcd2/gui/titledwindow.asm"
|
||||
.include "modules/lcd2/gui/titlewindow.asm"
|
||||
;.include "modules/lcd2/font/font2.asm"
|
||||
;.include "modules/lcd2/font/font3.asm"
|
||||
;.include "modules/lcd2/font/font16x26.asm"
|
||||
;.include "modules/lcd2/font/font4.asm"
|
||||
;.include "modules/lcd2/font/font12x16.asm"
|
||||
.include "modules/lcd2/ili9341/font6x8.asm"
|
||||
.include "modules/lcd2/ili9341/font6x8_1.asm"
|
||||
.include "modules/lcd2/ili9341/font12x20.asm"
|
||||
.include "modules/lcd2/ili9341/font12x20_1.asm"
|
||||
;.include "common/list_t.asm"
|
||||
;.include "common/tree_t.asm"
|
||||
;.include "common/divide.asm"
|
||||
|
||||
@@ -18,49 +18,101 @@ WinNetStats_Init:
|
||||
; setup
|
||||
ldi yl, LOW(winNetstats)
|
||||
ldi yh, HIGH(winNetstats)
|
||||
rcall TitleWindow_Init
|
||||
bigcall TitleWindow_Init
|
||||
|
||||
ldi zl, LOW(ili9341Font6x8_1*2)
|
||||
ldi zh, HIGH(ili9341Font6x8_1*2)
|
||||
ldi zl, LOW(ili9341Font12x20_1*2)
|
||||
ldi zh, HIGH(ili9341Font12x20_1*2)
|
||||
bigcall TitleWindow_SetFont
|
||||
|
||||
ldi r16, LOW(winNetstats_title*2)
|
||||
std Y+TITLEDWINDOW_OFFS_TITLEPTR_LO, r16
|
||||
std Y+TITLEWINDOW_OFFS_TITLEPTR_LO, r16
|
||||
ldi r16, HIGH(winNetstats_title*2)
|
||||
std Y+TITLEDWINDOW_OFFS_TITLEPTR_HI, r16
|
||||
|
||||
; setup size and pos
|
||||
clr r4
|
||||
clr r5
|
||||
clr r6
|
||||
clr r7
|
||||
ldi r16, LOW(DISPLAY_WIDTH)
|
||||
mov r8, r16
|
||||
ldi r16, HIGH(DISPLAY_WIDTH)
|
||||
mov r9, r16
|
||||
ldi r16, LOW(DISPLAY_HEIGHT)
|
||||
mov r10, r16
|
||||
ldi r16, HIGH(DISPLAY_HEIGHT)
|
||||
mov r11, r16
|
||||
bigcall TitleWindow_SetPosAndSize
|
||||
|
||||
; setup colors
|
||||
std Y+TITLEWINDOW_OFFS_TITLEPTR_HI, r16
|
||||
|
||||
bigcall TitleWindow_SetFullSize
|
||||
bigcall TitleWindow_SetStyleColors
|
||||
|
||||
bigcall TitleWindow_Draw
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
winNetstats_title: .db "Network Statistics", 0, 0
|
||||
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
|
||||
; 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
|
||||
mov r6, r16
|
||||
ldi r16, HIGH(@0)
|
||||
mov r7, r16
|
||||
bigcall Window_DrawTextFlash
|
||||
|
||||
ldi r16, 160 ; X
|
||||
mov r4, r16
|
||||
clr r5
|
||||
ldi r16, LOW(@0) ; Y
|
||||
mov r6, r16
|
||||
ldi r16, HIGH(@0)
|
||||
mov r7, r16
|
||||
lds r16, @2 ; data
|
||||
lds r17, @2+1
|
||||
bigcall Window_WriteHexWordAt
|
||||
.endmacro
|
||||
|
||||
|
||||
|
||||
WinNetStats_Update:
|
||||
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
|
||||
; packets out
|
||||
WINNETSTATS_PRINTDATA 24, winNetstats_lPacketsOut, netInterfaceData+NET_IFACE_OFFS_PACKETSOUT_LOW
|
||||
; eContent
|
||||
WINNETSTATS_PRINTDATA 46, winNetstats_lContentErr, netInterfaceData+NET_IFACE_OFFS_ERR_CONTENT_LOW
|
||||
; eIO
|
||||
WINNETSTATS_PRINTDATA 68, winNetstats_lIoErr, netInterfaceData+NET_IFACE_OFFS_ERR_IO_LOW
|
||||
; eMsgSize
|
||||
WINNETSTATS_PRINTDATA 90, winNetstats_lMsgSizeErr, netInterfaceData+NET_IFACE_OFFS_ERR_MSGSIZE_LOW
|
||||
|
||||
sbiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
winNetstats_title: .db "Network Statistics", 0, 0
|
||||
|
||||
winNetstats_lPacketsIn: .db "Pkgs In :", 0
|
||||
winNetstats_lPacketsOut: .db "Pkgs Out:", 0
|
||||
winNetstats_lContentErr: .db "eContent:", 0
|
||||
winNetstats_lIoErr: .db "eIO :", 0
|
||||
winNetstats_lMsgSizeErr: .db "eMsgSize:", 0
|
||||
|
||||
|
||||
.dseg
|
||||
|
||||
winNetstats:
|
||||
.byte TITLEDWINDOW_SIZE
|
||||
.byte TITLEWINDOW_SIZE
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
defs.asm
|
||||
main.asm
|
||||
style.asm
|
||||
titledwindow.asm
|
||||
titlewindow.asm
|
||||
window.asm
|
||||
</extradist>
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
.equ STYLE_WIN_FOREGROUND = DISPLAY_COLOR_BLACK
|
||||
|
||||
|
||||
.equ STYLE_WIN_TITLE_HEIGHT = 20
|
||||
.equ STYLE_WIN_TITLE_HEIGHT = 24
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -7,17 +7,17 @@
|
||||
; * Please see toplevel file COPYING of that project for license details. *
|
||||
; ***************************************************************************
|
||||
|
||||
#ifndef AQH_AVR_GUI_TITLEDWINDOW_ASM
|
||||
#define AQH_AVR_GUI_TITLEDWINDOW_ASM
|
||||
#ifndef AQH_AVR_GUI_TITLEWINDOW_ASM
|
||||
#define AQH_AVR_GUI_TITLEWINDOW_ASM
|
||||
|
||||
|
||||
|
||||
.equ TITLEDWINDOW_OFFS_SELF = 0
|
||||
.equ TITLEDWINDOW_OFFS_TITLEPTR_LO = WIN_SIZE
|
||||
.equ TITLEDWINDOW_OFFS_TITLEPTR_HI = WIN_SIZE+1
|
||||
.equ TITLEDWINDOW_OFFS_TITLEWIN = TITLEDWINDOW_OFFS_TITLEPTR_HI+1
|
||||
.equ TITLEDWINDOW_OFFS_CONTENTWIN = TITLEDWINDOW_OFFS_TITLEWIN+WIN_SIZE
|
||||
.equ TITLEDWINDOW_SIZE = TITLEDWINDOW_OFFS_CONTENTWIN+WIN_SIZE
|
||||
.equ TITLEWINDOW_OFFS_SELF = 0
|
||||
.equ TITLEWINDOW_OFFS_TITLEPTR_LO = WIN_SIZE
|
||||
.equ TITLEWINDOW_OFFS_TITLEPTR_HI = WIN_SIZE+1
|
||||
.equ TITLEWINDOW_OFFS_TITLEWIN = TITLEWINDOW_OFFS_TITLEPTR_HI+1
|
||||
.equ TITLEWINDOW_OFFS_CONTENTWIN = TITLEWINDOW_OFFS_TITLEWIN+WIN_SIZE
|
||||
.equ TITLEWINDOW_SIZE = TITLEWINDOW_OFFS_CONTENTWIN+WIN_SIZE
|
||||
|
||||
|
||||
|
||||
@@ -27,19 +27,19 @@
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine TitleWindow_Init @global
|
||||
;
|
||||
; @param Y pointer to titledwindow data (size=TITLEDWINDOW_SIZE)
|
||||
; @param Y pointer to titledwindow data (size=TITLEWINDOW_SIZE)
|
||||
|
||||
TitleWindow_Init:
|
||||
mov xl, yl
|
||||
mov xh, yh
|
||||
ldi r17, TITLEDWINDOW_SIZE
|
||||
ldi r17, TITLEWINDOW_SIZE
|
||||
clr r16
|
||||
bigcall Utils_FillSram ; (R17, X)
|
||||
|
||||
ldi r16, LOW(TitleWindow_Handler)
|
||||
std Y+(TITLEDWINDOW_OFFS_SELF+WIN_OFFS_HANDLER_LO), r16
|
||||
std Y+(TITLEWINDOW_OFFS_SELF+WIN_OFFS_HANDLER_LO), r16
|
||||
ldi r16, HIGH(TitleWindow_Handler)
|
||||
std Y+(TITLEDWINDOW_OFFS_SELF+WIN_OFFS_HANDLER_HI), r16
|
||||
std Y+(TITLEWINDOW_OFFS_SELF+WIN_OFFS_HANDLER_HI), r16
|
||||
ret
|
||||
; @end
|
||||
|
||||
@@ -57,16 +57,16 @@ TitleWindow_SetFont:
|
||||
std Y+WIN_OFFS_FONT_HI, zh
|
||||
|
||||
; setup title window
|
||||
adiw yh:yl, TITLEDWINDOW_OFFS_TITLEWIN
|
||||
adiw yh:yl, TITLEWINDOW_OFFS_TITLEWIN
|
||||
std Y+WIN_OFFS_FONT_LO, zl
|
||||
std Y+WIN_OFFS_FONT_HI, zh
|
||||
sbiw yh:yl, TITLEDWINDOW_OFFS_TITLEWIN
|
||||
sbiw yh:yl, TITLEWINDOW_OFFS_TITLEWIN
|
||||
|
||||
; setup content window
|
||||
adiw yh:yl, TITLEDWINDOW_OFFS_CONTENTWIN
|
||||
adiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN
|
||||
std Y+WIN_OFFS_FONT_LO, zl
|
||||
std Y+WIN_OFFS_FONT_HI, zh
|
||||
sbiw yh:yl, TITLEDWINDOW_OFFS_CONTENTWIN
|
||||
sbiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN
|
||||
|
||||
ret
|
||||
; @end
|
||||
@@ -94,7 +94,7 @@ TitleWindow_SetPosAndSize:
|
||||
std Y+WIN_OFFS_HEIGHT_HI, r11
|
||||
|
||||
; setup title window
|
||||
adiw yh:yl, TITLEDWINDOW_OFFS_TITLEWIN
|
||||
adiw yh:yl, TITLEWINDOW_OFFS_TITLEWIN
|
||||
std Y+WIN_OFFS_X_LO, r4
|
||||
std Y+WIN_OFFS_X_HI, r5
|
||||
std Y+WIN_OFFS_Y_LO, r6
|
||||
@@ -105,10 +105,10 @@ TitleWindow_SetPosAndSize:
|
||||
ldi r17, HIGH(STYLE_WIN_TITLE_HEIGHT)
|
||||
std Y+WIN_OFFS_HEIGHT_LO, r16
|
||||
std Y+WIN_OFFS_HEIGHT_HI, r17
|
||||
sbiw yh:yl, TITLEDWINDOW_OFFS_TITLEWIN
|
||||
sbiw yh:yl, TITLEWINDOW_OFFS_TITLEWIN
|
||||
|
||||
; setup content window
|
||||
adiw yh:yl, TITLEDWINDOW_OFFS_CONTENTWIN
|
||||
adiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN
|
||||
std Y+WIN_OFFS_X_LO, r4
|
||||
std Y+WIN_OFFS_X_HI, r5
|
||||
ldi r16, LOW(STYLE_WIN_TITLE_HEIGHT)
|
||||
@@ -125,13 +125,44 @@ TitleWindow_SetPosAndSize:
|
||||
sbci r17, HIGH(STYLE_WIN_TITLE_HEIGHT)
|
||||
std Y+WIN_OFFS_HEIGHT_LO, r16
|
||||
std Y+WIN_OFFS_HEIGHT_HI, r17
|
||||
sbiw yh:yl, TITLEDWINDOW_OFFS_CONTENTWIN
|
||||
sbiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN
|
||||
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine TitleWindow_SetFullSize @global
|
||||
;
|
||||
; @param Y pointer to screen object in SDRAM
|
||||
; @clobbers any, !Y
|
||||
|
||||
TitleWindow_SetFullSize:
|
||||
clr r4
|
||||
clr r5
|
||||
clr r6
|
||||
clr r7
|
||||
ldi r16, LOW(DISPLAY_WIDTH)
|
||||
mov r8, r16
|
||||
ldi r16, HIGH(DISPLAY_WIDTH)
|
||||
mov r9, r16
|
||||
ldi r16, LOW(DISPLAY_HEIGHT)
|
||||
mov r10, r16
|
||||
ldi r16, HIGH(DISPLAY_HEIGHT)
|
||||
mov r11, r16
|
||||
rcall TitleWindow_SetPosAndSize
|
||||
ret
|
||||
; @enb
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine TitleWindow_SetStyleColors @global
|
||||
;
|
||||
; @param Y pointer to screen object in SDRAM
|
||||
; @clobbers any, !Y
|
||||
|
||||
TitleWindow_SetStyleColors:
|
||||
ldi r16, LOW(STYLE_WIN_BACKGROUND)
|
||||
ldi r17, HIGH(STYLE_WIN_BACKGROUND)
|
||||
@@ -143,7 +174,7 @@ TitleWindow_SetStyleColors:
|
||||
std Y+WIN_OFFS_FG_COL_HI, r17
|
||||
|
||||
; setup title window
|
||||
adiw yh:yl, TITLEDWINDOW_OFFS_TITLEWIN
|
||||
adiw yh:yl, TITLEWINDOW_OFFS_TITLEWIN
|
||||
ldi r16, LOW(STYLE_WIN_TITLE_BACKGROUND)
|
||||
ldi r17, HIGH(STYLE_WIN_TITLE_BACKGROUND)
|
||||
std Y+WIN_OFFS_BG_COL_LO, r16
|
||||
@@ -152,10 +183,10 @@ TitleWindow_SetStyleColors:
|
||||
ldi r17, HIGH(STYLE_WIN_TITLE_FOREGROUND)
|
||||
std Y+WIN_OFFS_FG_COL_LO, r16
|
||||
std Y+WIN_OFFS_FG_COL_HI, r17
|
||||
sbiw yh:yl, TITLEDWINDOW_OFFS_TITLEWIN
|
||||
sbiw yh:yl, TITLEWINDOW_OFFS_TITLEWIN
|
||||
|
||||
; setup content window
|
||||
adiw yh:yl, TITLEDWINDOW_OFFS_CONTENTWIN
|
||||
adiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN
|
||||
ldi r16, LOW(STYLE_WIN_BACKGROUND)
|
||||
ldi r17, HIGH(STYLE_WIN_BACKGROUND)
|
||||
std Y+WIN_OFFS_BG_COL_LO, r16
|
||||
@@ -164,7 +195,7 @@ TitleWindow_SetStyleColors:
|
||||
ldi r17, HIGH(STYLE_WIN_FOREGROUND)
|
||||
std Y+WIN_OFFS_FG_COL_LO, r16
|
||||
std Y+WIN_OFFS_FG_COL_HI, r17
|
||||
sbiw yh:yl, TITLEDWINDOW_OFFS_CONTENTWIN
|
||||
sbiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN
|
||||
|
||||
ret
|
||||
; @end
|
||||
@@ -174,31 +205,31 @@ TitleWindow_SetStyleColors:
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine TitleWindow_Draw @global
|
||||
;
|
||||
; @param Y pointer to titledwindow data (size=TITLEDWINDOW_SIZE)
|
||||
; @param Y pointer to titledwindow data (size=TITLEWINDOW_SIZE)
|
||||
|
||||
TitleWindow_Draw:
|
||||
; draw title window
|
||||
adiw yh:yl, TITLEDWINDOW_OFFS_TITLEWIN
|
||||
adiw yh:yl, TITLEWINDOW_OFFS_TITLEWIN
|
||||
rcall Window_Clear
|
||||
sbiw yh:yl, TITLEDWINDOW_OFFS_TITLEWIN
|
||||
sbiw yh:yl, TITLEWINDOW_OFFS_TITLEWIN
|
||||
|
||||
; write header
|
||||
ldd zl, Y+TITLEDWINDOW_OFFS_TITLEPTR_LO
|
||||
ldd zh, Y+TITLEDWINDOW_OFFS_TITLEPTR_HI
|
||||
adiw yh:yl, TITLEDWINDOW_OFFS_TITLEWIN
|
||||
ldd zl, Y+TITLEWINDOW_OFFS_TITLEPTR_LO
|
||||
ldd zh, Y+TITLEWINDOW_OFFS_TITLEPTR_HI
|
||||
adiw yh:yl, TITLEWINDOW_OFFS_TITLEWIN
|
||||
ldi r16, 5
|
||||
mov r4, r16
|
||||
clr r5
|
||||
ldi r16, 5
|
||||
ldi r16, 2
|
||||
mov r6, r16
|
||||
clr r7
|
||||
rcall Window_DrawTextFlash
|
||||
sbiw yh:yl, TITLEDWINDOW_OFFS_TITLEWIN
|
||||
sbiw yh:yl, TITLEWINDOW_OFFS_TITLEWIN
|
||||
|
||||
; clear content window
|
||||
adiw yh:yl, TITLEDWINDOW_OFFS_CONTENTWIN
|
||||
adiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN
|
||||
rcall Window_Clear
|
||||
sbiw yh:yl, TITLEDWINDOW_OFFS_CONTENTWIN
|
||||
sbiw yh:yl, TITLEWINDOW_OFFS_CONTENTWIN
|
||||
|
||||
ret
|
||||
; @end
|
||||
@@ -41,8 +41,7 @@ Window_Clear:
|
||||
; @param R5:R4 X (dest)
|
||||
; @param R7:R6 Y (dest)
|
||||
; @return R5:R4 X pos behind string
|
||||
; @return R7:R6 Y pos behind string
|
||||
; @clobbers any, !Y
|
||||
; @clobbers any, !Y, !R6, !R7
|
||||
|
||||
Window_DrawTextFlash:
|
||||
rcall winCalcAbsPosAndBorders ; (R18, R19)
|
||||
@@ -74,7 +73,7 @@ Window_DrawTextFlash_loopEnd:
|
||||
; @param R5:R4 X (dest)
|
||||
; @param R7:R6 Y (dest)
|
||||
; @return R5:R4 X pos behind char
|
||||
; @clobbers any, !Y, !R6, !R7
|
||||
; @clobbers any, !Y
|
||||
|
||||
Window_DrawCharAt:
|
||||
rcall winCalcAbsPosAndBorders
|
||||
@@ -182,6 +181,89 @@ winDrawChar_ret:
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine Window_WriteHexWordAt @global
|
||||
;
|
||||
; @param Y pointer to screen object in SDRAM
|
||||
; @param R17:R16 word to write
|
||||
; @param R5:R4 X (dest)
|
||||
; @param R7:R6 Y (dest)
|
||||
; @return R5:R4 X pos behind string
|
||||
; @clobbers any, !Y
|
||||
|
||||
Window_WriteHexWordAt:
|
||||
push r16
|
||||
mov r16, r17
|
||||
rcall Window_WriteHexByteAt
|
||||
pop r16
|
||||
rcall Window_WriteHexByteAt
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine Window_WriteHexByteAt @global
|
||||
;
|
||||
; @param Y pointer to screen object in SDRAM
|
||||
; @param R16 byte to write
|
||||
; @param R5:R4 X (dest)
|
||||
; @param R7:R6 Y (dest)
|
||||
; @return R5:R4 X pos behind string
|
||||
; @clobbers any, !Y
|
||||
|
||||
Window_WriteHexByteAt:
|
||||
push r16
|
||||
swap r16
|
||||
rcall winWriteNibble
|
||||
pop r16
|
||||
rcall winWriteNibble
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
winWriteNibble:
|
||||
push r4
|
||||
push r5
|
||||
push r6
|
||||
push r7
|
||||
rcall winNibbleToAscii ; write high nibble (r16, r17)
|
||||
rcall Window_DrawCharAt ; draw
|
||||
pop r7
|
||||
pop r6
|
||||
pop r5
|
||||
pop r4
|
||||
clr r17
|
||||
add r4, r18
|
||||
adc r5, r17
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine winNibbleToAscii
|
||||
;
|
||||
; Convert a nibble to an ASCII char.
|
||||
; @return R16 ASCII representation of that nibble (e.g. '0' for 0)
|
||||
; @param R16 byte (in bits 0-3)
|
||||
; @clobbers r16, r17
|
||||
|
||||
winNibbleToAscii:
|
||||
andi r16, 0xf
|
||||
cpi r16, 10
|
||||
brcs winNibbleToAscii_l1
|
||||
ldi r17, 7
|
||||
add r16, r17
|
||||
winNibbleToAscii_l1:
|
||||
ldi r17, '0'
|
||||
add r16, r17
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ ILI9341_Reset:
|
||||
rcall Utils_WaitForMilliSecs
|
||||
|
||||
rcall ili9341BeginSpi
|
||||
ldi r16, 0x29
|
||||
ldi r16, 0x29 ; display on
|
||||
rcall ili9341SendCommand
|
||||
rcall ili9341EndSpi
|
||||
|
||||
@@ -145,7 +145,7 @@ ILI9341_SetBacklight:
|
||||
ret
|
||||
ILI9341_SetBacklight_on:
|
||||
sbi ILI9341_LED_OUTPUT, ILI9341_LED_PIN
|
||||
|
||||
ret ; DEBUG
|
||||
push r16
|
||||
rcall ili9341BeginSpi
|
||||
|
||||
@@ -175,18 +175,29 @@ ILI9341_SetBacklight_on:
|
||||
|
||||
ILI9341_LeaveSleepMode:
|
||||
rcall ili9341BeginSpi
|
||||
|
||||
ldi r16, 0x11 ; sleep out
|
||||
rcall ili9341SendCommand
|
||||
rcall ili9341EndSpi
|
||||
ldi r16, 5
|
||||
ldi r16, 120
|
||||
rcall Utils_WaitForMilliSecs
|
||||
|
||||
rcall ili9341BeginSpi
|
||||
ldi r16, 0x38 ; idle mode off
|
||||
rcall ili9341SendCommand
|
||||
rcall ili9341EndSpi
|
||||
|
||||
rcall ili9341BeginSpi
|
||||
ldi r16, 0x13 ; normal mode on
|
||||
rcall ili9341SendCommand
|
||||
rcall ili9341EndSpi
|
||||
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
ili9341InitCommands:
|
||||
#if 1
|
||||
; display off
|
||||
.db 0x28, 0
|
||||
; PowerCtlA
|
||||
@@ -235,6 +246,32 @@ ili9341InitCommands:
|
||||
; end
|
||||
.db 0xff, 0xff
|
||||
|
||||
#else
|
||||
.db 0xef, 3, 0x03, 0x80, 0x02, 0x00
|
||||
.db 0xcf, 3, 0x00, 0xc1, 0x30, 0x00
|
||||
.db 0xed, 4, 0x64, 0x03, 0x12, 0x81
|
||||
.db 0xe8, 3, 0x85, 0x00, 0x78, 0x00
|
||||
.db 0xcb, 5, 0x39, 0x2c, 0x00, 0x34, 0x02, 0x00
|
||||
.db 0xf7, 1, 0x20, 0x00
|
||||
.db 0xea, 2, 0x00, 0x00
|
||||
.db 0xc0, 1, 0x23, 0x00
|
||||
.db 0xc1, 1, 0x10, 0x00
|
||||
.db 0xc5, 2, 0x3e, 0x28
|
||||
; .db 0xc7, 1, 0x86, 0x00
|
||||
.db 0xc7, 1, 0xb7, 0x00
|
||||
.db 0x36, 1, 0b11101000, 0x00
|
||||
.db 0x3a, 1, 0x55, 0x00
|
||||
.db 0xb1, 2, 0x00, ILI9341_FRAMERATE_100_HZ
|
||||
.db 0xb6, 3, 0x08, 0x82, 0x27, 0x00
|
||||
.db 0xf2, 1, 0x00, 0x00
|
||||
.db 0x26, 1, 0x01, 0x00
|
||||
.db 0xe0, 15, 0x0f, 0x31, 0x2b, 0x0c, 0x0e, 0x08, 0x4e, 0xf1
|
||||
.db 0x37, 0x07, 0x10, 0x03, 0x0e, 0x09, 0x00, 0x00
|
||||
.db 0xe1, 15, 0x00, 0x0e, 0x14, 0x03, 0x11, 0x07, 0x31, 0xc1
|
||||
.db 0x48, 0x08, 0x0f, 0x0c, 0x31, 0x36, 0x0f, 0x00
|
||||
; end
|
||||
.db 0xff, 0xff
|
||||
|
||||
|
||||
#endif ; AQH_AVR_ILI9341_MAIN_ASM
|
||||
|
||||
|
||||
Reference in New Issue
Block a user