avr: improved modules ILI9341 and XPT2046.

This commit is contained in:
Martin Preuss
2025-11-10 22:29:37 +01:00
parent ece4fe824a
commit 049d651fec
4 changed files with 173 additions and 26 deletions

View File

@@ -63,6 +63,91 @@ Display_FillRect_loopW:
; ---------------------------------------------------------------------------
; @routine Display_DrawHLine @global
;
; @param r3:r2 color
; @param r5:r4 X0
; @param r7:r6 Y0
; @param r9:r8 W
Display_DrawHLine:
push r15
in r15, SREG
cli
ldi r16, 1 ; height is 1
mov r10, r16
clr r11
rcall ili9341BeginSpi ; (R16, R17)
rcall ili9341SetAddressWindow ; (R16, r20, r21)
ldi r16, ILI9341_CMD_RAMWR ; start writing ro RAM
rcall ili9341SendCommand ; (R16)
cbi SPIHW_SS_OUTPUT, SPIHW_SS_PIN ; SS low
sbi ILI9341_DC_OUTPUT, ILI9341_DC_PIN ; D high (DATA)
mov r24, r8 ; W low
mov r25, r9 ; W high
Display_DrawHLine_loop:
mov r16, r3
rcall SPIHW_MasterTransfer ; (R16)
mov r16, r2
rcall SPIHW_MasterTransfer ; (R16)
sbiw r25:r24, 1
brne Display_DrawHLine_loop
sbi SPIHW_SS_OUTPUT, SPIHW_SS_PIN ; SS high
rcall ili9341EndSpi
out SREG, r15
pop r15
ret
; @end
; ---------------------------------------------------------------------------
; @routine Display_DrawVLine @global
;
; @param r3:r2 color
; @param r5:r4 X0
; @param r7:r6 Y0
; @param r11:r10 H
Display_DrawVLine:
push r15
in r15, SREG
cli
ldi r16, 1 ; width is 1
mov r8, r16
clr r9
rcall ili9341BeginSpi ; (R16, R17)
rcall ili9341SetAddressWindow ; (R16, r20, r21)
ldi r16, ILI9341_CMD_RAMWR ; start writing ro RAM
rcall ili9341SendCommand ; (R16)
cbi SPIHW_SS_OUTPUT, SPIHW_SS_PIN ; SS low
sbi ILI9341_DC_OUTPUT, ILI9341_DC_PIN ; D high (DATA)
mov r24, r10 ; H low
mov r25, r11 ; H high
Display_DrawVLine_loop:
mov r16, r3
rcall SPIHW_MasterTransfer ; (R16)
mov r16, r2
rcall SPIHW_MasterTransfer ; (R16)
sbiw r25:r24, 1
brne Display_DrawVLine_loop
sbi SPIHW_SS_OUTPUT, SPIHW_SS_PIN ; SS high
rcall ili9341EndSpi
out SREG, r15
pop r15
ret
; @end
; ---------------------------------------------------------------------------
; @routine Display_DrawChar @global