Robot Principal 26
Documentation du Club Robot INSA Rennes 2026
Chargement...
Recherche...
Aucune correspondance
Wheeledbase/lib/Logger/Logger.h
Aller à la documentation de ce fichier.
1//
2// Created by boris on 27/01/2025.
3//
10#ifndef LOGGER_H
11#define LOGGER_H
12
13#if LCD_OUTPUT
14#include "LiquidCrystal.h"
15#include <string>
16#endif
17
25//TODO: (2026-06-25) utiliser un enum
26#define MAX_NAME 50
27#define ERROR_LEVEL 3
28#define WARNING_LEVEL 2
29#define GOOD_LEVEL 1
30#define INFO_LEVEL 0
31#define SCREEN_LEVEL 10
33#undef Error_Handler
34#define Error_Handler() \
35while (1) {\
36printf("ERREUR MAJEURE dans %s:%d:%s \n", __FILE__, __LINE__,__FUNCTION__);\
37digitalWrite(LED_RED, HIGH);\
38delay(500);\
39digitalWrite(LED_RED, LOW);\
40delay(500);\
41}
42
47class Logger {
48public:
53 Logger(const char* name);
54
62 int log(uint8_t level, const char* format, ...);
63
64#if LCD_OUTPUT
69 static void setLcdOutput(LiquidCrystal &lcd) {
70 _lcdOutput = &lcd;
71 }
72#endif
73
78 static void sameLine(const char* str);
79private:
81 char _name[50];
83 static int log_static(uint8_t level,char* name, const char* format, va_list args);
84#if LCD_OUTPUT
86 static LiquidCrystal* _lcdOutput;
88 static char _lcdBuffer[4][21];
90 static uint8_t _lcdCursor;
91#endif
92}; // Logger
93
94#endif //LOGGER_H
Log pour la sortie console avec des couleurs et éventuellement la sortie LCD.
Definition Logger/Logger.h:49
static void setLcdOutput(LiquidCrystal &lcd)
Attache un écran LCD.
Definition Logger/Logger.h:70
Logger(const char *name)
Constructeur du logger.
static void sameLine(const char *str)
Ajoute du texte sur la même ligne.
int log(uint8_t level, const char *format,...)
affiche un message sur la sortie