display tests

This commit is contained in:
Wolfgang Hottgenroth 2024-03-12 17:53:42 +01:00
parent 88e0cff853
commit 633fc814b2
4 changed files with 27 additions and 3 deletions

View File

@ -11,7 +11,7 @@ CFLAGS=-Wall -mmcu=$(MCU) -std=gnu99 -I $(TOOLCHAIN_PREFIX)/include -O3 -g0
LDFLAGS=-mmcu=$(MCU) -L $(TOOLCHAIN_PREFIX)/include LDFLAGS=-mmcu=$(MCU) -L $(TOOLCHAIN_PREFIX)/include
$(ARTIFACT).elf: main.o led.o time.o PontCoopScheduler.o displayDriver.o canvas.o displayTest.o $(ARTIFACT).elf: main.o led.o time.o PontCoopScheduler.o displayDriver.o canvas.o displayTest.o displayTest2.o displayTest3.o displayTest4.o
$(CC) -o $@ $(LDFLAGS) $^ $(CC) -o $@ $(LDFLAGS) $^
$(OBJDUMP) -D $(ARTIFACT).elf > $(ARTIFACT).txt $(OBJDUMP) -D $(ARTIFACT).elf > $(ARTIFACT).txt

View File

@ -31,3 +31,23 @@ void canvasShow() {
void canvasSetPixel(uint8_t column, uint8_t row, uint8_t color) { void canvasSetPixel(uint8_t column, uint8_t row, uint8_t color) {
*((canvas.canvas) + (row * canvas.width + column)) = (color + 0x80); *((canvas.canvas) + (row * canvas.width + column)) = (color + 0x80);
} }
void canvasWipeRow(uint8_t row) {
memmove(((canvas.canvas)+canvas.width), canvas.canvas, canvas.width*row);
for (uint8_t i = 10; i < canvas.width*(row+1); i++) {
*((canvas.canvas)+i) += 0x80;
}
memset(canvas.canvas, 0x80, canvas.width);
}
uint8_t canvasIsRowFilled(uint8_t row) {
uint8_t res = 1;
for (uint8_t column = 0; column < canvas.width; column++) {
if (*((canvas.canvas) + (row * canvas.width + column)) == 0) {
res = 0;
break;
}
}
return res;
}

View File

@ -18,7 +18,8 @@ void canvasInit();
canvas_t *canvasGet(); canvas_t *canvasGet();
void canvasShow(); void canvasShow();
void canvasSetPixel(uint8_t column, uint8_t row, uint8_t color); void canvasSetPixel(uint8_t column, uint8_t row, uint8_t color);
void canvasWipeRow(uint8_t row);
uint8_t canvasIsRowFilled(uint8_t row);
#endif // _CANVAS_H_ #endif // _CANVAS_H_

5
main.c
View File

@ -9,6 +9,9 @@
#include "displayDriver.h" #include "displayDriver.h"
#include "canvas.h" #include "canvas.h"
#include "displayTest.h" #include "displayTest.h"
#include "displayTest2.h"
#include "displayTest3.h"
#include "displayTest4.h"
int main() { int main() {
@ -29,7 +32,7 @@ int main() {
ledInit(); ledInit();
displayDriverInit(); displayDriverInit();
canvasInit(); canvasInit();
displayTestInit(); displayTest3Init();
__enable_interrupt(); __enable_interrupt();