5#if !defined(OSCR_HARDWARE_OUTPUTS_SERIAL_ANSI_H_)
6# define OSCR_HARDWARE_OUTPUTS_SERIAL_ANSI_H_
10# if defined(ENABLE_SERIAL_ANSI)
12# include "common/Types.h"
13# include "common/specializations.h"
19 extern char const PROGMEM ESC[];
20 extern char const PROGMEM SEP[];
21 extern char const PROGMEM END[];
22 extern char const PROGMEM CLEAR[];
23 extern char const PROGMEM TITLE[];
24 extern char const PROGMEM CURSOR[];
25 extern char const PROGMEM SHOW[];
26 extern char const PROGMEM HIDE[];
28 extern char const PROGMEM C_SAVE[];
29 extern char const PROGMEM C_RESTORE[];
30 extern char const PROGMEM C_HOME[];
31 extern char const PROGMEM C_ERASE_LINE[];
32 extern char const PROGMEM C_ERASE_DIR[];
33 extern char const PROGMEM C_MOVE_UP[];
34 extern char const PROGMEM C_MOVE_DOWN[];
35 extern char const PROGMEM C_MOVE_FORWARD[];
36 extern char const PROGMEM C_MOVE_BACKWARD[];
39 inline constexpr uint8_t
const inputEsc[2] = { 0x1B, 0x5B };
41 extern Foreground foreground;
42 extern Background background;
46 OSCR::Util::enable_if_t<OSCR::Util::is_format<T>::value,
bool> Enable =
true>
47 inline uint8_t code(T _code)
49 return static_cast<uint8_t
>(_code);
52 extern void format(uint8_t code);
53 extern void format(Format code);
54 extern void format(Format codes[], uint8_t size);
57 OSCR::Util::enable_if_t<OSCR::Util::is_format<T>::value,
bool> Enable =
true>
58 inline void format(T code)
60 format(
static_cast<uint8_t
>(code));
63 extern void showCursor();
64 extern void hideCursor();
66 extern void saveCursorPos();
67 extern void restoreCursorPos();
69 extern void moveCursor(uint8_t row, uint8_t col = 0);
71 extern void moveCursorUp(uint8_t rows = 1);
72 extern void moveCursorDown(uint8_t rows = 1);
73 extern void moveCursorForward(uint8_t cols = 1);
74 extern void moveCursorBackward(uint8_t cols = 1);
76 extern void eraseToEnd();
77 extern void eraseToStart();
78 extern void eraseLine();
79 extern void eraseDown();
80 extern void eraseUp();
82 extern void setForeground(Foreground fg);
83 extern void setBackground(Background bg);
85 extern void apply(
bool resetStyles =
true);
87 extern void clear(
bool reset =
true);
93 Serial::ANSI::format(Style::Bold);
94 OSCR::Serial::print(text);
95 Serial::ANSI::format(Style::Reset);
102 OSCR::Serial::printLine();
105 extern void boldUpper(
char const * str);
106 extern void boldUpper(__FlashStringHelper
const * flashStr);
108 extern void boldUpperLine(
char const * str);
109 extern void boldUpperLine(__FlashStringHelper
const * flashStr);
void clear()
Definition ascii.cpp:59