// menu_oled.h // Affiche un menu sur LCD Oled 1306 // Affichage/Saisie depuis le menu et retourne le choix de l'utilisateur // Castoo // Décembre 2019 /* menu_oled.h - Objet destiné à être utilisé avec Arduino ou ESPxxx. Possibilité de supporter différents LCD mais l'objet a été créée avec un OLED SD1306 Possibilité de supporter différents Encodeurs rotatifs mais l'objet a été créée avec un KY-040 30 pas Création Jean Michel Castille décembre 2019 / castoo.fr Cette bibliothèque est un logiciel libre; Vous pouvez la redistribuer et ou la modifier. Cette bibliothèque est distribuée dans l'espoir qu'elle sera utile, mais SANS AUCUNE GARANTIE, sans même la garantie implicite de QUALITÉ MARCHANDE ou ADÉQUATION À UN USAGE PARTICULIER. */ #ifndef menu_oled_h #define menu_oled_h #include <Wire.h> #include "SSD1306Wire.h" class menu_oled{ private: SSD1306Wire *_ecran; // Ecran OLED uint8_t PinCLK; // Gpio x sur sortie Clk du selecteur rotatif uint8_t PinDT; // Gpio x sur sortie DT du selecteur rotatif uint8_t PinSW; // Gpio x sur sortie SW du selecteur rotatif int max_ch; // Nb max de chaine du menu String * _ch_menu; // Pointeur sur tableau des chaines public: // Constructeur permet de passer les cnx du bouton de commande et le nom du LCD menu_oled(uint8_t vclk, uint8_t vdt, uint8_t vsw, SSD1306Wire &ecran); // Initialisation du menu permet de passer le nb de choix et un tableau des chaines de choix uint8_t init(int nb_ch_menu, String &ch_menu); private: // Affichage du menu A void aff_menu(int pos); // Selection dans le menu A à l'aide selecteur rotatif uint8_t sel_menu(int max); }; #endif