|
@@ -25,6 +25,10 @@
|
|
|
#include <string.h>
|
|
|
#include "layer_number.h"
|
|
|
|
|
|
+char *sprints(char *buf, char *src);
|
|
|
+char *sprintd(char *buf, char *leadstr, int data);
|
|
|
+char *sprint2d(char *buf, char *leadstr, int data);
|
|
|
+
|
|
|
extern int current_default_layer;
|
|
|
|
|
|
void init_helix_oled(void) {
|
|
@@ -64,55 +68,6 @@ void matrix_update(struct CharacterMatrix *dest,
|
|
|
}
|
|
|
# endif
|
|
|
|
|
|
-static char *sprint_decimal(char *buf, int data) {
|
|
|
- if (data > 9) {
|
|
|
- buf = sprint_decimal(buf, data/10);
|
|
|
- }
|
|
|
- *buf++ = "0123456789"[data%10];
|
|
|
- *buf = '\0';
|
|
|
- return buf;
|
|
|
-}
|
|
|
-
|
|
|
-static char *sprint_hex(char *buf, uint32_t data) {
|
|
|
- if (data > 0xf) {
|
|
|
- buf = sprint_hex(buf, data/0x10);
|
|
|
- }
|
|
|
- *buf++ = "0123456789abcdef"[data & 0xf];
|
|
|
- *buf = '\0';
|
|
|
- return buf;
|
|
|
-}
|
|
|
-
|
|
|
-char *sprints(char *buf, char *src) {
|
|
|
- while (*src) {
|
|
|
- *buf++ = *src++;
|
|
|
- }
|
|
|
- *buf = '\0';
|
|
|
- return buf;
|
|
|
-}
|
|
|
-
|
|
|
-char *sprintx(char *buf, char *leadstr, uint32_t data) {
|
|
|
- buf = sprints(buf, leadstr);
|
|
|
- buf = sprint_hex(buf, data);
|
|
|
- return buf;
|
|
|
-}
|
|
|
-
|
|
|
-char *sprintd(char *buf, char *leadstr, int data) {
|
|
|
- buf = sprints(buf, leadstr);
|
|
|
- buf = sprint_decimal(buf, data);
|
|
|
- return buf;
|
|
|
-}
|
|
|
-
|
|
|
-char *sprint2d(char *buf, char *leadstr, int data) {
|
|
|
- buf = sprints(buf, leadstr);
|
|
|
- if (data > 99) {
|
|
|
- return sprint_decimal(buf, data);
|
|
|
- }
|
|
|
- if (data < 10) {
|
|
|
- *buf++ = ' ';
|
|
|
- }
|
|
|
- return sprint_decimal(buf, data);
|
|
|
-}
|
|
|
-
|
|
|
# ifdef SSD1306OLED
|
|
|
static void render_logo(struct CharacterMatrix *matrix) {
|
|
|
# else
|