From 830ecd93d42d8ea308b7b1f112b27a040744d03e Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Sat, 16 Jul 2011 20:09:08 +0200 Subject: [PATCH] More support functions --- firmware/lcd/print.c | 13 +++++++++++++ firmware/lcd/print.h | 3 +++ firmware/lcd/render.c | 4 ++++ firmware/lcd/render.h | 1 + 4 files changed, 21 insertions(+) diff --git a/firmware/lcd/print.c b/firmware/lcd/print.c index a7391a5..96c39cc 100644 --- a/firmware/lcd/print.c +++ b/firmware/lcd/print.c @@ -1,6 +1,7 @@ #include #include #include +#include int x=0; int y=0; @@ -26,6 +27,14 @@ void lcdPrintIntHex(const int num){ x=DoIntX(x,y,num); }; +void lcdPrintCharHex(const uint8_t num){ + x=DoCharX(x,y,num); +}; + +void lcdPrintShortHex(const uint16_t num){ + x=DoShortX(x,y,num); +}; + void lcdClear(){ x=0;y=0; lcdFill(0); @@ -44,3 +53,7 @@ void lcdSetCrsr(int dx,int dy){ x=dx; y=dy; }; + +void lcdSetCrsrX(int dx){ + x=dx; +}; diff --git a/firmware/lcd/print.h b/firmware/lcd/print.h index 6e29870..d1d8de5 100644 --- a/firmware/lcd/print.h +++ b/firmware/lcd/print.h @@ -3,8 +3,11 @@ void lcdNl(void); void lcdPrintln(const char *string); void lcdPrintInt(const int num); void lcdPrintIntHex(const int num); +void lcdPrintCharHex(const uint8_t num); +void lcdPrintShortHex(const uint16_t num); void lcdClear(); void lcdRefresh(); void lcdMoveCrsr(signed int dx,signed int dy); void lcdSetCrsr(int dx,int dy); +void lcdSetCrsrX(int dx); diff --git a/firmware/lcd/render.c b/firmware/lcd/render.c index 33acc23..dbd2ef0 100644 --- a/firmware/lcd/render.c +++ b/firmware/lcd/render.c @@ -217,3 +217,7 @@ int DoIntX(int sx, int sy, unsigned int num){ int DoCharX(int sx, int sy, unsigned char num){ return DoIntXn(sx, sy, num, 2); }; + +int DoShortX(int sx, int sy, uint16_t num){ + return DoIntXn(sx, sy, num, 4); +}; diff --git a/firmware/lcd/render.h b/firmware/lcd/render.h index dd56050..563c6a0 100644 --- a/firmware/lcd/render.h +++ b/firmware/lcd/render.h @@ -32,5 +32,6 @@ int DoInt(int sx, int sy, int num); int DoIntXn(int sx, int sy, unsigned int num, unsigned int maxlen); int DoIntX(int sx, int sy, unsigned int num); int DoCharX(int sx, int sy, unsigned char num); +int DoShortX(int sx, int sy, uint16_t num); #endif