Besoins d aide sur un code erreure -No such file or directory


bonjour
il y une erreure dans ce code je ne la trouve pas

menu h et menu liste

voici le code
code: [select]
#ifndef _menu_h_
#define _menu_h_

/* structure d'un menu */
typedef struct { 
const char* prompt;     // titre du menu 
const char** items;     // tableau de choix du menu 
const uint6_t nbitems;  // nombre de choix possibles 
void (*callbackfnct)(uint6_t menuitemselected); // pointeur sur fonction pour gérer le choix de l'utilisateur
} menu_t;

/* listes des touches de la shield lcd dfrobots */
typedef enum { 
bp_none,   // aucun bouton appuyé 
bp_select, // bouton select 
bp_left,   // bouton gauche 
bp_rigth,  // bouton droite 
bp_up,     // bouton haut 
bp_down    // bouton bas
} button_t;

#endif /* _menu_h_ */.


code: [select]
/* inclut la librairie liquidcrystal pour le lcd */
#include <liquidcrystal.h>
#include <menu.h.le> // fichier d'entête avec les types pour le menu

/* objet lcd sur les broches utilisées lcddem16481 */
static liquidcrystal lcd(8, 9, 4, 5, 6, 7);

/* menu principal */
static const char* main_menu_items[] ={ 
 "voltmetre",
 "cons electrique",
 "temp boitier", 
 "point de rosee",
};
static const menu_t main_menu = { 
 "votre choix ?", 
 main_menu_items, 
 4, 
 &domainmenuaction
};

/* sous menu pour point de rosée */
static const char* point_de_rosee_menu_items[] = {   
 "point de rosee"
 "parametre"
 
};
static const menu_t point_de_rosee_menu = {
 "votre choix ?", 
 point_de_rosee_menu_items, 
 1, 
 &dopointderoseemenuaction
};
 
 /** setup */
 void setup() {   
 
 /* configuration du lcd */ 
 lcd.begin(16, 4);
 }
 
 /** programme principal */
 void loop() {   
 
   /* affiche le menu principal */ 
 displaymenu(main_menu);   
 
 /* démo pour montrer la sortie du menu */ 
 lcd.clear(); 
 lcd.print(f("menu ferme")); 
 delay(2000);
 }
 
 /** fonction retournant le bouton appuyé (s'il y en un). */
 button_t readpushbutton(void) {   
 
 /* lecture de l'entrée a0 */
 unsigned int val = analogread(a0);   
 
 /* test suivant les fourchettes de valeurs */ 
 if (val > 1000) return bp_none; 
 if (val < 50) return bp_rigth;   
 if (val < 195) return bp_up;   
 if (val < 380) return bp_down;   
 if (val < 555) return bp_left;   
 if (val < 790) return bp_select;   
 
 /* par défaut aucun bouton n'est appuyé */ 
 return bp_none;
 }
 
 /** affiche le menu passé en argument */
 void displaymenu(const menu_t &menu) {   
 
 /* variable pour le menu */ 
 byte selectedmenuitem = 0;   // choix selectionné
 byte shouldexitmenu = false; // devient true quand l'utilisateur veut quitter le menu 
 button_t buttonpressed;      // contient le bouton appuyé   
 
 /* tant que l'utilisateur ne veut pas quitter pas le menu */ 
 while(!shouldexitmenu) {     
 
 /* affiche le menu */   
 lcd.clear();   
 lcd.print(menu.prompt);   
 lcd.setcursor(0, 1);   
 lcd.print(menu.items[selectedmenuitem]);     
 
 /* attend le relâchement du bouton */   
 while(readpushbutton() != bp_none);     
 
 /* attend l'appui sur un bouton */   
 while((buttonpressed = readpushbutton()) == bp_none);     
 
 /* anti rebond pour le bouton */   
 delay(30);     
 
 /* attend le relâchement du bouton */   
 while(readpushbutton() != bp_none);   
 
 /* gére l'appui sur le bouton */   
 switch(buttonpressed) {   
 case bp_up: // bouton haut = choix précédent       
 
 /* si il existe un choix précédent */     
 if(selectedmenuitem > 0) {         
 
 /* passe au choix précédent */       
 selectedmenuitem--;
 }     
 break;
 
 case bp_down: // bouton bas = choix suivant       
 
 /* si il existe un choix suivant */     
 if(selectedmenuitem < (menu.nbitems - 1)) {         
 
 /* passe au choix suivant */       
 selectedmenuitem++;
 }     
 break;     
 
 case bp_left: // bouton gauche = sorti du menu     
 shouldexitmenu = true;     
 break;     
 
 case bp_select: //   
 case bp_rigth:  // bouton droit ou select = validation du choix     
 menu.callbackfnct(selectedmenuitem);     
 break;
 }
 }
 }
 
 /** affiche le choix de l'utilisateur */
 void domainmenuaction(byte selectedmenuitem) {   
 
 /* cas spécial pour dr freeman */ 
 if(selectedmenuitem == 2) {     
 
 /* affiche le sous-menu pour point de rosée */   
 displaymenu(point de rosee_menu);

 } else {     
 
 /* affiche le choix de l'utilisateur */   
 displaychoice(selectedmenuitem, main_menu_items);
 }
 }
 
 /** affiche le choix de l'utilisateur */
 void dopointderoseemenuaction(byte selectedmenuitem) {   
 
 /* affiche le choix de l'utilisateur */ 
 displaychoice(selectedmenuitem, point_de_rosee_menu_items);
 }
 
 /** affiche le choix de l'utilisateur */
 void displaychoice(byte selectedmenuitem, const char** items) {   
 
 /* affiche le choix de l'utilisateur */ 
 lcd.clear(); 
 lcd.print(f("z'avez choisi :")); 
 lcd.setcursor(0, 1); 
 lcd.print(items[selectedmenuitem]);   
 
 /* attend l'appui sur le bouton gauche ou select */ 
 byte buttonpressed; 
 do {   
 buttonpressed = readpushbutton();
 } 
 while(buttonpressed != bp_left && buttonpressed != bp_select);
 }


merci

bonjour,
remplace
code: [select]
#include <menu.h.le> // fichier d'entête avec les types pour le menu
par
code: [select]
#include <menu.h> //le fichier d'entête avec les types pour le menu
pour voir


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Besoins d aide sur un code erreure -No such file or directory


arduino

Comments