Robot Principal 26
Documentation du Club Robot INSA Rennes 2026
Chargement...
Recherche...
Aucune correspondance
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#include <Arduino.h>
14#include "coloring.h"
15#if LCD_OUTPUT
16#include "LiquidCrystal.h"
17#include <string>
18#endif
19
27//TODO: (2026-06-25) utiliser un enum
28#define MAX_NAME 50
29#define ERROR_LEVEL 3
30#define WARNING_LEVEL 2
31#define GOOD_LEVEL 1
32#define INFO_LEVEL 0
33#define SCREEN_LEVEL 10
35#undef Error_Handler
36#define Error_Handler() \
37while (1) {\
38printf("ERREUR MAJEURE dans %s:%d:%s \n", __FILE__, __LINE__,__FUNCTION__);\
39digitalWrite(LED_RED, HIGH);\
40delay(500);\
41digitalWrite(LED_RED, LOW);\
42delay(500);\
43}
44
49class Logger {
50public:
55 Logger(const char* name);
56
64 int log(uint8_t level, const char* format, ...);
65
70 static void setLcdOutput(LiquidCrystal &lcd) {
71 _lcdOutput = &lcd;
72 }
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);
85 static LiquidCrystal* _lcdOutput;
87 static char _lcdBuffer[4][21];
89 static uint8_t _lcdCursor;
90}; // Logger
91
92#endif //LOGGER_H
static void setLcdOutput(LiquidCrystal &lcd)
Attache un écran LCD.
Definition Logger.h:70
static void sameLine(const char *str)
Ajoute du texte sur la même ligne.
Definition Logger.cpp:93
Logger(const char *name)
Constructeur du logger.
Definition Logger.cpp:14
int log(uint8_t level, const char *format,...)
affiche un message sur la sortie
Definition Logger.cpp:18
Définitions des codes ANSI pour colorer le shell.