From 2b4046313d51959037ad851ebd62fecbcc58e9cf Mon Sep 17 00:00:00 2001 From: timerix Date: Wed, 31 Aug 2022 21:44:56 +0600 Subject: [PATCH] kprint_format --- src/base/base.h | 1 + src/base/kprint/README.md | 2 + src/base/kprint/data_fmt.txt | 13 ++++++ src/base/kprint/kprint.c | 22 +++++++++++ src/base/kprint/kprint.h | 51 ++++++++++++++++++++++++ src/base/kprint/kprint_colors.h | 55 ++++++++++++++++++++++++++ src/base/kprint/kprint_format.h | 70 +++++++++++++++++++++++++++++++++ src/base/std.h | 1 + 8 files changed, 215 insertions(+) create mode 100644 src/base/kprint/README.md create mode 100644 src/base/kprint/data_fmt.txt create mode 100644 src/base/kprint/kprint.c create mode 100644 src/base/kprint/kprint.h create mode 100644 src/base/kprint/kprint_colors.h create mode 100644 src/base/kprint/kprint_format.h diff --git a/src/base/base.h b/src/base/base.h index cd9346a..c728a94 100644 --- a/src/base/base.h +++ b/src/base/base.h @@ -11,6 +11,7 @@ extern "C" { #include "types.h" #include "unitype.h" #include "init.h" +#include "kprint/kprint.h" #if __cplusplus } diff --git a/src/base/kprint/README.md b/src/base/kprint/README.md new file mode 100644 index 0000000..e375f83 --- /dev/null +++ b/src/base/kprint/README.md @@ -0,0 +1,2 @@ +## kprint +I don't really like printf function, so i made safer and more convinient replacement. \ No newline at end of file diff --git a/src/base/kprint/data_fmt.txt b/src/base/kprint/data_fmt.txt new file mode 100644 index 0000000..31f434f --- /dev/null +++ b/src/base/kprint/data_fmt.txt @@ -0,0 +1,13 @@ +[data types] +int 0x2000 00100000 00000000 +uint + withPostfix + uppercase 0x2001 00100000 00000001 +hex + withPrefix + uppercase 0x2002 00100000 00000010 +bin + withPrefix 0x2003 00100000 00000011 +float + withPostfix + uppercase 0x3000 00110000 00000000 +char 0x3001 00110000 00000001 +string 0x3002 00110000 00000010 +??? 0x3003 00110000 00000011 + +[optional flags] +withPrefix = withPostfix 0x0004 00000000 00000100 +upperase 0x0008 00000000 00001000 \ No newline at end of file diff --git a/src/base/kprint/kprint.c b/src/base/kprint/kprint.c new file mode 100644 index 0000000..ade114d --- /dev/null +++ b/src/base/kprint/kprint.c @@ -0,0 +1,22 @@ +#include "../base.h" + + + +Maybe __ksprint(uint8 n, uint16 sizes[32], ...){ + for(uint8 i=0; i #include #include +#include #include #include #include