TEST

Dependencies:   TS_DISCO_F746NG mbed LCD_DISCO_F746NG BSP_DISCO_F746NG lvgl_RB FastPWM millis

Committer:
becanromain
Date:
Mon Feb 17 22:35:53 2020 +0000
Revision:
6:1bb0ac9721d0
Parent:
5:cab3e2179cbf

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
becanromain 0:cf6b1eca3e67 1 #include "mbed.h"
becanromain 0:cf6b1eca3e67 2 #include "TS_DISCO_F746NG.h"
becanromain 0:cf6b1eca3e67 3 #include "LCD_DISCO_F746NG.h"
becanromain 0:cf6b1eca3e67 4 #include "lvgl/lvgl.h"
becanromain 0:cf6b1eca3e67 5 #include "lv_conf.h"
becanromain 0:cf6b1eca3e67 6 #include "millis.h"
becanromain 0:cf6b1eca3e67 7 #include "FastPWM.h"
becanromain 0:cf6b1eca3e67 8 #include <string>
becanromain 6:1bb0ac9721d0 9 //#include <stdio.h>
becanromain 4:6a3d12663549 10 #include "lv_i18n.h"
becanromain 4:6a3d12663549 11
becanromain 4:6a3d12663549 12 #include "lv_theme_rb.h" //GABOR
becanromain 0:cf6b1eca3e67 13
becanromain 0:cf6b1eca3e67 14 Ticker ticker; //Initialize system tick
becanromain 0:cf6b1eca3e67 15 LCD_DISCO_F746NG lcd; //Initialize display driver
becanromain 0:cf6b1eca3e67 16 TS_DISCO_F746NG ts; //Initialize touchpad driver
becanromain 0:cf6b1eca3e67 17 TS_StateTypeDef TS_State; //Initialize touch state sctruct
becanromain 0:cf6b1eca3e67 18
becanromain 0:cf6b1eca3e67 19 Serial serial(USBTX, USBRX);
becanromain 0:cf6b1eca3e67 20
becanromain 0:cf6b1eca3e67 21 /*********************
becanromain 0:cf6b1eca3e67 22 * ENTREES SORTIES
becanromain 0:cf6b1eca3e67 23 *********************/
becanromain 0:cf6b1eca3e67 24 //TENSION BATTERIE
becanromain 0:cf6b1eca3e67 25 AnalogIn AI_TENSION_BAT(A4);
becanromain 0:cf6b1eca3e67 26
becanromain 0:cf6b1eca3e67 27 //PWM
becanromain 0:cf6b1eca3e67 28 FastPWM fastpwm(D12,1); //steup pwm output on pin d12 with a prescaler of 1
becanromain 4:6a3d12663549 29
becanromain 4:6a3d12663549 30 //MARCHE POMPE
becanromain 4:6a3d12663549 31 DigitalOut DO_POMPE(D13);
becanromain 4:6a3d12663549 32
becanromain 0:cf6b1eca3e67 33 //COMPTEUR IMPULSION
becanromain 0:cf6b1eca3e67 34 DigitalIn DI_CPTPuls(D7);
becanromain 0:cf6b1eca3e67 35 //InterruptIn DI_CPTPuls(D7); //
becanromain 4:6a3d12663549 36
becanromain 4:6a3d12663549 37
becanromain 0:cf6b1eca3e67 38
becanromain 0:cf6b1eca3e67 39 /**********************
becanromain 0:cf6b1eca3e67 40 * VARIABLES GENERALES
becanromain 0:cf6b1eca3e67 41 **********************/
becanromain 0:cf6b1eca3e67 42 int X;
becanromain 0:cf6b1eca3e67 43 int Y;
becanromain 0:cf6b1eca3e67 44 Timer tempo;
becanromain 0:cf6b1eca3e67 45 bool Top1ms;
becanromain 0:cf6b1eca3e67 46 bool Top10ms;
becanromain 0:cf6b1eca3e67 47 bool Top100ms;
becanromain 0:cf6b1eca3e67 48 bool Top1s;
becanromain 0:cf6b1eca3e67 49 bool Top5s;
becanromain 0:cf6b1eca3e67 50 bool Top1min;
becanromain 0:cf6b1eca3e67 51 char text[100];
becanromain 0:cf6b1eca3e67 52 char text2[100];
becanromain 0:cf6b1eca3e67 53
becanromain 0:cf6b1eca3e67 54 int CsgPompe=0;
becanromain 0:cf6b1eca3e67 55
becanromain 0:cf6b1eca3e67 56 uint64_t Micros=0;
becanromain 0:cf6b1eca3e67 57
becanromain 0:cf6b1eca3e67 58 uint64_t MemMicros0=0;
becanromain 0:cf6b1eca3e67 59 uint64_t MemMicros1=0;
becanromain 0:cf6b1eca3e67 60 uint64_t MemMicros2=0;
becanromain 0:cf6b1eca3e67 61 uint64_t MemMicros3=0;
becanromain 0:cf6b1eca3e67 62 uint64_t MemMicros4=0;
becanromain 0:cf6b1eca3e67 63 uint64_t MemMicros5=0;
becanromain 0:cf6b1eca3e67 64
becanromain 6:1bb0ac9721d0 65 float *SaisieFloat;
becanromain 6:1bb0ac9721d0 66
becanromain 0:cf6b1eca3e67 67
becanromain 0:cf6b1eca3e67 68 int CalcFmPuls;
becanromain 0:cf6b1eca3e67 69 int CalcFdPuls;
becanromain 0:cf6b1eca3e67 70 bool FmCPTPuls;
becanromain 0:cf6b1eca3e67 71 uint64_t TimerPuls=0;
becanromain 0:cf6b1eca3e67 72 uint64_t TpsPuls=0;
becanromain 0:cf6b1eca3e67 73 float Calcul=0;
becanromain 0:cf6b1eca3e67 74 uint64_t MemTpsPuls=0;
becanromain 0:cf6b1eca3e67 75 uint64_t MemTps16Puls=0;
becanromain 0:cf6b1eca3e67 76 int NumDent=0;
becanromain 0:cf6b1eca3e67 77 uint64_t CptPuls=0;
becanromain 0:cf6b1eca3e67 78 uint64_t CalcDebit=0;
becanromain 0:cf6b1eca3e67 79 float TpsEntre2Puls[20];
becanromain 0:cf6b1eca3e67 80 float TpsMinEntre2Puls;
becanromain 0:cf6b1eca3e67 81 float TpsMaxEntre2Puls;
becanromain 0:cf6b1eca3e67 82 float VolParTour=1200;//en ml
becanromain 0:cf6b1eca3e67 83
becanromain 0:cf6b1eca3e67 84 int hres = 480;
becanromain 0:cf6b1eca3e67 85 int vres = 272;
becanromain 4:6a3d12663549 86 bool CDA_POMPE;
becanromain 0:cf6b1eca3e67 87
becanromain 6:1bb0ac9721d0 88 uint64_t TpsMaPpe=0;
becanromain 6:1bb0ac9721d0 89
becanromain 0:cf6b1eca3e67 90
becanromain 0:cf6b1eca3e67 91 uint64_t test=0;
becanromain 0:cf6b1eca3e67 92
becanromain 0:cf6b1eca3e67 93 //VARIABLES GESTION MOT DE PASSE
becanromain 0:cf6b1eca3e67 94
becanromain 0:cf6b1eca3e67 95
becanromain 0:cf6b1eca3e67 96 /*********************
becanromain 6:1bb0ac9721d0 97 * FONCTIONS GENERALES
becanromain 6:1bb0ac9721d0 98 *********************/
becanromain 6:1bb0ac9721d0 99 static char *S(string S);
becanromain 6:1bb0ac9721d0 100 char *Chemin;
becanromain 6:1bb0ac9721d0 101 static char *HHMMSS(int32_t seconde);
becanromain 6:1bb0ac9721d0 102
becanromain 6:1bb0ac9721d0 103 /*********************
becanromain 0:cf6b1eca3e67 104 * OBJET PAGES
becanromain 0:cf6b1eca3e67 105 *********************/
becanromain 0:cf6b1eca3e67 106 static lv_obj_t * BandeauHaut;
becanromain 0:cf6b1eca3e67 107 static void AFFBandeauHaut(int Num);
becanromain 0:cf6b1eca3e67 108 static lv_obj_t * SousMenu;
becanromain 0:cf6b1eca3e67 109 static void AFFSousMenu(int Num);
becanromain 0:cf6b1eca3e67 110 static lv_obj_t * Page;
becanromain 4:6a3d12663549 111 int PageAff=0;
becanromain 4:6a3d12663549 112 int MemPageAff=0;
becanromain 0:cf6b1eca3e67 113 static void AFFPage(int Num);
becanromain 0:cf6b1eca3e67 114
becanromain 4:6a3d12663549 115
becanromain 0:cf6b1eca3e67 116 static lv_obj_t * PopupMDP;
becanromain 0:cf6b1eca3e67 117 static void AFFPopupMDP();
becanromain 0:cf6b1eca3e67 118
becanromain 0:cf6b1eca3e67 119 static void init_all_themes(uint16_t hue);
becanromain 0:cf6b1eca3e67 120
becanromain 0:cf6b1eca3e67 121 /*********************
becanromain 0:cf6b1eca3e67 122 * OBJET GENERAUX
becanromain 0:cf6b1eca3e67 123 *********************/
becanromain 0:cf6b1eca3e67 124 static lv_obj_t *mbox;
becanromain 0:cf6b1eca3e67 125
becanromain 0:cf6b1eca3e67 126 /*****************************
becanromain 0:cf6b1eca3e67 127 * VARIABLES/OBJETS CONNEXION
becanromain 0:cf6b1eca3e67 128 *****************************/
becanromain 0:cf6b1eca3e67 129 static lv_obj_t * SelectID;
becanromain 0:cf6b1eca3e67 130 static lv_obj_t * MDP;
becanromain 0:cf6b1eca3e67 131 static void SelectID_ACT(lv_obj_t * obj, lv_event_t event);
becanromain 0:cf6b1eca3e67 132 uint32_t TpsMdpEnCours=0;
becanromain 0:cf6b1eca3e67 133 struct Personne
becanromain 0:cf6b1eca3e67 134 {
becanromain 0:cf6b1eca3e67 135 string Nom;
becanromain 0:cf6b1eca3e67 136 string MDP; //mot de passe à 4 chiffres
becanromain 0:cf6b1eca3e67 137 int Niveau; //0:aucun 1:Opérateur 2:superviseur 3:constructeur
becanromain 0:cf6b1eca3e67 138 int Tps; //Temps de connexion
becanromain 0:cf6b1eca3e67 139 };
becanromain 0:cf6b1eca3e67 140 Personne User[100];
becanromain 0:cf6b1eca3e67 141 Personne UserEC;
becanromain 0:cf6b1eca3e67 142 static void BpValidMDP_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 143 static void BpAnnulMDP_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 144 static void mboxMdp_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 145 static void mboxMdp_ACT2(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 146
becanromain 0:cf6b1eca3e67 147 /*********************
becanromain 0:cf6b1eca3e67 148 * OBJETS BP MENU
becanromain 0:cf6b1eca3e67 149 *********************/
becanromain 6:1bb0ac9721d0 150
becanromain 6:1bb0ac9721d0 151 static lv_obj_t * BPMENU;
becanromain 0:cf6b1eca3e67 152 static lv_obj_t * M100;
becanromain 0:cf6b1eca3e67 153 static lv_obj_t * M200;
becanromain 0:cf6b1eca3e67 154 static lv_obj_t * M300;
becanromain 0:cf6b1eca3e67 155 static lv_obj_t * M400;
becanromain 0:cf6b1eca3e67 156 static lv_obj_t * M500;
becanromain 0:cf6b1eca3e67 157 static lv_obj_t * M600;
becanromain 6:1bb0ac9721d0 158 static lv_obj_t * M700;
becanromain 0:cf6b1eca3e67 159
becanromain 0:cf6b1eca3e67 160 //FONCTIONS ASSOCIEES
becanromain 6:1bb0ac9721d0 161
becanromain 6:1bb0ac9721d0 162 static void BPMENU_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 163 static void M100_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 164 static void M200_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 165 static void M300_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 166 static void M400_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 167 static void M500_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 168 static void M600_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 6:1bb0ac9721d0 169 static void M700_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 170
becanromain 6:1bb0ac9721d0 171 static void SM_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 172
becanromain 6:1bb0ac9721d0 173 int TpsAvFermMenu=5000;
becanromain 6:1bb0ac9721d0 174 int TpsAvFermSousMenu=5000;
becanromain 6:1bb0ac9721d0 175 int NumBandeauHaut;
becanromain 6:1bb0ac9721d0 176 int NumSousMenu;
becanromain 6:1bb0ac9721d0 177 bool DdeFermBandeauHaut;
becanromain 0:cf6b1eca3e67 178
becanromain 0:cf6b1eca3e67 179 /*********************
becanromain 0:cf6b1eca3e67 180 * OBJETS
becanromain 0:cf6b1eca3e67 181 *********************/
becanromain 0:cf6b1eca3e67 182 static lv_obj_t *FondGris ;
becanromain 0:cf6b1eca3e67 183 static lv_obj_t *FondGris2 ;
becanromain 0:cf6b1eca3e67 184
becanromain 0:cf6b1eca3e67 185 /*********************
becanromain 0:cf6b1eca3e67 186 * MATRICE DE BOUTONS
becanromain 0:cf6b1eca3e67 187 *********************/
becanromain 6:1bb0ac9721d0 188 static const char * PAVE_MDP_MAP[] = {"7", "8", "9","\n",
becanromain 0:cf6b1eca3e67 189 "4", "5","6", "\n",
becanromain 0:cf6b1eca3e67 190 "1", "2", "3","\n",
becanromain 0:cf6b1eca3e67 191 "0", LV_SYMBOL_BACKSPACE, ""};
becanromain 6:1bb0ac9721d0 192
becanromain 6:1bb0ac9721d0 193 static void DdeSaisieNum(lv_obj_t * btn, lv_event_t event);
becanromain 6:1bb0ac9721d0 194
becanromain 6:1bb0ac9721d0 195 static void PaveNumerique_ACT(lv_obj_t * event_kb, lv_event_t event);
becanromain 6:1bb0ac9721d0 196 static lv_obj_t * kb;
becanromain 6:1bb0ac9721d0 197 lv_obj_t *ChSaisi;
becanromain 6:1bb0ac9721d0 198
becanromain 6:1bb0ac9721d0 199 static const char * PAVE_NUMERIQUE_MAP[] = {
becanromain 6:1bb0ac9721d0 200 "7", "8", "9","\n",
becanromain 6:1bb0ac9721d0 201 "4", "5","6","\n",
becanromain 6:1bb0ac9721d0 202 "1", "2", "3","\n",
becanromain 6:1bb0ac9721d0 203 "0",",","+/-","\n",
becanromain 6:1bb0ac9721d0 204 LV_SYMBOL_BACKSPACE,LV_SYMBOL_OK, LV_SYMBOL_CLOSE, ""};
becanromain 6:1bb0ac9721d0 205
becanromain 6:1bb0ac9721d0 206
becanromain 6:1bb0ac9721d0 207 // "7", "8", "9","\n",
becanromain 6:1bb0ac9721d0 208 // "4", "5","6", "\n",
becanromain 6:1bb0ac9721d0 209 // "1", "2", "3","\n",
becanromain 6:1bb0ac9721d0 210 // "0", ".","+/-","\n",
becanromain 6:1bb0ac9721d0 211 // LV_SYMBOL_BACKSPACE, LV_SYMBOL_OK,LV_SYMBOL_CLOSE};
becanromain 0:cf6b1eca3e67 212 /*********************
becanromain 0:cf6b1eca3e67 213 * STYLES
becanromain 0:cf6b1eca3e67 214 *********************/
becanromain 6:1bb0ac9721d0 215 static lv_style_t P10,P12,P16,P18,P22,PG12,PG16,PG18,PG22;
becanromain 6:1bb0ac9721d0 216 static lv_style_t P16Saisie;
becanromain 0:cf6b1eca3e67 217 static lv_style_t Style_BP;
becanromain 0:cf6b1eca3e67 218
becanromain 6:1bb0ac9721d0 219 static void StyleBPSM(lv_obj_t * Obj);
becanromain 6:1bb0ac9721d0 220 static void StyleBPM(lv_obj_t * Obj);
becanromain 6:1bb0ac9721d0 221
becanromain 4:6a3d12663549 222 /*********************
becanromain 4:6a3d12663549 223 * MULTILANGUE
becanromain 4:6a3d12663549 224 *********************/
becanromain 4:6a3d12663549 225 static void LANGUE_FR_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 4:6a3d12663549 226 static void LANGUE_EN_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 227
becanromain 6:1bb0ac9721d0 228
becanromain 0:cf6b1eca3e67 229 void initialisation();
becanromain 0:cf6b1eca3e67 230 void interruptCompteur();
becanromain 0:cf6b1eca3e67 231
becanromain 0:cf6b1eca3e67 232 static void BPRAZ_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 4:6a3d12663549 233 static void BPPOMPE_ACT(lv_obj_t * btn, lv_event_t event);
becanromain 0:cf6b1eca3e67 234 static lv_theme_t * th_act;
becanromain 0:cf6b1eca3e67 235 static lv_obj_t * label;
becanromain 6:1bb0ac9721d0 236 static lv_obj_t * label01;
becanromain 6:1bb0ac9721d0 237 static lv_obj_t * label02;
becanromain 6:1bb0ac9721d0 238 static lv_obj_t * label03;
becanromain 6:1bb0ac9721d0 239 static lv_obj_t * label04;
becanromain 0:cf6b1eca3e67 240
becanromain 0:cf6b1eca3e67 241 static lv_obj_t * AffCptPuls;
becanromain 0:cf6b1eca3e67 242 static lv_obj_t * Aff1TpsEntre2Puls;
becanromain 0:cf6b1eca3e67 243 static lv_obj_t * Aff2TpsEntre2Puls;
becanromain 0:cf6b1eca3e67 244 static lv_obj_t * AffTpsMinEntre2Puls;
becanromain 0:cf6b1eca3e67 245 static lv_obj_t * AffTpsMaxEntre2Puls;
becanromain 0:cf6b1eca3e67 246 static lv_obj_t * BPRAZ;
becanromain 4:6a3d12663549 247 static lv_obj_t * BPPOMPE;
becanromain 0:cf6b1eca3e67 248
becanromain 6:1bb0ac9721d0 249
becanromain 6:1bb0ac9721d0 250 static lv_obj_t * AffChemin;
becanromain 6:1bb0ac9721d0 251 static lv_obj_t * AffSymbBat;
becanromain 6:1bb0ac9721d0 252 static lv_obj_t * AffPourcBat;
becanromain 0:cf6b1eca3e67 253
becanromain 6:1bb0ac9721d0 254 /*********************
becanromain 6:1bb0ac9721d0 255 * DONNEES A AFFICHER
becanromain 6:1bb0ac9721d0 256 *********************/
becanromain 6:1bb0ac9721d0 257 typedef struct Data Data;
becanromain 6:1bb0ac9721d0 258 struct Data
becanromain 6:1bb0ac9721d0 259 {
becanromain 6:1bb0ac9721d0 260 float Val;
becanromain 6:1bb0ac9721d0 261 float Min;
becanromain 6:1bb0ac9721d0 262 float Max;
becanromain 6:1bb0ac9721d0 263 lv_obj_t *Aff;
becanromain 6:1bb0ac9721d0 264 int Niveau; //0:aucun 1:Opérateur 2:superviseur 3:constructeur
becanromain 6:1bb0ac9721d0 265 const char *Unite;
becanromain 6:1bb0ac9721d0 266 string txt;
becanromain 6:1bb0ac9721d0 267 };
becanromain 6:1bb0ac9721d0 268 Data CsgDebit;
becanromain 6:1bb0ac9721d0 269 Data Volume;
becanromain 6:1bb0ac9721d0 270
becanromain 6:1bb0ac9721d0 271 static lv_obj_t *AffTest;
becanromain 6:1bb0ac9721d0 272 int ProgEC=0;
becanromain 6:1bb0ac9721d0 273 static lv_obj_t *AffProgEC;
becanromain 6:1bb0ac9721d0 274 float Debit=1.2;
becanromain 6:1bb0ac9721d0 275 static lv_obj_t *AffDebit;
becanromain 6:1bb0ac9721d0 276 float DebitMoy;
becanromain 6:1bb0ac9721d0 277 static lv_obj_t *AffDebitMoy;
becanromain 6:1bb0ac9721d0 278 uint32_t Duree;
becanromain 6:1bb0ac9721d0 279 static lv_obj_t *AffDuree;
becanromain 6:1bb0ac9721d0 280 uint64_t TotalisateurVol;
becanromain 6:1bb0ac9721d0 281 static lv_obj_t *AffTotalisateurVol;
becanromain 6:1bb0ac9721d0 282 uint64_t TotalisateurDuree;
becanromain 6:1bb0ac9721d0 283 static lv_obj_t *AffTotalisateurDuree;
becanromain 6:1bb0ac9721d0 284 int NPremiereMin=10;
becanromain 6:1bb0ac9721d0 285 static lv_obj_t *AffNPremiereMin;
becanromain 6:1bb0ac9721d0 286 int NDerniereMin=15;
becanromain 6:1bb0ac9721d0 287 static lv_obj_t *AffNDerniereMin;
becanromain 6:1bb0ac9721d0 288 float DebNPremiereMin;
becanromain 6:1bb0ac9721d0 289 static lv_obj_t *AffDebNPremiereMin;
becanromain 6:1bb0ac9721d0 290 float DebNDerniereMin;
becanromain 6:1bb0ac9721d0 291 static lv_obj_t *AffDebNDerniereMin;
becanromain 6:1bb0ac9721d0 292 float EcartType;
becanromain 6:1bb0ac9721d0 293 static lv_obj_t *AffEcartType;
becanromain 6:1bb0ac9721d0 294
becanromain 6:1bb0ac9721d0 295 float TensionBat;
becanromain 6:1bb0ac9721d0 296 float MoyTensBat[101];
becanromain 6:1bb0ac9721d0 297 static lv_obj_t * AffTensionBat;
becanromain 6:1bb0ac9721d0 298
becanromain 6:1bb0ac9721d0 299 float Intensite;
becanromain 6:1bb0ac9721d0 300 static lv_obj_t *AffIntensite;
becanromain 6:1bb0ac9721d0 301
becanromain 6:1bb0ac9721d0 302 float TpsCy=0;
becanromain 6:1bb0ac9721d0 303 uint64_t CalcTpsCy=0;
becanromain 6:1bb0ac9721d0 304 static lv_obj_t * AffTpsCy;
becanromain 6:1bb0ac9721d0 305
becanromain 6:1bb0ac9721d0 306 float VitessePpe;
becanromain 6:1bb0ac9721d0 307 static lv_obj_t *AffVitessePpe;
becanromain 6:1bb0ac9721d0 308
becanromain 6:1bb0ac9721d0 309 float ConsoPrelev;
becanromain 6:1bb0ac9721d0 310 static lv_obj_t *AffConsoPrelev;
becanromain 6:1bb0ac9721d0 311
becanromain 6:1bb0ac9721d0 312 float Puissance;
becanromain 6:1bb0ac9721d0 313 static lv_obj_t *AffPuissance;
becanromain 0:cf6b1eca3e67 314
becanromain 0:cf6b1eca3e67 315 void lv_ticker_func();
becanromain 0:cf6b1eca3e67 316 void my_disp_flush(lv_disp_drv_t* disp_drv, const lv_area_t* area, lv_color_t* color_p);
becanromain 0:cf6b1eca3e67 317 bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data);
becanromain 0:cf6b1eca3e67 318 static void event_handler(lv_obj_t * obj, lv_event_t event);
becanromain 0:cf6b1eca3e67 319
becanromain 0:cf6b1eca3e67 320
becanromain 0:cf6b1eca3e67 321 static void ddlist_event_cb(lv_obj_t * ddlist, lv_event_t event);
becanromain 0:cf6b1eca3e67 322 static lv_obj_t * slider;
becanromain 0:cf6b1eca3e67 323
becanromain 0:cf6b1eca3e67 324 int PosX_MenuDepart = 0;
becanromain 0:cf6b1eca3e67 325 int PosX_MenuCible = 0;
becanromain 0:cf6b1eca3e67 326 bool DdeAlignMenu = 0;
becanromain 0:cf6b1eca3e67 327
becanromain 0:cf6b1eca3e67 328 int PosY_AnimSousMenu = 0;
becanromain 0:cf6b1eca3e67 329 int AnimSousMenu=0;
becanromain 6:1bb0ac9721d0 330
becanromain 0:cf6b1eca3e67 331
becanromain 0:cf6b1eca3e67 332 static void Reglage_R_RGB(lv_obj_t * obj, lv_event_t event);
becanromain 0:cf6b1eca3e67 333
becanromain 0:cf6b1eca3e67 334 int TestAff = 0;
becanromain 0:cf6b1eca3e67 335
becanromain 0:cf6b1eca3e67 336
becanromain 0:cf6b1eca3e67 337 static lv_obj_t * Val_R;
becanromain 0:cf6b1eca3e67 338
becanromain 0:cf6b1eca3e67 339 static lv_obj_t * R;
becanromain 0:cf6b1eca3e67 340
becanromain 0:cf6b1eca3e67 341
becanromain 0:cf6b1eca3e67 342 int Reglage_R;
becanromain 0:cf6b1eca3e67 343 uint8_t Reglage_G;
becanromain 0:cf6b1eca3e67 344 uint8_t Reglage_B;
becanromain 0:cf6b1eca3e67 345 uint32_t Reglage_RGB;
becanromain 0:cf6b1eca3e67 346
becanromain 0:cf6b1eca3e67 347 uint8_t R1=255,G1=255,B1=255,
becanromain 0:cf6b1eca3e67 348 R2=0 ,G2=0 ,B2=0,
becanromain 6:1bb0ac9721d0 349 R3=114 ,G3=179 ,B3=244,
becanromain 6:1bb0ac9721d0 350 R4=255,G4=255,B4=240,
becanromain 6:1bb0ac9721d0 351 R5=0,G5=145,B5=145,
becanromain 6:1bb0ac9721d0 352 R6=0,G6=0,B6=0,
becanromain 6:1bb0ac9721d0 353 R7=255,G7=255,B7=240,
becanromain 6:1bb0ac9721d0 354 R8=114 ,G8=179 ,B8=244,
becanromain 6:1bb0ac9721d0 355 R9=0,G9=145,B9=145,
becanromain 0:cf6b1eca3e67 356 R10=155,G10=238,B10=131,
becanromain 0:cf6b1eca3e67 357 R11=145,G11=145,B11=145,
becanromain 0:cf6b1eca3e67 358 R12=51,G12=37,B12=22,
becanromain 0:cf6b1eca3e67 359 R13=255,G13=255,B13=255,
becanromain 6:1bb0ac9721d0 360 R14=153,G14=158,B14=117;
becanromain 6:1bb0ac9721d0 361
becanromain 0:cf6b1eca3e67 362 int NumCouleur=0;
becanromain 0:cf6b1eca3e67 363
becanromain 0:cf6b1eca3e67 364
becanromain 0:cf6b1eca3e67 365 static lv_theme_t * themes[8];
becanromain 0:cf6b1eca3e67 366
becanromain 0:cf6b1eca3e67 367
becanromain 0:cf6b1eca3e67 368 int main()
becanromain 0:cf6b1eca3e67 369 {
becanromain 0:cf6b1eca3e67 370 //demarrage communication avec PC
becanromain 0:cf6b1eca3e67 371 serial.baud(9600);
becanromain 0:cf6b1eca3e67 372 serial.printf("DEBUT DE PROGRAMME\r\n");
becanromain 0:cf6b1eca3e67 373 //Entree impulsion
becanromain 0:cf6b1eca3e67 374 DI_CPTPuls.mode(PullUp);
becanromain 0:cf6b1eca3e67 375
becanromain 0:cf6b1eca3e67 376 //lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"LittlevGL DEMO", CENTER_MODE);
becanromain 0:cf6b1eca3e67 377 ticker.attach(&lv_ticker_func,0.005);// Appel de la fonction LittlVGL toutes les 5ms
becanromain 0:cf6b1eca3e67 378 wait(0.5);
becanromain 0:cf6b1eca3e67 379 lv_init(); //Initialize the LittlevGL
becanromain 0:cf6b1eca3e67 380
becanromain 0:cf6b1eca3e67 381 static lv_disp_buf_t disp_buf;
becanromain 0:cf6b1eca3e67 382 static lv_color_t buf[LV_HOR_RES_MAX * 10]; //Declare a buffer for 10 lines
becanromain 0:cf6b1eca3e67 383 lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX * 10); //Initialize the display buffer
becanromain 0:cf6b1eca3e67 384
becanromain 0:cf6b1eca3e67 385 //Implement and register a function which can copy a pixel array to an area of your display
becanromain 0:cf6b1eca3e67 386 lv_disp_drv_t disp_drv; //Descriptor of a display driver
becanromain 0:cf6b1eca3e67 387 lv_disp_drv_init(&disp_drv); //Basic initialization
becanromain 0:cf6b1eca3e67 388 disp_drv.flush_cb = my_disp_flush; //Set your driver function
becanromain 0:cf6b1eca3e67 389 disp_drv.buffer = &disp_buf; //Assign the buffer to the display
becanromain 0:cf6b1eca3e67 390 lv_disp_drv_register(&disp_drv); //Finally register the driver
becanromain 0:cf6b1eca3e67 391
becanromain 0:cf6b1eca3e67 392 //Implement and register a function which can read an input device. E.g. for a touch pad
becanromain 0:cf6b1eca3e67 393 ts.Init(lcd.GetXSize(), lcd.GetYSize()); //ST touch initialization
becanromain 0:cf6b1eca3e67 394 lv_indev_drv_t indev_drv; //Descriptor of a input device driver
becanromain 0:cf6b1eca3e67 395 lv_indev_drv_init(&indev_drv); //Basic initialization
becanromain 0:cf6b1eca3e67 396 indev_drv.type = LV_INDEV_TYPE_POINTER; //Touch pad is a pointer-like device
becanromain 0:cf6b1eca3e67 397 indev_drv.read_cb = my_touchpad_read; //Set your driver function
becanromain 0:cf6b1eca3e67 398 lv_indev_drv_register(&indev_drv); //Finally register the driver
becanromain 0:cf6b1eca3e67 399
becanromain 4:6a3d12663549 400 //INITIALISATION MULTILANGUE
becanromain 4:6a3d12663549 401 lv_i18n_init(lv_i18n_language_pack);
becanromain 4:6a3d12663549 402 lv_i18n_set_locale("fr");
becanromain 0:cf6b1eca3e67 403
becanromain 0:cf6b1eca3e67 404 initialisation();
becanromain 6:1bb0ac9721d0 405 AFFBandeauHaut(2);
becanromain 6:1bb0ac9721d0 406 AFFPage(102);
becanromain 0:cf6b1eca3e67 407
becanromain 0:cf6b1eca3e67 408 //demarrage tempo générale
becanromain 0:cf6b1eca3e67 409 tempo.start();
becanromain 0:cf6b1eca3e67 410 //Interruption compteur
becanromain 0:cf6b1eca3e67 411 // DI_CPTPuls.rise(&interruptCompteur);
becanromain 0:cf6b1eca3e67 412
becanromain 0:cf6b1eca3e67 413 while(1) {
becanromain 6:1bb0ac9721d0 414
becanromain 0:cf6b1eca3e67 415 //TEMPO GENERALE
becanromain 0:cf6b1eca3e67 416 Micros=tempo.read_high_resolution_us();
becanromain 0:cf6b1eca3e67 417 //TOP base de temps
becanromain 0:cf6b1eca3e67 418 Top1ms=false; if (Micros>=MemMicros0+1000) { Top1ms=true; MemMicros0=MemMicros0+1000; }
becanromain 0:cf6b1eca3e67 419 Top10ms=false; if (Micros>=MemMicros1+10000) { Top10ms=true; MemMicros1=MemMicros1+10000; }
becanromain 0:cf6b1eca3e67 420 Top100ms=false; if (Micros>=MemMicros2+100000) { Top100ms=true; MemMicros2=MemMicros2+100000; }
becanromain 0:cf6b1eca3e67 421 Top1s=false; if (Micros>=MemMicros3+1000000) { Top1s=true; MemMicros3=MemMicros3+1000000; }
becanromain 0:cf6b1eca3e67 422 Top5s=false; if (Micros>=MemMicros4+5000000) { Top5s=true; MemMicros4=MemMicros4+5000000; }
becanromain 0:cf6b1eca3e67 423 Top1min=false; if (Micros>=MemMicros5+60000000) { Top1min=true; MemMicros5=MemMicros5+60000000; }
becanromain 6:1bb0ac9721d0 424
becanromain 6:1bb0ac9721d0 425
becanromain 6:1bb0ac9721d0 426 //temps fonctionnement pompe
becanromain 6:1bb0ac9721d0 427 if (Top1s){
becanromain 6:1bb0ac9721d0 428 if (DO_POMPE) {TpsMaPpe++;}
becanromain 6:1bb0ac9721d0 429 }
becanromain 6:1bb0ac9721d0 430 //ARRET POMPE SI TENSION BATTERIE <2,9V
becanromain 6:1bb0ac9721d0 431 if (Top1min){
becanromain 6:1bb0ac9721d0 432 if (TensionBat<2.9) {
becanromain 6:1bb0ac9721d0 433 DO_POMPE=false;
becanromain 6:1bb0ac9721d0 434 //if (R!=NULL){ lv_slider_set_value(R,10000,LV_ANIM_ON);}
becanromain 6:1bb0ac9721d0 435 Reglage_R=10000;
becanromain 6:1bb0ac9721d0 436 }
becanromain 6:1bb0ac9721d0 437 serial.printf("Temps fonctionnment pompe= %ds Tension= %3.3fV \r\n",TpsMaPpe,TensionBat); //ENREGISTREMENT DONNEES
becanromain 6:1bb0ac9721d0 438 }
becanromain 6:1bb0ac9721d0 439
becanromain 0:cf6b1eca3e67 440
becanromain 0:cf6b1eca3e67 441 //CALCUL TEMPS DE CYCLE
becanromain 0:cf6b1eca3e67 442 CalcTpsCy++;
becanromain 0:cf6b1eca3e67 443 if (Top1s){
becanromain 0:cf6b1eca3e67 444 TpsCy=1000000000/CalcTpsCy;
becanromain 0:cf6b1eca3e67 445 TpsCy=TpsCy/1000;
becanromain 6:1bb0ac9721d0 446 CalcTpsCy=0;
becanromain 6:1bb0ac9721d0 447 Duree++;
becanromain 0:cf6b1eca3e67 448 }
becanromain 0:cf6b1eca3e67 449 //Raffraichissement affichage toutes les 10ms
becanromain 0:cf6b1eca3e67 450 if (Top10ms){
becanromain 0:cf6b1eca3e67 451 lv_task_handler();
becanromain 0:cf6b1eca3e67 452 }
becanromain 4:6a3d12663549 453
becanromain 0:cf6b1eca3e67 454 //MISE A JOUR DES VARIABLES AFFICHEES
becanromain 4:6a3d12663549 455 if (Top1s or MemPageAff!=PageAff){
becanromain 4:6a3d12663549 456 MemPageAff=PageAff;
becanromain 6:1bb0ac9721d0 457 //bandeau haut
becanromain 6:1bb0ac9721d0 458 if (NumBandeauHaut==1){
becanromain 6:1bb0ac9721d0 459 sprintf(text, Chemin);
becanromain 6:1bb0ac9721d0 460 lv_label_set_text(AffChemin, text);
becanromain 6:1bb0ac9721d0 461 }
becanromain 6:1bb0ac9721d0 462 //Raffraichissement données affichées
becanromain 6:1bb0ac9721d0 463 AFFPage(0);
becanromain 0:cf6b1eca3e67 464 }
becanromain 0:cf6b1eca3e67 465
becanromain 0:cf6b1eca3e67 466 //DETECTION IMPULSION
becanromain 0:cf6b1eca3e67 467 if (DI_CPTPuls and Top1ms){ CalcFdPuls=0;CalcFmPuls++;}
becanromain 0:cf6b1eca3e67 468 if (not DI_CPTPuls and Top1ms){ CalcFmPuls=0;CalcFdPuls++;}
becanromain 0:cf6b1eca3e67 469 if (CalcFmPuls>20 and not FmCPTPuls){interruptCompteur();FmCPTPuls=true;}
becanromain 0:cf6b1eca3e67 470 if (CalcFdPuls>20 and FmCPTPuls){FmCPTPuls=false;}
becanromain 0:cf6b1eca3e67 471 if (CalcFmPuls>500){CalcFmPuls=500;}
becanromain 0:cf6b1eca3e67 472 if (CalcFdPuls>500){CalcFdPuls=500;}
becanromain 0:cf6b1eca3e67 473
becanromain 0:cf6b1eca3e67 474 //MESURE TENSION BATTERIE
becanromain 0:cf6b1eca3e67 475 if (Top10ms){
becanromain 4:6a3d12663549 476 MoyTensBat[0]=AI_TENSION_BAT.read()*3.3*2+0.018;
becanromain 0:cf6b1eca3e67 477 TensionBat=0;
becanromain 0:cf6b1eca3e67 478 for (int i=100;i>0;i--){
becanromain 0:cf6b1eca3e67 479 MoyTensBat[i]=MoyTensBat[i-1];
becanromain 0:cf6b1eca3e67 480 TensionBat=TensionBat+MoyTensBat[i];
becanromain 0:cf6b1eca3e67 481 }
becanromain 0:cf6b1eca3e67 482 TensionBat=TensionBat/100;
becanromain 0:cf6b1eca3e67 483 }
becanromain 0:cf6b1eca3e67 484
becanromain 0:cf6b1eca3e67 485 //COMMANDE POMPE PWM
becanromain 0:cf6b1eca3e67 486 if (Top100ms){
becanromain 0:cf6b1eca3e67 487 CsgPompe=Reglage_R;
becanromain 0:cf6b1eca3e67 488 fastpwm.period_ticks (10000); //setup the period for 100Khz
becanromain 0:cf6b1eca3e67 489 fastpwm.pulsewidth_ticks(CsgPompe);//setup duty cycle to 50%
becanromain 0:cf6b1eca3e67 490 }
becanromain 4:6a3d12663549 491
becanromain 0:cf6b1eca3e67 492 //RAZ MOT DE PASSE
becanromain 0:cf6b1eca3e67 493 if (TpsMdpEnCours>0 and Top1s){
becanromain 0:cf6b1eca3e67 494 TpsMdpEnCours--;
becanromain 0:cf6b1eca3e67 495 if (TpsMdpEnCours==0){
becanromain 0:cf6b1eca3e67 496 mbox=lv_mbox_create(lv_disp_get_scr_act(NULL), NULL);
becanromain 0:cf6b1eca3e67 497 sprintf(text, "Fin de connexion pour %s",UserEC.Nom );
becanromain 0:cf6b1eca3e67 498 lv_mbox_set_text(mbox, text);
becanromain 0:cf6b1eca3e67 499 lv_obj_align(mbox, NULL, LV_ALIGN_CENTER, 0, 0);
becanromain 0:cf6b1eca3e67 500 lv_mbox_start_auto_close(mbox, 3000);
becanromain 0:cf6b1eca3e67 501 UserEC.Nom="";
becanromain 0:cf6b1eca3e67 502 UserEC.Niveau=0;
becanromain 0:cf6b1eca3e67 503 }
becanromain 0:cf6b1eca3e67 504 }
becanromain 0:cf6b1eca3e67 505
becanromain 6:1bb0ac9721d0 506 //GESTION BANDEAU HAUT
becanromain 6:1bb0ac9721d0 507 if (Top1ms and TpsAvFermMenu>0){TpsAvFermMenu--;}
becanromain 6:1bb0ac9721d0 508 if (Top1ms and SousMenu){TpsAvFermMenu=4000;}//maintien bandeau affiché si sous menu déployé
becanromain 6:1bb0ac9721d0 509 if (TpsAvFermMenu>0 and X>0){TpsAvFermMenu=4000;} //mainitien bandeau affiché si appui sur écran
becanromain 6:1bb0ac9721d0 510 if (TpsAvFermMenu>0 and PopupMDP){TpsAvFermMenu=4000;} //maintien bandeau affiché si Popup saisie MDP
becanromain 6:1bb0ac9721d0 511 if (TpsAvFermMenu==1){
becanromain 6:1bb0ac9721d0 512 PosX_MenuDepart = lv_obj_get_x(BandeauHaut);
becanromain 6:1bb0ac9721d0 513 PosX_MenuCible = -lv_obj_get_x(M600);
becanromain 6:1bb0ac9721d0 514 DdeAlignMenu=1;
becanromain 6:1bb0ac9721d0 515 NumSousMenu=0;
becanromain 6:1bb0ac9721d0 516 DdeFermBandeauHaut=false;
becanromain 6:1bb0ac9721d0 517 }
becanromain 6:1bb0ac9721d0 518
becanromain 6:1bb0ac9721d0 519 //ANIMATION BANDEAU HAUT
becanromain 0:cf6b1eca3e67 520 if (Top1ms){
becanromain 0:cf6b1eca3e67 521 if (DdeAlignMenu) {
becanromain 0:cf6b1eca3e67 522 if (PosX_MenuDepart>PosX_MenuCible) {
becanromain 0:cf6b1eca3e67 523 PosX_MenuDepart=PosX_MenuDepart-1;
becanromain 0:cf6b1eca3e67 524 lv_obj_set_pos(BandeauHaut, PosX_MenuDepart, 0);
becanromain 0:cf6b1eca3e67 525 }
becanromain 0:cf6b1eca3e67 526 if (PosX_MenuDepart<PosX_MenuCible) {
becanromain 0:cf6b1eca3e67 527 PosX_MenuDepart=PosX_MenuDepart+1;
becanromain 0:cf6b1eca3e67 528 lv_obj_set_pos(BandeauHaut, PosX_MenuDepart, 0);
becanromain 0:cf6b1eca3e67 529 }
becanromain 0:cf6b1eca3e67 530 if (PosX_MenuDepart==PosX_MenuCible) {
becanromain 0:cf6b1eca3e67 531 DdeAlignMenu=0;
becanromain 6:1bb0ac9721d0 532 if (NumSousMenu>0){AFFSousMenu(NumSousMenu);}//affichage page sous menu
becanromain 6:1bb0ac9721d0 533 if (NumSousMenu==0){AFFBandeauHaut(1);}//Bandeau haut sans menu
becanromain 0:cf6b1eca3e67 534 }
becanromain 0:cf6b1eca3e67 535 }
becanromain 0:cf6b1eca3e67 536 }
becanromain 0:cf6b1eca3e67 537
becanromain 0:cf6b1eca3e67 538 //ANIMATION SOUS MENU
becanromain 6:1bb0ac9721d0 539 if (Top1ms){
becanromain 0:cf6b1eca3e67 540 //OUVERTURE SOUS MENU
becanromain 0:cf6b1eca3e67 541 if (AnimSousMenu>0) {
becanromain 0:cf6b1eca3e67 542 PosY_AnimSousMenu=PosY_AnimSousMenu+2;
becanromain 6:1bb0ac9721d0 543 lv_obj_set_size(SousMenu, 230, PosY_AnimSousMenu);
becanromain 0:cf6b1eca3e67 544 if (PosY_AnimSousMenu>=AnimSousMenu){AnimSousMenu=0;}
becanromain 6:1bb0ac9721d0 545 TpsAvFermSousMenu=5000;
becanromain 0:cf6b1eca3e67 546 }
becanromain 0:cf6b1eca3e67 547 //TEMPS AVANT FERMEURE
kisvegabor 1:404ee28a0b60 548 if (SousMenu and TpsAvFermSousMenu>0){TpsAvFermSousMenu--;}
becanromain 0:cf6b1eca3e67 549 //FERMETURE SOUS MENU
kisvegabor 1:404ee28a0b60 550 if (SousMenu and TpsAvFermSousMenu<=0) {
becanromain 0:cf6b1eca3e67 551 PosY_AnimSousMenu=PosY_AnimSousMenu-2;
becanromain 6:1bb0ac9721d0 552 lv_obj_set_size(SousMenu, 230, PosY_AnimSousMenu);
kisvegabor 1:404ee28a0b60 553 if (PosY_AnimSousMenu<=0){
kisvegabor 1:404ee28a0b60 554 lv_obj_del_async(SousMenu);
kisvegabor 1:404ee28a0b60 555 SousMenu=NULL;
becanromain 6:1bb0ac9721d0 556 if(DdeFermBandeauHaut){TpsAvFermMenu=10;DdeFermBandeauHaut=false;}
kisvegabor 1:404ee28a0b60 557 }
becanromain 0:cf6b1eca3e67 558 }
becanromain 0:cf6b1eca3e67 559 }
becanromain 6:1bb0ac9721d0 560 if (SousMenu and X>0){TpsAvFermSousMenu=5000;}//mainitien sous menu affiché si appui sur écran
becanromain 6:1bb0ac9721d0 561 if (SousMenu and PopupMDP){TpsAvFermSousMenu=5000;} //maintien bandeau affiché si Popup saisie MDP
becanromain 0:cf6b1eca3e67 562
becanromain 0:cf6b1eca3e67 563 /**/
becanromain 0:cf6b1eca3e67 564 }//FIN BOUCLE
becanromain 0:cf6b1eca3e67 565 }//FIN MAIN
becanromain 0:cf6b1eca3e67 566
becanromain 0:cf6b1eca3e67 567
becanromain 6:1bb0ac9721d0 568 static void AffDonnee(string Txt,lv_obj_t * &Var,int PosX, int PosY,int Saisie){
becanromain 6:1bb0ac9721d0 569 label01 = lv_label_create(Page, NULL);
becanromain 6:1bb0ac9721d0 570 lv_obj_set_style(label01,&PG16);
becanromain 6:1bb0ac9721d0 571 lv_obj_set_pos(label01, PosX, PosY);
becanromain 6:1bb0ac9721d0 572 sprintf(text, "%s",Txt) ;
becanromain 6:1bb0ac9721d0 573 lv_label_set_text(label01, text);
becanromain 6:1bb0ac9721d0 574
becanromain 6:1bb0ac9721d0 575 Var = lv_label_create(Page, NULL);
becanromain 6:1bb0ac9721d0 576 lv_obj_set_style(Var,&P16);
becanromain 6:1bb0ac9721d0 577 lv_obj_align(Var, label01, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
becanromain 0:cf6b1eca3e67 578
becanromain 6:1bb0ac9721d0 579 if (Saisie==1){
becanromain 6:1bb0ac9721d0 580 lv_obj_set_click(Var, true);
becanromain 0:cf6b1eca3e67 581 }
becanromain 0:cf6b1eca3e67 582 }
becanromain 0:cf6b1eca3e67 583
becanromain 6:1bb0ac9721d0 584 static void AffDonnee2(string Txt,Data &Var,int PosX, int PosY,int Saisie){
becanromain 6:1bb0ac9721d0 585 label01 = lv_label_create(Page, NULL);
becanromain 6:1bb0ac9721d0 586 lv_obj_set_style(label01,&PG16);
becanromain 6:1bb0ac9721d0 587 lv_obj_set_pos(label01, PosX, PosY);
becanromain 6:1bb0ac9721d0 588 sprintf(text, "%s",Txt) ;
becanromain 6:1bb0ac9721d0 589 lv_label_set_text(label01, text);
becanromain 6:1bb0ac9721d0 590
becanromain 6:1bb0ac9721d0 591 Var.Aff = lv_label_create(Page, NULL);
becanromain 6:1bb0ac9721d0 592 lv_obj_set_style(Var.Aff,&P16);
becanromain 6:1bb0ac9721d0 593 lv_obj_align(Var.Aff, label01, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
becanromain 6:1bb0ac9721d0 594
becanromain 6:1bb0ac9721d0 595 if (Saisie==1){
becanromain 6:1bb0ac9721d0 596 lv_obj_set_click(Var.Aff, true);
becanromain 6:1bb0ac9721d0 597 lv_obj_set_style(Var.Aff,&P16Saisie);
becanromain 6:1bb0ac9721d0 598 lv_obj_set_event_cb(Var.Aff, DdeSaisieNum);
becanromain 6:1bb0ac9721d0 599 lv_obj_set_user_data(Var.Aff, &Var.Val);
becanromain 6:1bb0ac9721d0 600 }
becanromain 0:cf6b1eca3e67 601 }
becanromain 0:cf6b1eca3e67 602
becanromain 0:cf6b1eca3e67 603 static void AFFPage(int Num)
becanromain 0:cf6b1eca3e67 604 {
becanromain 6:1bb0ac9721d0 605 //VARIABLES COMMUNES
becanromain 6:1bb0ac9721d0 606 int i=0;//index pour décalage ligne
becanromain 6:1bb0ac9721d0 607
becanromain 6:1bb0ac9721d0 608 //CREATION PAGE
becanromain 6:1bb0ac9721d0 609 if (Num>0){
becanromain 6:1bb0ac9721d0 610 if(Page) {
becanromain 6:1bb0ac9721d0 611 lv_obj_del(Page); ;
becanromain 6:1bb0ac9721d0 612 Page = NULL;
becanromain 6:1bb0ac9721d0 613 }
becanromain 6:1bb0ac9721d0 614 PageAff=Num;//MEMORISATION PAGE AFFICHEE
becanromain 6:1bb0ac9721d0 615 Page = lv_page_create(lv_scr_act(), NULL);
becanromain 6:1bb0ac9721d0 616 lv_obj_set_size(Page, hres, vres-40);
becanromain 6:1bb0ac9721d0 617 lv_obj_set_pos(Page, 0, 40);
becanromain 6:1bb0ac9721d0 618 lv_page_set_scrl_layout(Page, LV_LAYOUT_OFF);
becanromain 6:1bb0ac9721d0 619 lv_page_set_scrl_fit2(Page, LV_FIT_FLOOD, LV_FIT_TIGHT);
becanromain 6:1bb0ac9721d0 620 lv_coord_t max_w = lv_page_get_fit_width(Page);
becanromain 6:1bb0ac9721d0 621 }
becanromain 6:1bb0ac9721d0 622
becanromain 6:1bb0ac9721d0 623 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 624 //CREATION PAGE 101: Etat d'avancement//
becanromain 6:1bb0ac9721d0 625 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 626 if (Num==101){
becanromain 6:1bb0ac9721d0 627 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 628 sprintf(Chemin, "%s \\ %s",_("M100"),_("M101"));
becanromain 6:1bb0ac9721d0 629 AffDonnee(_("Etat de la mallette :"),AffProgEC,5, i=i,0);
becanromain 6:1bb0ac9721d0 630 AffDonnee2(_("Consigne débit :"),CsgDebit,5, i=i+20,1);
becanromain 6:1bb0ac9721d0 631 AffDonnee(_("Débit intantanné :"),AffDebit,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 632 AffDonnee(_("Débit Moyen prélèvement :"),AffDebitMoy,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 633 AffDonnee2(_("Volume prélevé :"),Volume,5, i=i+20,1);
becanromain 6:1bb0ac9721d0 634 AffDonnee(_("Durée prélèvement :"),AffDuree,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 635 sprintf(text, _("Débit moyen des %d premières minutes :"),NPremiereMin);
becanromain 6:1bb0ac9721d0 636 AffDonnee(text,AffDebNPremiereMin,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 637 sprintf(text, _("Débit moyen des %d dernières minutes :"),NDerniereMin);
becanromain 6:1bb0ac9721d0 638 AffDonnee(text,AffDebNDerniereMin,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 639 AffDonnee(_("Ecart type:"),AffEcartType,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 640 AffDonnee(_("Totalisateur volume:"),AffTotalisateurVol,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 641 AffDonnee(_("Totalisateur durée:"),AffTotalisateurDuree,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 642 AffDonnee(_("Tension :"),AffTensionBat,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 643 AffDonnee(_("Intensité :"),AffIntensite,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 644 AffDonnee(_("Vitesse pompe :"),AffVitessePpe,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 645 AffDonnee(_("Consommation prélèvement :"),AffConsoPrelev,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 646 AffDonnee(_("Puissance :"),AffPuissance,5, i=i+20,0);
becanromain 6:1bb0ac9721d0 647
becanromain 6:1bb0ac9721d0 648 PageAff=101;
becanromain 6:1bb0ac9721d0 649 }
becanromain 4:6a3d12663549 650
becanromain 0:cf6b1eca3e67 651
becanromain 6:1bb0ac9721d0 652 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 653 if (PageAff==101 and Num==0){
becanromain 0:cf6b1eca3e67 654
becanromain 6:1bb0ac9721d0 655 //PROGRAMME EN COURS
becanromain 6:1bb0ac9721d0 656 string ProgEC=_("AUCUN PROGRAMME EN COURS");
becanromain 6:1bb0ac9721d0 657 sprintf(text, "%s",ProgEC);
becanromain 6:1bb0ac9721d0 658 lv_label_set_text(AffProgEC, text);
becanromain 6:1bb0ac9721d0 659
becanromain 6:1bb0ac9721d0 660 //CONSIGNE DEBIT
becanromain 6:1bb0ac9721d0 661 lv_label_set_text_fmt(CsgDebit.Aff, CsgDebit.Unite="%2.2f L/min",CsgDebit.Val);
becanromain 6:1bb0ac9721d0 662
becanromain 6:1bb0ac9721d0 663 //DEBIT INSTANTANNE
becanromain 6:1bb0ac9721d0 664 lv_label_set_text_fmt(AffDebit, "%2.2f L/min",Debit);
becanromain 6:1bb0ac9721d0 665
becanromain 6:1bb0ac9721d0 666 //DEBIT MOYEN
becanromain 6:1bb0ac9721d0 667 DebitMoy=7.0;
becanromain 6:1bb0ac9721d0 668 sprintf(text, "%2.2f L/min",DebitMoy);
becanromain 6:1bb0ac9721d0 669 lv_label_set_text(AffDebitMoy, text);
becanromain 6:1bb0ac9721d0 670
becanromain 6:1bb0ac9721d0 671 //VOLUME PRELEVE
becanromain 6:1bb0ac9721d0 672 lv_label_set_text_fmt(Volume.Aff, "%2.1f L",Volume.Val);
becanromain 6:1bb0ac9721d0 673 // lv_obj_set_event_cb(AffVolume, DdeSaisieNum);
becanromain 6:1bb0ac9721d0 674 // lv_obj_set_user_data(AffVolume, &Volume);
becanromain 6:1bb0ac9721d0 675
becanromain 6:1bb0ac9721d0 676 //DUREE PRELEVEMENT
becanromain 6:1bb0ac9721d0 677 sprintf(text, "%s",HHMMSS(Duree));
becanromain 6:1bb0ac9721d0 678 lv_label_set_text(AffDuree, text);
becanromain 6:1bb0ac9721d0 679
becanromain 6:1bb0ac9721d0 680 //DEBIT MOYEN DES N PREMIERES MINUTES
becanromain 6:1bb0ac9721d0 681 DebNPremiereMin=6.9;
becanromain 6:1bb0ac9721d0 682 sprintf(text, "%2.2f L/min",DebNPremiereMin);
becanromain 6:1bb0ac9721d0 683 lv_label_set_text(AffDebNPremiereMin, text);
becanromain 6:1bb0ac9721d0 684
becanromain 6:1bb0ac9721d0 685 //DEBIT MOYEN DES N DERNIERES MINUTES
becanromain 6:1bb0ac9721d0 686 DebNDerniereMin=7.15;
becanromain 6:1bb0ac9721d0 687 sprintf(text, "%2.2f L/min",DebNDerniereMin);
becanromain 6:1bb0ac9721d0 688 lv_label_set_text(AffDebNDerniereMin, text);
becanromain 4:6a3d12663549 689
becanromain 6:1bb0ac9721d0 690 //ECART TYPE
becanromain 6:1bb0ac9721d0 691 EcartType=0.12;
becanromain 6:1bb0ac9721d0 692 sprintf(text, "%2.2f L/min",EcartType);
becanromain 6:1bb0ac9721d0 693 lv_label_set_text(AffEcartType, text);
becanromain 6:1bb0ac9721d0 694
becanromain 6:1bb0ac9721d0 695 //TOTALISATEUR VOLUME
becanromain 6:1bb0ac9721d0 696 TotalisateurVol=123456;
becanromain 6:1bb0ac9721d0 697 float FloatTotalisateurVol=TotalisateurVol;
becanromain 6:1bb0ac9721d0 698 lv_label_set_text_fmt(AffTotalisateurVol, "%8.3f m3",FloatTotalisateurVol/1000);
becanromain 6:1bb0ac9721d0 699 // lv_obj_set_event_cb(AffTotalisateurVol, DdeSaisieNum);
becanromain 6:1bb0ac9721d0 700 // lv_obj_set_user_data(AffTotalisateurVol, &TotalisateurVol);
becanromain 6:1bb0ac9721d0 701
becanromain 6:1bb0ac9721d0 702 //TOTALISATEUR DUREE
becanromain 6:1bb0ac9721d0 703 TotalisateurDuree=123456;
becanromain 6:1bb0ac9721d0 704 float FloatTotalisateurDuree=TotalisateurDuree/3600;
becanromain 6:1bb0ac9721d0 705 sprintf(text, "%8.1f h",FloatTotalisateurDuree);
becanromain 6:1bb0ac9721d0 706 lv_label_set_text(AffTotalisateurDuree, text);
becanromain 6:1bb0ac9721d0 707
becanromain 6:1bb0ac9721d0 708 //TENSION
becanromain 6:1bb0ac9721d0 709 sprintf(text, "%2.3f V",TensionBat);
becanromain 6:1bb0ac9721d0 710 lv_label_set_text(AffTensionBat, text);
becanromain 6:1bb0ac9721d0 711
becanromain 6:1bb0ac9721d0 712 //INTENSITE
becanromain 6:1bb0ac9721d0 713 Intensite=2.2;
becanromain 6:1bb0ac9721d0 714 sprintf(text, "%2.2f A",Intensite);
becanromain 6:1bb0ac9721d0 715 lv_label_set_text(AffIntensite, text);
becanromain 6:1bb0ac9721d0 716
becanromain 6:1bb0ac9721d0 717 //VITESSE POMPE
becanromain 6:1bb0ac9721d0 718 VitessePpe=1453;
becanromain 6:1bb0ac9721d0 719 sprintf(text, "%4.0f tr/min",VitessePpe);
becanromain 6:1bb0ac9721d0 720 lv_label_set_text(AffVitessePpe, text);
becanromain 6:1bb0ac9721d0 721
becanromain 6:1bb0ac9721d0 722 //CONSOMMATION PRELEVEMENT
becanromain 6:1bb0ac9721d0 723 ConsoPrelev=500.2;
becanromain 6:1bb0ac9721d0 724 sprintf(text, "%2.2f Wh",ConsoPrelev);
becanromain 6:1bb0ac9721d0 725 lv_label_set_text(AffConsoPrelev, text);
becanromain 6:1bb0ac9721d0 726
becanromain 6:1bb0ac9721d0 727 //PUISSANCE
becanromain 6:1bb0ac9721d0 728 Puissance=500.2;
becanromain 6:1bb0ac9721d0 729 sprintf(text, "%2.2f Wh",Puissance);
becanromain 6:1bb0ac9721d0 730 lv_label_set_text(AffPuissance, text);
becanromain 6:1bb0ac9721d0 731 }
becanromain 6:1bb0ac9721d0 732
becanromain 6:1bb0ac9721d0 733 ////////////////////////////////////////////
becanromain 6:1bb0ac9721d0 734 //CREATION PAGE 102: Information générales//
becanromain 6:1bb0ac9721d0 735 ////////////////////////////////////////////
becanromain 6:1bb0ac9721d0 736 if (Num==102){
becanromain 6:1bb0ac9721d0 737 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 738 sprintf(Chemin, "%s \\ %s",_("M100"),_("M102"));
becanromain 6:1bb0ac9721d0 739
becanromain 4:6a3d12663549 740 //affichage données
becanromain 4:6a3d12663549 741 AffTensionBat = lv_label_create(Page, NULL);
becanromain 4:6a3d12663549 742 lv_obj_set_pos(AffTensionBat, 50, i);
becanromain 4:6a3d12663549 743
becanromain 4:6a3d12663549 744 AffTpsCy = lv_label_create(Page, NULL);
becanromain 4:6a3d12663549 745 i=i+16;lv_obj_set_pos(AffTpsCy, 50, i);
becanromain 4:6a3d12663549 746
becanromain 4:6a3d12663549 747 AffCptPuls = lv_label_create(Page, NULL);
becanromain 4:6a3d12663549 748 i=i+16;lv_obj_set_pos(AffCptPuls, 50, i);
becanromain 4:6a3d12663549 749
becanromain 4:6a3d12663549 750 Aff1TpsEntre2Puls = lv_label_create(Page, NULL);
becanromain 4:6a3d12663549 751 i=i+16;lv_obj_set_pos(Aff1TpsEntre2Puls, 50, i);
becanromain 4:6a3d12663549 752
becanromain 4:6a3d12663549 753 Aff2TpsEntre2Puls = lv_label_create(Page, NULL);
becanromain 4:6a3d12663549 754 i=i+16;lv_obj_set_pos(Aff2TpsEntre2Puls, 50, i);
becanromain 4:6a3d12663549 755
becanromain 4:6a3d12663549 756 AffTpsMinEntre2Puls = lv_label_create(Page, NULL);
becanromain 4:6a3d12663549 757 i=i+16;lv_obj_set_pos(AffTpsMinEntre2Puls, 50, i);
becanromain 0:cf6b1eca3e67 758
becanromain 4:6a3d12663549 759 AffTpsMaxEntre2Puls = lv_label_create(Page, NULL);
becanromain 4:6a3d12663549 760 i=i+16;lv_obj_set_pos(AffTpsMaxEntre2Puls, 50, i);
becanromain 4:6a3d12663549 761
becanromain 4:6a3d12663549 762 //BP RAZ
becanromain 4:6a3d12663549 763 BPRAZ = lv_btn_create(Page, NULL);
becanromain 4:6a3d12663549 764 i=i+30;lv_obj_set_pos(BPRAZ, 50, i);
becanromain 4:6a3d12663549 765 label = lv_label_create(BPRAZ, NULL);
becanromain 4:6a3d12663549 766 lv_label_set_text(label, "RAZ");
becanromain 4:6a3d12663549 767 lv_obj_set_size(BPRAZ,60,40);
becanromain 4:6a3d12663549 768 lv_obj_set_event_cb(BPRAZ, BPRAZ_ACT);
becanromain 4:6a3d12663549 769
becanromain 4:6a3d12663549 770 //BP POMPE
becanromain 4:6a3d12663549 771 BPPOMPE = lv_btn_create(Page, NULL);
becanromain 4:6a3d12663549 772 lv_obj_set_pos(BPPOMPE, 150, i);
becanromain 4:6a3d12663549 773 label = lv_label_create(BPPOMPE, NULL);
becanromain 4:6a3d12663549 774 lv_label_set_text(label, "POMPE");
becanromain 4:6a3d12663549 775 lv_obj_set_size(BPPOMPE,90,40);
becanromain 4:6a3d12663549 776 lv_btn_set_toggle(BPPOMPE, true);
becanromain 4:6a3d12663549 777 lv_obj_set_event_cb(BPPOMPE, BPPOMPE_ACT);
becanromain 4:6a3d12663549 778
becanromain 4:6a3d12663549 779 // SLIDER
becanromain 4:6a3d12663549 780 static lv_style_t style_bg,style_knob;
becanromain 6:1bb0ac9721d0 781 static lv_style_t style_indic_R;
becanromain 0:cf6b1eca3e67 782
becanromain 4:6a3d12663549 783 lv_style_copy(&style_bg, &lv_style_pretty);
becanromain 4:6a3d12663549 784 style_bg.body.main_color = LV_COLOR_BLACK;
becanromain 4:6a3d12663549 785 style_bg.body.grad_color = LV_COLOR_BLACK;
becanromain 4:6a3d12663549 786 style_bg.body.radius = LV_RADIUS_CIRCLE;
becanromain 4:6a3d12663549 787 style_bg.body.border.color = LV_COLOR_SILVER;
becanromain 0:cf6b1eca3e67 788
becanromain 4:6a3d12663549 789 lv_style_copy(&style_indic_R, &lv_style_pretty_color);
becanromain 4:6a3d12663549 790 style_indic_R.body.main_color = LV_COLOR_RED;
becanromain 4:6a3d12663549 791 style_indic_R.body.grad_color = LV_COLOR_RED;
becanromain 4:6a3d12663549 792 style_indic_R.body.radius = LV_RADIUS_CIRCLE;
becanromain 4:6a3d12663549 793 style_indic_R.body.shadow.width = 4;
becanromain 4:6a3d12663549 794 style_indic_R.body.shadow.color = LV_COLOR_RED;
becanromain 4:6a3d12663549 795 style_indic_R.body.padding.left = 3;
becanromain 4:6a3d12663549 796 style_indic_R.body.padding.right = 3;
becanromain 4:6a3d12663549 797 style_indic_R.body.padding.top = 3;
becanromain 4:6a3d12663549 798 style_indic_R.body.padding.bottom = 3;
becanromain 4:6a3d12663549 799
becanromain 4:6a3d12663549 800 lv_style_copy(&style_knob, &lv_style_pretty);
becanromain 4:6a3d12663549 801 style_knob.body.radius = LV_RADIUS_CIRCLE;
becanromain 4:6a3d12663549 802 style_knob.body.opa = LV_OPA_70;
becanromain 4:6a3d12663549 803 style_knob.body.padding.top = 10 ;
becanromain 4:6a3d12663549 804 style_knob.body.padding.bottom = 10 ;
becanromain 4:6a3d12663549 805
becanromain 4:6a3d12663549 806 /*Create a slider ROUGE*/
becanromain 4:6a3d12663549 807 R = lv_slider_create(Page, NULL);
becanromain 4:6a3d12663549 808 lv_obj_set_pos(R, 10, 40);
becanromain 4:6a3d12663549 809 lv_obj_set_width(R, 30);
becanromain 4:6a3d12663549 810 lv_obj_set_height(R, 180);
becanromain 4:6a3d12663549 811 lv_slider_set_range(R, 0, 10000);
becanromain 4:6a3d12663549 812 lv_slider_set_value(R, Reglage_R, false);
becanromain 4:6a3d12663549 813 style_indic_R.body.main_color = LV_COLOR_RED;
becanromain 4:6a3d12663549 814 style_indic_R.body.grad_color = LV_COLOR_RED;
becanromain 4:6a3d12663549 815 style_indic_R.body.shadow.color = LV_COLOR_RED;
becanromain 4:6a3d12663549 816 lv_slider_set_style(R, LV_SLIDER_STYLE_BG, &style_bg);
becanromain 4:6a3d12663549 817 lv_slider_set_style(R, LV_SLIDER_STYLE_INDIC,&style_indic_R);
becanromain 4:6a3d12663549 818 lv_slider_set_style(R, LV_SLIDER_STYLE_KNOB, &style_knob);
becanromain 4:6a3d12663549 819 lv_obj_set_event_cb(R, Reglage_R_RGB);
becanromain 4:6a3d12663549 820 Val_R = lv_label_create(Page, NULL);
becanromain 4:6a3d12663549 821 lv_obj_align(Val_R, R, LV_ALIGN_OUT_TOP_MID, 0, -5);
becanromain 4:6a3d12663549 822 sprintf(text, " %d ", lv_slider_get_value(R));
becanromain 4:6a3d12663549 823 lv_label_set_text(Val_R, text);
becanromain 4:6a3d12663549 824 }
becanromain 6:1bb0ac9721d0 825 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 826 if (PageAff==102 and Num==0){
becanromain 6:1bb0ac9721d0 827 sprintf(text, _("Temps de cycle = %3.3f us"),TpsCy); lv_label_set_text(AffTpsCy, text);
becanromain 6:1bb0ac9721d0 828 sprintf(text, _("Tension= %3.3f V "),TensionBat ); lv_label_set_text(AffTensionBat, text);
becanromain 6:1bb0ac9721d0 829 sprintf(text, "Temps fonctionnment pompe= %d s",TpsMaPpe ); lv_label_set_text(AffCptPuls, text);
becanromain 6:1bb0ac9721d0 830 // sprintf(text, "Nombre d'impulsion= %d ",CptPuls ); lv_label_set_text(AffCptPuls, text);
becanromain 6:1bb0ac9721d0 831 // sprintf(text, "Volume = %3.3f L",Volume ); lv_label_set_text(AffVolume, text);
becanromain 6:1bb0ac9721d0 832 // sprintf(text, "Debit= %3.3f L/min ",Debit ); lv_label_set_text(AffDebit, text);
becanromain 6:1bb0ac9721d0 833 // sprintf(text, "%3.0f / %3.0f / %3.0f / %3.0f / %3.0f / %3.0f / %3.0f / %3.0f ",TpsEntre2Puls[1],TpsEntre2Puls[2],TpsEntre2Puls[3],TpsEntre2Puls[4],TpsEntre2Puls[5],TpsEntre2Puls[6],TpsEntre2Puls[7],TpsEntre2Puls[8]); lv_label_set_text(Aff1TpsEntre2Puls, text);
becanromain 6:1bb0ac9721d0 834 // sprintf(text, "%3.0f / %3.0f / %3.0f / %3.0f / %3.0f / %3.0f / %3.0f / %3.0f ",TpsEntre2Puls[9],TpsEntre2Puls[10],TpsEntre2Puls[11],TpsEntre2Puls[12],TpsEntre2Puls[13],TpsEntre2Puls[14],TpsEntre2Puls[15],TpsEntre2Puls[16]); lv_label_set_text(Aff2TpsEntre2Puls, text);
becanromain 6:1bb0ac9721d0 835 // sprintf(text, "Temps mini entre 2 impulsions = %d ",NumSousMenu ); lv_label_set_text(AffTpsMinEntre2Puls, text);
becanromain 6:1bb0ac9721d0 836 // sprintf(text, "Temps maxi entre 2 impulsions = %d",test ); lv_label_set_text(AffTpsMaxEntre2Puls, text);
becanromain 6:1bb0ac9721d0 837 }
becanromain 6:1bb0ac9721d0 838
becanromain 6:1bb0ac9721d0 839 ////////////////////////////////////////////
becanromain 6:1bb0ac9721d0 840 //CREATION PAGE 103: Information générales//
becanromain 6:1bb0ac9721d0 841 ////////////////////////////////////////////
becanromain 6:1bb0ac9721d0 842 if (Num==103){
becanromain 6:1bb0ac9721d0 843 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 844 sprintf(Chemin, "%s \\ %s",_("M100"),_("M103"));
becanromain 6:1bb0ac9721d0 845
becanromain 6:1bb0ac9721d0 846
becanromain 6:1bb0ac9721d0 847 PageAff=103;
becanromain 6:1bb0ac9721d0 848
becanromain 6:1bb0ac9721d0 849 }
becanromain 6:1bb0ac9721d0 850 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 851 if (PageAff==103 and Num==0){
becanromain 6:1bb0ac9721d0 852
becanromain 6:1bb0ac9721d0 853
becanromain 6:1bb0ac9721d0 854 }
becanromain 4:6a3d12663549 855
becanromain 6:1bb0ac9721d0 856 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 857 //CREATION PAGE 201: Test d'étanchéité//
becanromain 6:1bb0ac9721d0 858 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 859 if (Num==201){
becanromain 6:1bb0ac9721d0 860 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 861 sprintf(Chemin, "%s \\ %s",_("M200"),_("M201"));
becanromain 6:1bb0ac9721d0 862
becanromain 6:1bb0ac9721d0 863
becanromain 6:1bb0ac9721d0 864 PageAff=201;
becanromain 6:1bb0ac9721d0 865
becanromain 6:1bb0ac9721d0 866 }
becanromain 6:1bb0ac9721d0 867 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 868 if (PageAff==201 and Num==0){
becanromain 6:1bb0ac9721d0 869
becanromain 6:1bb0ac9721d0 870
becanromain 6:1bb0ac9721d0 871 }
becanromain 6:1bb0ac9721d0 872
becanromain 6:1bb0ac9721d0 873 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 874 //CREATION PAGE 202: Séquence unique//
becanromain 6:1bb0ac9721d0 875 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 876 if (Num==202){
becanromain 6:1bb0ac9721d0 877 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 878 sprintf(Chemin, "%s \\ %s",_("M200"),_("M202"));
becanromain 6:1bb0ac9721d0 879
becanromain 6:1bb0ac9721d0 880
becanromain 6:1bb0ac9721d0 881 PageAff=202;
becanromain 6:1bb0ac9721d0 882
becanromain 6:1bb0ac9721d0 883 }
becanromain 6:1bb0ac9721d0 884 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 885 if (PageAff==202 and Num==0){
becanromain 6:1bb0ac9721d0 886
becanromain 6:1bb0ac9721d0 887
becanromain 6:1bb0ac9721d0 888 }
becanromain 6:1bb0ac9721d0 889 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 890 //CREATION PAGE 203: //
becanromain 6:1bb0ac9721d0 891 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 892 if (Num==203){
becanromain 6:1bb0ac9721d0 893 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 894 sprintf(Chemin, "%s \\ %s",_("M200"),_("M203"));
becanromain 6:1bb0ac9721d0 895
becanromain 6:1bb0ac9721d0 896
becanromain 6:1bb0ac9721d0 897 PageAff=203;
becanromain 6:1bb0ac9721d0 898
becanromain 6:1bb0ac9721d0 899 }
becanromain 6:1bb0ac9721d0 900 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 901 if (PageAff==203 and Num==0){
becanromain 6:1bb0ac9721d0 902
becanromain 6:1bb0ac9721d0 903
becanromain 6:1bb0ac9721d0 904 }
becanromain 6:1bb0ac9721d0 905
becanromain 6:1bb0ac9721d0 906 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 907 //CREATION PAGE 204: //
becanromain 6:1bb0ac9721d0 908 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 909 if (Num==204){
becanromain 6:1bb0ac9721d0 910 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 911 sprintf(Chemin, "%s \\ %s",_("M200"),_("M204"));
becanromain 6:1bb0ac9721d0 912
becanromain 6:1bb0ac9721d0 913
becanromain 6:1bb0ac9721d0 914 PageAff=204;
becanromain 6:1bb0ac9721d0 915
becanromain 6:1bb0ac9721d0 916 }
becanromain 6:1bb0ac9721d0 917 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 918 if (PageAff==204 and Num==0){
becanromain 6:1bb0ac9721d0 919
becanromain 6:1bb0ac9721d0 920
becanromain 6:1bb0ac9721d0 921 }
becanromain 6:1bb0ac9721d0 922
becanromain 6:1bb0ac9721d0 923 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 924 //CREATION PAGE 301: //
becanromain 6:1bb0ac9721d0 925 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 926 if (Num==301){
becanromain 6:1bb0ac9721d0 927 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 928 sprintf(Chemin, "%s \\ %s",_("M300"),_("M301"));
becanromain 6:1bb0ac9721d0 929
becanromain 6:1bb0ac9721d0 930
becanromain 6:1bb0ac9721d0 931 PageAff=301;
becanromain 6:1bb0ac9721d0 932
becanromain 6:1bb0ac9721d0 933 }
becanromain 6:1bb0ac9721d0 934 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 935 if (PageAff==301 and Num==0){
becanromain 6:1bb0ac9721d0 936
becanromain 6:1bb0ac9721d0 937
becanromain 6:1bb0ac9721d0 938 }
becanromain 6:1bb0ac9721d0 939
becanromain 6:1bb0ac9721d0 940 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 941 //CREATION PAGE 302: //
becanromain 6:1bb0ac9721d0 942 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 943 if (Num==302){
becanromain 6:1bb0ac9721d0 944 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 945 sprintf(Chemin, "%s \\ %s",_("M300"),_("M302"));
becanromain 6:1bb0ac9721d0 946
becanromain 6:1bb0ac9721d0 947
becanromain 6:1bb0ac9721d0 948 PageAff=302;
becanromain 6:1bb0ac9721d0 949
becanromain 6:1bb0ac9721d0 950 }
becanromain 6:1bb0ac9721d0 951 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 952 if (PageAff==302 and Num==0){
becanromain 6:1bb0ac9721d0 953
becanromain 6:1bb0ac9721d0 954
becanromain 6:1bb0ac9721d0 955 }
becanromain 6:1bb0ac9721d0 956 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 957 //CREATION PAGE 303: //
becanromain 6:1bb0ac9721d0 958 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 959 if (Num==303){
becanromain 6:1bb0ac9721d0 960 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 961 sprintf(Chemin, "%s \\ %s",_("M300"),_("M303"));
becanromain 6:1bb0ac9721d0 962
becanromain 6:1bb0ac9721d0 963
becanromain 6:1bb0ac9721d0 964 PageAff=303;
becanromain 6:1bb0ac9721d0 965
becanromain 6:1bb0ac9721d0 966 }
becanromain 6:1bb0ac9721d0 967 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 968 if (PageAff==303 and Num==0){
becanromain 6:1bb0ac9721d0 969
becanromain 6:1bb0ac9721d0 970
becanromain 6:1bb0ac9721d0 971 }
becanromain 6:1bb0ac9721d0 972
becanromain 6:1bb0ac9721d0 973 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 974 //CREATION PAGE 304: //
becanromain 6:1bb0ac9721d0 975 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 976 if (Num==304){
becanromain 6:1bb0ac9721d0 977 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 978 sprintf(Chemin, "%s \\ %s",_("M300"),_("M304"));
becanromain 6:1bb0ac9721d0 979
becanromain 6:1bb0ac9721d0 980
becanromain 6:1bb0ac9721d0 981 PageAff=304;
becanromain 4:6a3d12663549 982
becanromain 6:1bb0ac9721d0 983 }
becanromain 6:1bb0ac9721d0 984 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 985 if (PageAff==304 and Num==0){
becanromain 6:1bb0ac9721d0 986
becanromain 6:1bb0ac9721d0 987
becanromain 6:1bb0ac9721d0 988 }
becanromain 6:1bb0ac9721d0 989 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 990 //CREATION PAGE 305: //
becanromain 6:1bb0ac9721d0 991 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 992 if (Num==305){
becanromain 6:1bb0ac9721d0 993 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 994 sprintf(Chemin, "%s \\ %s",_("M300"),_("M305"));
becanromain 6:1bb0ac9721d0 995
becanromain 6:1bb0ac9721d0 996
becanromain 6:1bb0ac9721d0 997 PageAff=305;
becanromain 6:1bb0ac9721d0 998
becanromain 6:1bb0ac9721d0 999 }
becanromain 6:1bb0ac9721d0 1000 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1001 if (PageAff==305 and Num==0){
becanromain 6:1bb0ac9721d0 1002
becanromain 6:1bb0ac9721d0 1003
becanromain 6:1bb0ac9721d0 1004 }
becanromain 6:1bb0ac9721d0 1005 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1006 //CREATION PAGE 306: //
becanromain 6:1bb0ac9721d0 1007 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1008 if (Num==306){
becanromain 6:1bb0ac9721d0 1009 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1010 sprintf(Chemin, "%s \\ %s",_("M300"),_("M306"));
becanromain 6:1bb0ac9721d0 1011
becanromain 6:1bb0ac9721d0 1012
becanromain 6:1bb0ac9721d0 1013 PageAff=306;
becanromain 6:1bb0ac9721d0 1014
becanromain 6:1bb0ac9721d0 1015 }
becanromain 6:1bb0ac9721d0 1016 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1017 if (PageAff==306 and Num==0){
becanromain 6:1bb0ac9721d0 1018
becanromain 6:1bb0ac9721d0 1019
becanromain 6:1bb0ac9721d0 1020 }
becanromain 6:1bb0ac9721d0 1021 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1022 //CREATION PAGE 401: Test d'étanchéité//
becanromain 6:1bb0ac9721d0 1023 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1024 if (Num==401){
becanromain 6:1bb0ac9721d0 1025 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1026 sprintf(Chemin, "%s \\ %s",_("M400"),_("M401"));
becanromain 6:1bb0ac9721d0 1027
becanromain 6:1bb0ac9721d0 1028
becanromain 6:1bb0ac9721d0 1029 PageAff=401;
becanromain 6:1bb0ac9721d0 1030
becanromain 6:1bb0ac9721d0 1031 }
becanromain 6:1bb0ac9721d0 1032 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1033 if (PageAff==401 and Num==0){
becanromain 6:1bb0ac9721d0 1034
becanromain 6:1bb0ac9721d0 1035
becanromain 6:1bb0ac9721d0 1036 }
becanromain 6:1bb0ac9721d0 1037
becanromain 6:1bb0ac9721d0 1038 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1039 //CREATION PAGE 402: Séquence unique//
becanromain 6:1bb0ac9721d0 1040 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1041 if (Num==402){
becanromain 6:1bb0ac9721d0 1042 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1043 sprintf(Chemin, "%s \\ %s",_("M400"),_("M402"));
becanromain 6:1bb0ac9721d0 1044
becanromain 6:1bb0ac9721d0 1045
becanromain 6:1bb0ac9721d0 1046 PageAff=402;
becanromain 6:1bb0ac9721d0 1047
becanromain 6:1bb0ac9721d0 1048 }
becanromain 6:1bb0ac9721d0 1049 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1050 if (PageAff==402 and Num==0){
becanromain 6:1bb0ac9721d0 1051
becanromain 6:1bb0ac9721d0 1052
becanromain 6:1bb0ac9721d0 1053 }
becanromain 6:1bb0ac9721d0 1054 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1055 //CREATION PAGE 403: //
becanromain 6:1bb0ac9721d0 1056 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1057 if (Num==403){
becanromain 6:1bb0ac9721d0 1058 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1059 sprintf(Chemin, "%s \\ %s",_("M400"),_("M403"));
becanromain 6:1bb0ac9721d0 1060
becanromain 6:1bb0ac9721d0 1061
becanromain 6:1bb0ac9721d0 1062 PageAff=403;
becanromain 6:1bb0ac9721d0 1063
becanromain 6:1bb0ac9721d0 1064 }
becanromain 6:1bb0ac9721d0 1065 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1066 if (PageAff==403 and Num==0){
becanromain 6:1bb0ac9721d0 1067
becanromain 6:1bb0ac9721d0 1068
becanromain 6:1bb0ac9721d0 1069 }
becanromain 6:1bb0ac9721d0 1070
becanromain 6:1bb0ac9721d0 1071 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1072 //CREATION PAGE 404: //
becanromain 6:1bb0ac9721d0 1073 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1074 if (Num==404){
becanromain 6:1bb0ac9721d0 1075 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1076 sprintf(Chemin, "%s \\ %s",_("M400"),_("M404"));
becanromain 6:1bb0ac9721d0 1077
becanromain 6:1bb0ac9721d0 1078
becanromain 6:1bb0ac9721d0 1079 PageAff=404;
becanromain 6:1bb0ac9721d0 1080
becanromain 6:1bb0ac9721d0 1081 }
becanromain 6:1bb0ac9721d0 1082 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1083 if (PageAff==404 and Num==0){
becanromain 6:1bb0ac9721d0 1084
becanromain 6:1bb0ac9721d0 1085
becanromain 6:1bb0ac9721d0 1086 }
becanromain 6:1bb0ac9721d0 1087 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1088 //CREATION PAGE 405: //
becanromain 6:1bb0ac9721d0 1089 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1090 if (Num==405){
becanromain 6:1bb0ac9721d0 1091 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1092 sprintf(Chemin, "%s \\ %s",_("M400"),_("M405"));
becanromain 6:1bb0ac9721d0 1093
becanromain 6:1bb0ac9721d0 1094
becanromain 6:1bb0ac9721d0 1095 PageAff=405;
becanromain 6:1bb0ac9721d0 1096
becanromain 6:1bb0ac9721d0 1097 }
becanromain 6:1bb0ac9721d0 1098 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1099 if (PageAff==405 and Num==0){
becanromain 6:1bb0ac9721d0 1100
becanromain 6:1bb0ac9721d0 1101
becanromain 6:1bb0ac9721d0 1102 }
becanromain 6:1bb0ac9721d0 1103 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1104 //CREATION PAGE 406: //
becanromain 6:1bb0ac9721d0 1105 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1106 if (Num==406){
becanromain 6:1bb0ac9721d0 1107 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1108 sprintf(Chemin, "%s \\ %s",_("M400"),_("M406"));
becanromain 6:1bb0ac9721d0 1109
becanromain 6:1bb0ac9721d0 1110
becanromain 6:1bb0ac9721d0 1111 PageAff=406;
becanromain 6:1bb0ac9721d0 1112
becanromain 6:1bb0ac9721d0 1113 }
becanromain 6:1bb0ac9721d0 1114 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1115 if (PageAff==406 and Num==0){
becanromain 6:1bb0ac9721d0 1116
becanromain 6:1bb0ac9721d0 1117
becanromain 6:1bb0ac9721d0 1118 }
becanromain 6:1bb0ac9721d0 1119
becanromain 6:1bb0ac9721d0 1120 ///////////////////////////////////////
becanromain 6:1bb0ac9721d0 1121 //CREATION PAGE 501: Sélection langue//
becanromain 6:1bb0ac9721d0 1122 ///////////////////////////////////////
becanromain 6:1bb0ac9721d0 1123 if (Num==501){
becanromain 6:1bb0ac9721d0 1124 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1125 sprintf(Chemin, "%s \\ %s",_("M500"),_("M501"));
becanromain 6:1bb0ac9721d0 1126
becanromain 4:6a3d12663549 1127 //BP SELECTION LANGUE: FRANCAIS
becanromain 4:6a3d12663549 1128 lv_obj_t * LANGUE_FR = lv_btn_create(Page, NULL);
becanromain 4:6a3d12663549 1129 lv_obj_align(LANGUE_FR, Page, LV_ALIGN_IN_TOP_MID, -80, 50);
becanromain 4:6a3d12663549 1130 label = lv_label_create(LANGUE_FR, NULL);
becanromain 4:6a3d12663549 1131 lv_label_set_text(label, _("Francais"));
becanromain 4:6a3d12663549 1132 lv_obj_set_size(LANGUE_FR,100,40);
becanromain 4:6a3d12663549 1133 lv_obj_set_event_cb(LANGUE_FR, LANGUE_FR_ACT);
becanromain 4:6a3d12663549 1134
becanromain 4:6a3d12663549 1135 //BP SELECTION LANGUE: ANGLAIS
becanromain 4:6a3d12663549 1136 lv_obj_t * LANGUE_EN = lv_btn_create(Page, NULL);
becanromain 4:6a3d12663549 1137 lv_obj_align(LANGUE_EN, Page, LV_ALIGN_IN_TOP_MID, 80, 50);
becanromain 4:6a3d12663549 1138 label = lv_label_create(LANGUE_EN, NULL);
becanromain 4:6a3d12663549 1139 lv_label_set_text(label, _("English"));
becanromain 4:6a3d12663549 1140 lv_obj_set_size(LANGUE_EN,100,40);
becanromain 6:1bb0ac9721d0 1141 lv_obj_set_event_cb(LANGUE_EN, LANGUE_EN_ACT);
becanromain 6:1bb0ac9721d0 1142
becanromain 6:1bb0ac9721d0 1143 PageAff=501;
becanromain 6:1bb0ac9721d0 1144 }
becanromain 6:1bb0ac9721d0 1145 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1146 if (PageAff==501 and Num==0){
becanromain 6:1bb0ac9721d0 1147
becanromain 6:1bb0ac9721d0 1148 }
becanromain 6:1bb0ac9721d0 1149
becanromain 6:1bb0ac9721d0 1150 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1151 //CREATION PAGE 502: Séquence unique//
becanromain 6:1bb0ac9721d0 1152 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1153 if (Num==502){
becanromain 6:1bb0ac9721d0 1154 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1155 sprintf(Chemin, "%s \\ %s",_("M500"),_("M502"));
becanromain 6:1bb0ac9721d0 1156
becanromain 6:1bb0ac9721d0 1157
becanromain 6:1bb0ac9721d0 1158 PageAff=502;
becanromain 6:1bb0ac9721d0 1159
becanromain 6:1bb0ac9721d0 1160 }
becanromain 6:1bb0ac9721d0 1161 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1162 if (PageAff==502 and Num==0){
becanromain 6:1bb0ac9721d0 1163
becanromain 6:1bb0ac9721d0 1164
becanromain 6:1bb0ac9721d0 1165 }
becanromain 6:1bb0ac9721d0 1166 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1167 //CREATION PAGE 503: //
becanromain 6:1bb0ac9721d0 1168 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1169 if (Num==503){
becanromain 6:1bb0ac9721d0 1170 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1171 sprintf(Chemin, "%s \\ %s",_("M500"),_("M503"));
becanromain 6:1bb0ac9721d0 1172
becanromain 6:1bb0ac9721d0 1173
becanromain 6:1bb0ac9721d0 1174 PageAff=503;
becanromain 6:1bb0ac9721d0 1175
becanromain 6:1bb0ac9721d0 1176 }
becanromain 6:1bb0ac9721d0 1177 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1178 if (PageAff==503 and Num==0){
becanromain 6:1bb0ac9721d0 1179
becanromain 6:1bb0ac9721d0 1180
becanromain 6:1bb0ac9721d0 1181 }
becanromain 6:1bb0ac9721d0 1182
becanromain 6:1bb0ac9721d0 1183 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1184 //CREATION PAGE 504: //
becanromain 6:1bb0ac9721d0 1185 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1186 if (Num==504){
becanromain 6:1bb0ac9721d0 1187 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1188 sprintf(Chemin, "%s \\ %s",_("M500"),_("M504"));
becanromain 6:1bb0ac9721d0 1189
becanromain 6:1bb0ac9721d0 1190
becanromain 6:1bb0ac9721d0 1191 PageAff=504;
becanromain 6:1bb0ac9721d0 1192
becanromain 6:1bb0ac9721d0 1193 }
becanromain 6:1bb0ac9721d0 1194 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1195 if (PageAff==504 and Num==0){
becanromain 6:1bb0ac9721d0 1196
becanromain 6:1bb0ac9721d0 1197
becanromain 6:1bb0ac9721d0 1198 }
becanromain 6:1bb0ac9721d0 1199 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1200 //CREATION PAGE 505: //
becanromain 6:1bb0ac9721d0 1201 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1202 if (Num==505){
becanromain 6:1bb0ac9721d0 1203 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1204 sprintf(Chemin, "%s \\ %s",_("M500"),_("M505"));
becanromain 6:1bb0ac9721d0 1205
becanromain 6:1bb0ac9721d0 1206
becanromain 6:1bb0ac9721d0 1207 PageAff=505;
becanromain 6:1bb0ac9721d0 1208
becanromain 6:1bb0ac9721d0 1209 }
becanromain 6:1bb0ac9721d0 1210 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1211 if (PageAff==505 and Num==0){
becanromain 6:1bb0ac9721d0 1212
becanromain 6:1bb0ac9721d0 1213
becanromain 6:1bb0ac9721d0 1214 }
becanromain 6:1bb0ac9721d0 1215 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1216 //CREATION PAGE 506: //
becanromain 6:1bb0ac9721d0 1217 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1218 if (Num==506){
becanromain 6:1bb0ac9721d0 1219 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1220 sprintf(Chemin, "%s \\ %s",_("M500"),_("M506"));
becanromain 6:1bb0ac9721d0 1221
becanromain 6:1bb0ac9721d0 1222
becanromain 6:1bb0ac9721d0 1223 PageAff=506;
becanromain 6:1bb0ac9721d0 1224
becanromain 6:1bb0ac9721d0 1225 }
becanromain 6:1bb0ac9721d0 1226 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1227 if (PageAff==506 and Num==0){
becanromain 6:1bb0ac9721d0 1228
becanromain 6:1bb0ac9721d0 1229
becanromain 6:1bb0ac9721d0 1230 }
becanromain 6:1bb0ac9721d0 1231 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1232 //CREATION PAGE 601: Test d'étanchéité//
becanromain 6:1bb0ac9721d0 1233 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1234 if (Num==601){
becanromain 6:1bb0ac9721d0 1235 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1236 sprintf(Chemin, "%s \\ %s",_("M600"),_("M601"));
becanromain 6:1bb0ac9721d0 1237
becanromain 6:1bb0ac9721d0 1238
becanromain 6:1bb0ac9721d0 1239 PageAff=601;
becanromain 6:1bb0ac9721d0 1240
becanromain 6:1bb0ac9721d0 1241 }
becanromain 6:1bb0ac9721d0 1242 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1243 if (PageAff==601 and Num==0){
becanromain 6:1bb0ac9721d0 1244
becanromain 6:1bb0ac9721d0 1245
becanromain 6:1bb0ac9721d0 1246 }
becanromain 6:1bb0ac9721d0 1247
becanromain 6:1bb0ac9721d0 1248 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1249 //CREATION PAGE 602: Séquence unique//
becanromain 6:1bb0ac9721d0 1250 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1251 if (Num==602){
becanromain 6:1bb0ac9721d0 1252 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1253 sprintf(Chemin, "%s \\ %s",_("M600"),_("M602"));
becanromain 6:1bb0ac9721d0 1254
becanromain 6:1bb0ac9721d0 1255
becanromain 6:1bb0ac9721d0 1256 PageAff=602;
becanromain 6:1bb0ac9721d0 1257
becanromain 6:1bb0ac9721d0 1258 }
becanromain 6:1bb0ac9721d0 1259 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1260 if (PageAff==602 and Num==0){
becanromain 6:1bb0ac9721d0 1261
becanromain 6:1bb0ac9721d0 1262
becanromain 6:1bb0ac9721d0 1263 }
becanromain 6:1bb0ac9721d0 1264 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1265 //CREATION PAGE 603: //
becanromain 6:1bb0ac9721d0 1266 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1267 if (Num==603){
becanromain 6:1bb0ac9721d0 1268 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1269 sprintf(Chemin, "%s \\ %s",_("M600"),_("M603"));
becanromain 6:1bb0ac9721d0 1270
becanromain 6:1bb0ac9721d0 1271
becanromain 6:1bb0ac9721d0 1272 PageAff=603;
becanromain 6:1bb0ac9721d0 1273
becanromain 6:1bb0ac9721d0 1274 }
becanromain 6:1bb0ac9721d0 1275 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1276 if (PageAff==603 and Num==0){
becanromain 6:1bb0ac9721d0 1277
becanromain 6:1bb0ac9721d0 1278
becanromain 6:1bb0ac9721d0 1279 }
becanromain 6:1bb0ac9721d0 1280
becanromain 6:1bb0ac9721d0 1281 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1282 //CREATION PAGE 604: //
becanromain 6:1bb0ac9721d0 1283 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1284 if (Num==604){
becanromain 6:1bb0ac9721d0 1285 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1286 sprintf(Chemin, "%s \\ %s",_("M600"),_("M604"));
becanromain 6:1bb0ac9721d0 1287
becanromain 6:1bb0ac9721d0 1288
becanromain 6:1bb0ac9721d0 1289 PageAff=604;
becanromain 6:1bb0ac9721d0 1290
becanromain 6:1bb0ac9721d0 1291 }
becanromain 6:1bb0ac9721d0 1292 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1293 if (PageAff==604 and Num==0){
becanromain 6:1bb0ac9721d0 1294
becanromain 6:1bb0ac9721d0 1295
becanromain 6:1bb0ac9721d0 1296 }
becanromain 6:1bb0ac9721d0 1297 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1298 //CREATION PAGE 605: //
becanromain 6:1bb0ac9721d0 1299 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1300 if (Num==605){
becanromain 6:1bb0ac9721d0 1301 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1302 sprintf(Chemin, "%s \\ %s",_("M600"),_("M605"));
becanromain 6:1bb0ac9721d0 1303
becanromain 6:1bb0ac9721d0 1304
becanromain 6:1bb0ac9721d0 1305 PageAff=605;
becanromain 6:1bb0ac9721d0 1306
becanromain 6:1bb0ac9721d0 1307 }
becanromain 6:1bb0ac9721d0 1308 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1309 if (PageAff==605 and Num==0){
becanromain 6:1bb0ac9721d0 1310
becanromain 6:1bb0ac9721d0 1311
becanromain 6:1bb0ac9721d0 1312 }
becanromain 6:1bb0ac9721d0 1313 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1314 //CREATION PAGE 606: //
becanromain 6:1bb0ac9721d0 1315 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1316 if (Num==606){
becanromain 6:1bb0ac9721d0 1317 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1318 sprintf(Chemin, "%s \\ %s",_("M600"),_("M606"));
becanromain 6:1bb0ac9721d0 1319
becanromain 6:1bb0ac9721d0 1320
becanromain 6:1bb0ac9721d0 1321 PageAff=606;
becanromain 6:1bb0ac9721d0 1322
becanromain 6:1bb0ac9721d0 1323 }
becanromain 6:1bb0ac9721d0 1324 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1325 if (PageAff==606 and Num==0){
becanromain 6:1bb0ac9721d0 1326
becanromain 6:1bb0ac9721d0 1327
becanromain 6:1bb0ac9721d0 1328 }
becanromain 6:1bb0ac9721d0 1329 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1330 //CREATION PAGE 701:??????????????????//
becanromain 6:1bb0ac9721d0 1331 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1332 if (Num==701){
becanromain 6:1bb0ac9721d0 1333 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1334 sprintf(Chemin, "%s \\ %s",_("M700"),_("M701"));
becanromain 6:1bb0ac9721d0 1335
becanromain 6:1bb0ac9721d0 1336 //Programme en cours
becanromain 6:1bb0ac9721d0 1337 lv_obj_t *ProgEC = lv_label_create(Page, NULL);
becanromain 6:1bb0ac9721d0 1338 lv_obj_set_pos(ProgEC, 50, i);
becanromain 6:1bb0ac9721d0 1339
becanromain 6:1bb0ac9721d0 1340 PageAff=401;
becanromain 6:1bb0ac9721d0 1341
becanromain 6:1bb0ac9721d0 1342 }
becanromain 6:1bb0ac9721d0 1343 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1344 if (PageAff==701 and Num==0){
becanromain 6:1bb0ac9721d0 1345
becanromain 6:1bb0ac9721d0 1346 }
becanromain 6:1bb0ac9721d0 1347
becanromain 6:1bb0ac9721d0 1348 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1349 //CREATION PAGE 702: Séquence unique//
becanromain 6:1bb0ac9721d0 1350 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1351 if (Num==702){
becanromain 6:1bb0ac9721d0 1352 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1353 sprintf(Chemin, "%s \\ %s",_("M700"),_("M702"));
becanromain 6:1bb0ac9721d0 1354
becanromain 6:1bb0ac9721d0 1355
becanromain 6:1bb0ac9721d0 1356 PageAff=702;
becanromain 6:1bb0ac9721d0 1357
becanromain 6:1bb0ac9721d0 1358 }
becanromain 6:1bb0ac9721d0 1359 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1360 if (PageAff==702 and Num==0){
becanromain 6:1bb0ac9721d0 1361
becanromain 6:1bb0ac9721d0 1362
becanromain 6:1bb0ac9721d0 1363 }
becanromain 6:1bb0ac9721d0 1364 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1365 //CREATION PAGE 703: //
becanromain 6:1bb0ac9721d0 1366 ////////////////////////////////////////
becanromain 6:1bb0ac9721d0 1367 if (Num==703){
becanromain 6:1bb0ac9721d0 1368 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1369 sprintf(Chemin, "%s \\ %s",_("M700"),_("M703"));
becanromain 6:1bb0ac9721d0 1370
becanromain 6:1bb0ac9721d0 1371
becanromain 6:1bb0ac9721d0 1372 PageAff=703;
becanromain 6:1bb0ac9721d0 1373
becanromain 6:1bb0ac9721d0 1374 }
becanromain 6:1bb0ac9721d0 1375 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1376 if (PageAff==703 and Num==0){
becanromain 6:1bb0ac9721d0 1377
becanromain 6:1bb0ac9721d0 1378
becanromain 4:6a3d12663549 1379 }
becanromain 4:6a3d12663549 1380
becanromain 6:1bb0ac9721d0 1381 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1382 //CREATION PAGE 704: //
becanromain 6:1bb0ac9721d0 1383 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1384 if (Num==704){
becanromain 6:1bb0ac9721d0 1385 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1386 sprintf(Chemin, "%s \\ %s",_("M700"),_("M704"));
becanromain 6:1bb0ac9721d0 1387
becanromain 6:1bb0ac9721d0 1388
becanromain 6:1bb0ac9721d0 1389 PageAff=704;
becanromain 6:1bb0ac9721d0 1390
becanromain 6:1bb0ac9721d0 1391 }
becanromain 6:1bb0ac9721d0 1392 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1393 if (PageAff==704 and Num==0){
becanromain 6:1bb0ac9721d0 1394
becanromain 6:1bb0ac9721d0 1395
becanromain 6:1bb0ac9721d0 1396 }
becanromain 6:1bb0ac9721d0 1397 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1398 //CREATION PAGE 705: //
becanromain 6:1bb0ac9721d0 1399 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1400 if (Num==705){
becanromain 6:1bb0ac9721d0 1401 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1402 sprintf(Chemin, "%s \\ %s",_("M700"),_("M705"));
becanromain 6:1bb0ac9721d0 1403
becanromain 6:1bb0ac9721d0 1404
becanromain 6:1bb0ac9721d0 1405 PageAff=705;
becanromain 6:1bb0ac9721d0 1406
becanromain 6:1bb0ac9721d0 1407 }
becanromain 6:1bb0ac9721d0 1408 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1409 if (PageAff==705 and Num==0){
becanromain 6:1bb0ac9721d0 1410
becanromain 6:1bb0ac9721d0 1411
becanromain 6:1bb0ac9721d0 1412 }
becanromain 6:1bb0ac9721d0 1413 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1414 //CREATION PAGE 706: //
becanromain 6:1bb0ac9721d0 1415 //////////////////////////////////////
becanromain 6:1bb0ac9721d0 1416 if (Num==706){
becanromain 6:1bb0ac9721d0 1417 // CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1418 sprintf(Chemin, "%s \\ %s",_("M700"),_("M706"));
becanromain 6:1bb0ac9721d0 1419
becanromain 6:1bb0ac9721d0 1420
becanromain 6:1bb0ac9721d0 1421 PageAff=706;
becanromain 6:1bb0ac9721d0 1422
becanromain 6:1bb0ac9721d0 1423 }
becanromain 6:1bb0ac9721d0 1424 //RAFFRAICHISSEMENT DONNEES
becanromain 6:1bb0ac9721d0 1425 if (PageAff==706 and Num==0){
becanromain 6:1bb0ac9721d0 1426
becanromain 6:1bb0ac9721d0 1427
becanromain 6:1bb0ac9721d0 1428 }
becanromain 6:1bb0ac9721d0 1429 }
becanromain 0:cf6b1eca3e67 1430
becanromain 6:1bb0ac9721d0 1431 //FONCTION INTERRUPTION COMPTEUR D'IMPULSION
becanromain 6:1bb0ac9721d0 1432 void interruptCompteur()
becanromain 6:1bb0ac9721d0 1433 {
becanromain 6:1bb0ac9721d0 1434 //Timestamp pulsation
becanromain 6:1bb0ac9721d0 1435 TimerPuls=tempo.read_high_resolution_us();
becanromain 6:1bb0ac9721d0 1436
becanromain 6:1bb0ac9721d0 1437 // Calcul temps entre 2 impulsions
becanromain 6:1bb0ac9721d0 1438 TpsPuls=TimerPuls-MemTpsPuls;
becanromain 6:1bb0ac9721d0 1439 MemTpsPuls=TimerPuls;
becanromain 6:1bb0ac9721d0 1440
becanromain 6:1bb0ac9721d0 1441 //Incrementation numéro de dent roue
becanromain 6:1bb0ac9721d0 1442 NumDent++;
becanromain 6:1bb0ac9721d0 1443
becanromain 6:1bb0ac9721d0 1444 //Memorisation ecart entre chaque impulsion et Calcul des Min Max
becanromain 6:1bb0ac9721d0 1445 Calcul=TpsPuls;
becanromain 6:1bb0ac9721d0 1446 Calcul=Calcul/1000;
becanromain 6:1bb0ac9721d0 1447 TpsEntre2Puls[NumDent]=Calcul;
becanromain 6:1bb0ac9721d0 1448 if (Calcul<TpsMinEntre2Puls){TpsMinEntre2Puls=Calcul;}
becanromain 6:1bb0ac9721d0 1449 if (Calcul>TpsMaxEntre2Puls){TpsMaxEntre2Puls=Calcul;}
becanromain 6:1bb0ac9721d0 1450
becanromain 6:1bb0ac9721d0 1451 //Calcul débit
becanromain 6:1bb0ac9721d0 1452 if (NumDent>=16){
becanromain 6:1bb0ac9721d0 1453 CalcDebit=VolParTour;
becanromain 6:1bb0ac9721d0 1454 CalcDebit=60000000*CalcDebit/(TimerPuls-MemTps16Puls);
becanromain 6:1bb0ac9721d0 1455 Debit=CalcDebit;
becanromain 6:1bb0ac9721d0 1456 Debit=Debit/1000;
becanromain 6:1bb0ac9721d0 1457 MemTps16Puls=TimerPuls;
becanromain 6:1bb0ac9721d0 1458 NumDent=0;
becanromain 6:1bb0ac9721d0 1459 }
becanromain 6:1bb0ac9721d0 1460
becanromain 6:1bb0ac9721d0 1461 //Nombre d'impulsion total
becanromain 6:1bb0ac9721d0 1462 CptPuls++;
becanromain 6:1bb0ac9721d0 1463
becanromain 6:1bb0ac9721d0 1464 //Calcul Volume
becanromain 6:1bb0ac9721d0 1465 Volume.Val=CptPuls*VolParTour/16000;
becanromain 6:1bb0ac9721d0 1466
becanromain 6:1bb0ac9721d0 1467 }
becanromain 6:1bb0ac9721d0 1468
becanromain 6:1bb0ac9721d0 1469 void initialisation(void)
becanromain 6:1bb0ac9721d0 1470 {
becanromain 6:1bb0ac9721d0 1471 //CHARGEMENT DU THEME
becanromain 6:1bb0ac9721d0 1472 th_act = lv_theme_rb_init(0, &RB_lv_font_roboto_16); //Gabor: When i change something in my Theme nothing's happen. Can you see in /lvgl_RB/lv_theme_rb.c
becanromain 6:1bb0ac9721d0 1473
becanromain 6:1bb0ac9721d0 1474 // th_act = lv_theme_rb_init(0, NULL); //Gabor: When i change something in my Theme nothing's happen. Can you see in /lvgl_RB/lv_theme_rb.c
becanromain 6:1bb0ac9721d0 1475 // th_act = lv_theme_night_init(0, NULL);
becanromain 6:1bb0ac9721d0 1476 lv_theme_set_current(th_act);
becanromain 6:1bb0ac9721d0 1477
becanromain 6:1bb0ac9721d0 1478 lv_obj_t * scr = lv_obj_create(NULL, NULL);
becanromain 6:1bb0ac9721d0 1479 lv_disp_load_scr(scr);
becanromain 6:1bb0ac9721d0 1480
becanromain 6:1bb0ac9721d0 1481 //POLICES
becanromain 6:1bb0ac9721d0 1482 lv_style_copy(&P10, &lv_style_pretty); P10.text.font = &RB_lv_font_roboto_10;
becanromain 6:1bb0ac9721d0 1483 lv_style_copy(&P12, &lv_style_pretty); P12.text.font = &RB_lv_font_roboto_12;
becanromain 6:1bb0ac9721d0 1484 lv_style_copy(&P16, &lv_style_pretty); P16.text.font = &RB_lv_font_roboto_16;
becanromain 6:1bb0ac9721d0 1485 lv_style_copy(&P18, &lv_style_pretty); P18.text.font = &RB_lv_font_roboto_18;
becanromain 6:1bb0ac9721d0 1486 lv_style_copy(&P22, &lv_style_pretty); P22.text.font = &RB_lv_font_roboto_22;
becanromain 6:1bb0ac9721d0 1487 lv_style_copy(&PG12, &lv_style_pretty); PG12.text.font = &RB_lv_font_roboto_bold_12;
becanromain 6:1bb0ac9721d0 1488 lv_style_copy(&PG16, &lv_style_pretty); PG16.text.font = &RB_lv_font_roboto_bold_16;
becanromain 6:1bb0ac9721d0 1489 lv_style_copy(&PG18, &lv_style_pretty); PG18.text.font = &RB_lv_font_roboto_bold_18;
becanromain 6:1bb0ac9721d0 1490 lv_style_copy(&PG22, &lv_style_pretty); PG22.text.font = &RB_lv_font_roboto_bold_22;
becanromain 6:1bb0ac9721d0 1491
becanromain 6:1bb0ac9721d0 1492 lv_style_copy(&P16Saisie, &lv_style_pretty); P16Saisie.text.font = &RB_lv_font_roboto_16; P16Saisie.text.color = LV_COLOR_MAKE(0, 0, 255);
becanromain 6:1bb0ac9721d0 1493
becanromain 6:1bb0ac9721d0 1494
becanromain 6:1bb0ac9721d0 1495 //INITIALISATION TABLEAU UTILISATEUR
becanromain 6:1bb0ac9721d0 1496 User[1].Nom="Romain BECAN"; User[1].MDP="1234"; User[1].Niveau=3; User[1].Tps=1;
becanromain 6:1bb0ac9721d0 1497 User[2].Nom="Guy HERVE"; User[2].MDP="5678"; User[2].Niveau=2; User[2].Tps=120;
becanromain 6:1bb0ac9721d0 1498 User[31].Nom="OPERATEUR 1"; User[31].MDP="4321"; User[31].Niveau=1; User[31].Tps=1;
becanromain 6:1bb0ac9721d0 1499 User[32].Nom="OPERATEUR 2"; User[32].MDP="4321"; User[32].Niveau=1; User[32].Tps=60;
becanromain 6:1bb0ac9721d0 1500 User[33].Nom="OPERATEUR 3"; User[33].MDP="4321"; User[33].Niveau=1; User[33].Tps=70;
becanromain 6:1bb0ac9721d0 1501 User[34].Nom="OPERATEUR 4"; User[34].MDP="4321"; User[34].Niveau=1; User[34].Tps=30;
becanromain 6:1bb0ac9721d0 1502 User[35].Nom="OPERATEUR 5"; User[35].MDP="4321"; User[35].Niveau=3; User[35].Tps=30;
becanromain 6:1bb0ac9721d0 1503 User[36].Nom="OPERATEUR 6"; User[36].MDP="4321"; User[36].Niveau=3; User[36].Tps=30;
becanromain 6:1bb0ac9721d0 1504 User[99].Nom="OPERATEUR 100"; User[99].MDP="4321"; User[99].Niveau=3; User[99].Tps=30;
becanromain 6:1bb0ac9721d0 1505 }
becanromain 6:1bb0ac9721d0 1506
becanromain 6:1bb0ac9721d0 1507 //////////////////
becanromain 6:1bb0ac9721d0 1508 // BANDEAU HAUT //
becanromain 6:1bb0ac9721d0 1509 //////////////////
becanromain 6:1bb0ac9721d0 1510 static void AFFBandeauHaut(int Num)
becanromain 6:1bb0ac9721d0 1511 {
becanromain 6:1bb0ac9721d0 1512 if(BandeauHaut) {
becanromain 6:1bb0ac9721d0 1513 lv_obj_del(BandeauHaut);
becanromain 6:1bb0ac9721d0 1514 BandeauHaut = NULL;
becanromain 6:1bb0ac9721d0 1515 }
becanromain 6:1bb0ac9721d0 1516 NumBandeauHaut=Num;
becanromain 6:1bb0ac9721d0 1517
becanromain 6:1bb0ac9721d0 1518 //Bandeau haut sans Menu
becanromain 6:1bb0ac9721d0 1519 if (NumBandeauHaut==1){
becanromain 6:1bb0ac9721d0 1520 // CREATION OBJET BANDEAU HAUT
becanromain 6:1bb0ac9721d0 1521 BandeauHaut = lv_cont_create(lv_scr_act(), NULL);
becanromain 6:1bb0ac9721d0 1522 lv_obj_set_size(BandeauHaut,hres,40);
becanromain 6:1bb0ac9721d0 1523 lv_obj_set_pos(BandeauHaut, 0, 0);
becanromain 6:1bb0ac9721d0 1524
becanromain 6:1bb0ac9721d0 1525 //BP APPEL MENU
becanromain 6:1bb0ac9721d0 1526 BPMENU = lv_btn_create(BandeauHaut, NULL);
becanromain 6:1bb0ac9721d0 1527 label = lv_label_create(BPMENU, NULL);
becanromain 6:1bb0ac9721d0 1528 lv_label_set_text(label, LV_SYMBOL_PLAY);
becanromain 6:1bb0ac9721d0 1529 lv_obj_set_size(BPMENU,40,40);
becanromain 6:1bb0ac9721d0 1530 lv_obj_set_pos(BandeauHaut, 0, 0);
becanromain 6:1bb0ac9721d0 1531 lv_obj_set_event_cb(BPMENU, BPMENU_ACT);
becanromain 6:1bb0ac9721d0 1532
becanromain 6:1bb0ac9721d0 1533 //CHEMIN PAGE
becanromain 6:1bb0ac9721d0 1534 AffChemin = lv_label_create(BandeauHaut, NULL);
becanromain 6:1bb0ac9721d0 1535 lv_obj_set_style(AffChemin, &P22);
becanromain 6:1bb0ac9721d0 1536 lv_obj_align(AffChemin, BandeauHaut, LV_ALIGN_IN_LEFT_MID, 45, 0);
becanromain 6:1bb0ac9721d0 1537 sprintf(text, Chemin); lv_label_set_text(AffChemin, text);
becanromain 6:1bb0ac9721d0 1538
becanromain 6:1bb0ac9721d0 1539 //ETAT BATTERIE
becanromain 6:1bb0ac9721d0 1540 AffSymbBat = lv_label_create(BandeauHaut, NULL);
becanromain 6:1bb0ac9721d0 1541 lv_obj_set_style(AffSymbBat, &P22);
becanromain 6:1bb0ac9721d0 1542 lv_obj_align(AffSymbBat, BandeauHaut, LV_ALIGN_IN_TOP_RIGHT, -15, 3);
becanromain 6:1bb0ac9721d0 1543 sprintf(text,LV_SYMBOL_BATTERY_3 ); lv_label_set_text(AffSymbBat, text);
becanromain 6:1bb0ac9721d0 1544 AffPourcBat = lv_label_create(BandeauHaut, NULL);
becanromain 6:1bb0ac9721d0 1545 lv_obj_set_style(AffPourcBat, &P12);
becanromain 6:1bb0ac9721d0 1546 lv_obj_align(AffPourcBat, AffSymbBat, LV_ALIGN_OUT_BOTTOM_LEFT, 0, -8);
becanromain 6:1bb0ac9721d0 1547 sprintf(text,"75%%"); lv_label_set_text(AffPourcBat, text);
becanromain 6:1bb0ac9721d0 1548
becanromain 6:1bb0ac9721d0 1549 }
becanromain 6:1bb0ac9721d0 1550
becanromain 6:1bb0ac9721d0 1551 //Bandeau haut avec Menu
becanromain 6:1bb0ac9721d0 1552 if (NumBandeauHaut==2){
becanromain 6:1bb0ac9721d0 1553 //TEMPS D'AFFICHAGE BANDEAU HAUT
becanromain 6:1bb0ac9721d0 1554 TpsAvFermMenu=5000;
becanromain 6:1bb0ac9721d0 1555
becanromain 6:1bb0ac9721d0 1556 // CREATION OBJET BANDEAU HAUT
becanromain 6:1bb0ac9721d0 1557 BandeauHaut = lv_cont_create(lv_scr_act(), NULL);
becanromain 6:1bb0ac9721d0 1558 lv_obj_set_size(BandeauHaut,2000,40);
becanromain 6:1bb0ac9721d0 1559 // lv_cont_set_fit2(BandeauHaut,LV_FIT_TIGHT, LV_FIT_NONE);
becanromain 6:1bb0ac9721d0 1560 lv_obj_set_pos(BandeauHaut, 0, 0);
becanromain 6:1bb0ac9721d0 1561 lv_obj_set_drag_dir(BandeauHaut, LV_DRAG_DIR_HOR);
becanromain 6:1bb0ac9721d0 1562 lv_obj_set_drag_throw(BandeauHaut, true);
becanromain 6:1bb0ac9721d0 1563
becanromain 6:1bb0ac9721d0 1564 //MENU 1
becanromain 6:1bb0ac9721d0 1565 M100 = lv_btn_create(BandeauHaut, NULL);
becanromain 6:1bb0ac9721d0 1566 StyleBPM(M100);
becanromain 6:1bb0ac9721d0 1567 lv_obj_t * label = lv_label_create(M100, NULL);
becanromain 6:1bb0ac9721d0 1568 lv_label_set_text(label, _("M100"));
becanromain 6:1bb0ac9721d0 1569 lv_obj_set_size(M100,130,40);
becanromain 6:1bb0ac9721d0 1570 lv_obj_set_drag_parent(M100, true);
becanromain 6:1bb0ac9721d0 1571 lv_obj_set_event_cb(M100, M100_ACT);
becanromain 6:1bb0ac9721d0 1572
becanromain 6:1bb0ac9721d0 1573 //MENU 2
becanromain 6:1bb0ac9721d0 1574 M200 = lv_btn_create(BandeauHaut, NULL);
becanromain 6:1bb0ac9721d0 1575 StyleBPM(M200);
becanromain 6:1bb0ac9721d0 1576 label = lv_label_create(M200, NULL);
becanromain 6:1bb0ac9721d0 1577 lv_label_set_text(label, _("M200"));
becanromain 6:1bb0ac9721d0 1578 lv_obj_set_size(M200,130,40);
becanromain 6:1bb0ac9721d0 1579 lv_obj_align(M200, M100, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
becanromain 6:1bb0ac9721d0 1580 lv_obj_set_drag_parent(M200, true);
becanromain 6:1bb0ac9721d0 1581 lv_obj_set_event_cb(M200, M200_ACT);
becanromain 6:1bb0ac9721d0 1582
becanromain 6:1bb0ac9721d0 1583 //MENU 3
becanromain 6:1bb0ac9721d0 1584 M300 = lv_btn_create(BandeauHaut, NULL);
becanromain 6:1bb0ac9721d0 1585 StyleBPM(M300);
becanromain 6:1bb0ac9721d0 1586 label = lv_label_create(M300, NULL);
becanromain 6:1bb0ac9721d0 1587 lv_label_set_text(label, _("M300"));
becanromain 6:1bb0ac9721d0 1588 lv_obj_set_size(M300,130,40);
becanromain 6:1bb0ac9721d0 1589 lv_obj_align(M300, M200, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
becanromain 6:1bb0ac9721d0 1590 lv_obj_set_drag_parent(M300, true);
becanromain 6:1bb0ac9721d0 1591 lv_obj_set_event_cb(M300, M300_ACT);
becanromain 6:1bb0ac9721d0 1592
becanromain 6:1bb0ac9721d0 1593 //MENU 4
becanromain 6:1bb0ac9721d0 1594 M400 = lv_btn_create(BandeauHaut, NULL);
becanromain 6:1bb0ac9721d0 1595 StyleBPM(M400);
becanromain 6:1bb0ac9721d0 1596 label = lv_label_create(M400, NULL);
becanromain 6:1bb0ac9721d0 1597 lv_label_set_text(label, _("M400"));
becanromain 6:1bb0ac9721d0 1598 lv_obj_set_size(M400,130,40);
becanromain 6:1bb0ac9721d0 1599 lv_obj_align(M400, M300, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
becanromain 6:1bb0ac9721d0 1600 lv_obj_set_drag_parent(M400, true);
becanromain 6:1bb0ac9721d0 1601 lv_obj_set_event_cb(M400, M400_ACT);
becanromain 6:1bb0ac9721d0 1602
becanromain 6:1bb0ac9721d0 1603 //MENU 5
becanromain 6:1bb0ac9721d0 1604 M500 = lv_btn_create(BandeauHaut, NULL);
becanromain 6:1bb0ac9721d0 1605 StyleBPM(M500);
becanromain 6:1bb0ac9721d0 1606 label = lv_label_create(M500, NULL);
becanromain 6:1bb0ac9721d0 1607 lv_label_set_text(label, _("M500"));
becanromain 6:1bb0ac9721d0 1608 lv_obj_set_size(M500,130,40);
becanromain 6:1bb0ac9721d0 1609 lv_obj_align(M500, M400, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
becanromain 6:1bb0ac9721d0 1610 lv_obj_set_drag_parent(M500, true);
becanromain 6:1bb0ac9721d0 1611 lv_obj_set_event_cb(M500, M500_ACT);
becanromain 6:1bb0ac9721d0 1612
becanromain 6:1bb0ac9721d0 1613 //MENU 6
becanromain 6:1bb0ac9721d0 1614 M600 = lv_btn_create(BandeauHaut, NULL);
becanromain 6:1bb0ac9721d0 1615 StyleBPM(M600);
becanromain 6:1bb0ac9721d0 1616 label = lv_label_create(M600, NULL);
becanromain 6:1bb0ac9721d0 1617 lv_label_set_text(label, _("M600"));
becanromain 6:1bb0ac9721d0 1618 lv_obj_set_size(M600,130,40);
becanromain 6:1bb0ac9721d0 1619 lv_obj_align(M600, M500, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
becanromain 6:1bb0ac9721d0 1620 lv_obj_set_drag_parent(M600, true);
becanromain 6:1bb0ac9721d0 1621 lv_obj_set_event_cb(M600, M600_ACT);
becanromain 6:1bb0ac9721d0 1622
becanromain 6:1bb0ac9721d0 1623 //MENU 7
becanromain 6:1bb0ac9721d0 1624 // M700 = lv_btn_create(BandeauHaut, NULL);
becanromain 6:1bb0ac9721d0 1625 // StyleBPM(M700);
becanromain 6:1bb0ac9721d0 1626 // label = lv_label_create(M700, NULL);
becanromain 6:1bb0ac9721d0 1627 // lv_label_set_text(label, _("M700"));
becanromain 6:1bb0ac9721d0 1628 // lv_obj_set_size(M700,130,40);
becanromain 6:1bb0ac9721d0 1629 // lv_obj_align(M700, M600, LV_ALIGN_OUT_RIGHT_MID, 0, 0);
becanromain 6:1bb0ac9721d0 1630 // lv_obj_set_drag_parent(M700, true);
becanromain 6:1bb0ac9721d0 1631 // lv_obj_set_event_cb(M700, M700_ACT);
becanromain 6:1bb0ac9721d0 1632 }
becanromain 0:cf6b1eca3e67 1633 }
becanromain 0:cf6b1eca3e67 1634
becanromain 0:cf6b1eca3e67 1635
becanromain 6:1bb0ac9721d0 1636 static void AFFSousMenu(int Num)
becanromain 6:1bb0ac9721d0 1637 {
becanromain 6:1bb0ac9721d0 1638 //SI SOUS MENU DEJA AFFICHE : SUPPRIMER PAGE AVANT CREATION NOUVELLE
becanromain 6:1bb0ac9721d0 1639 if(SousMenu) {
becanromain 6:1bb0ac9721d0 1640 lv_obj_del(SousMenu);
becanromain 6:1bb0ac9721d0 1641 SousMenu = NULL;
becanromain 6:1bb0ac9721d0 1642 }
becanromain 6:1bb0ac9721d0 1643 //Memorisation sousmenu en cours
becanromain 6:1bb0ac9721d0 1644 NumSousMenu=Num;
becanromain 6:1bb0ac9721d0 1645 /*Create a list*/
becanromain 6:1bb0ac9721d0 1646 SousMenu = lv_list_create(lv_scr_act(), NULL);
becanromain 6:1bb0ac9721d0 1647 lv_obj_set_pos(SousMenu, 0, 40);
becanromain 6:1bb0ac9721d0 1648 StyleBPSM(SousMenu);
becanromain 6:1bb0ac9721d0 1649 AnimSousMenu=48;//TAILLE FENETRE FOIS NB BOUTON
becanromain 6:1bb0ac9721d0 1650
becanromain 6:1bb0ac9721d0 1651 //SOUS MENU 100
becanromain 6:1bb0ac9721d0 1652 if (Num==100){
becanromain 6:1bb0ac9721d0 1653 AnimSousMenu=AnimSousMenu*2;//TAILLE FENETRE
becanromain 6:1bb0ac9721d0 1654 lv_obj_t * SM101 = lv_list_add_btn(SousMenu, NULL, _("M101"));
becanromain 6:1bb0ac9721d0 1655 if (UserEC.Niveau<0){lv_btn_set_state(SM101, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1656 lv_obj_set_event_cb(SM101, SM_ACT);
becanromain 6:1bb0ac9721d0 1657
becanromain 6:1bb0ac9721d0 1658 lv_obj_t * SM102 = lv_list_add_btn(SousMenu, NULL, _("M102"));
becanromain 6:1bb0ac9721d0 1659 if (UserEC.Niveau<0){lv_btn_set_state(SM102, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1660 lv_obj_set_event_cb(SM102, SM_ACT);
becanromain 6:1bb0ac9721d0 1661 }
becanromain 6:1bb0ac9721d0 1662
becanromain 6:1bb0ac9721d0 1663 //SOUS MENU 200
becanromain 6:1bb0ac9721d0 1664 if (Num==200){
becanromain 6:1bb0ac9721d0 1665 AnimSousMenu=AnimSousMenu*3;//TAILLE FENETRE
becanromain 6:1bb0ac9721d0 1666 lv_obj_t * SM201 = lv_list_add_btn(SousMenu, NULL, _("M201"));
becanromain 6:1bb0ac9721d0 1667 if (UserEC.Niveau<1){lv_btn_set_state(SM201, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1668 lv_obj_set_event_cb(SM201, SM_ACT);
becanromain 6:1bb0ac9721d0 1669
becanromain 6:1bb0ac9721d0 1670 lv_obj_t * SM202 = lv_list_add_btn(SousMenu, NULL, _("M202"));
becanromain 6:1bb0ac9721d0 1671 if (UserEC.Niveau<0){lv_btn_set_state(SM202, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1672 lv_obj_set_event_cb(SM202, SM_ACT);
becanromain 6:1bb0ac9721d0 1673
becanromain 6:1bb0ac9721d0 1674 lv_obj_t * SM203 = lv_list_add_btn(SousMenu, NULL, _("M203"));
becanromain 6:1bb0ac9721d0 1675 if (UserEC.Niveau<0){lv_btn_set_state(SM203, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1676 lv_obj_set_event_cb(SM203, SM_ACT);
becanromain 6:1bb0ac9721d0 1677 }
becanromain 6:1bb0ac9721d0 1678
becanromain 6:1bb0ac9721d0 1679 //SOUS MENU 300
becanromain 6:1bb0ac9721d0 1680 if (Num==300){
becanromain 6:1bb0ac9721d0 1681 AnimSousMenu=AnimSousMenu*9;//TAILLE FENETRE
becanromain 6:1bb0ac9721d0 1682 lv_obj_t * SM301 = lv_list_add_btn(SousMenu, NULL, _("M301"));
becanromain 6:1bb0ac9721d0 1683 if (UserEC.Niveau<1){lv_btn_set_state(SM301, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1684 lv_obj_set_event_cb(SM301, SM_ACT);
becanromain 6:1bb0ac9721d0 1685
becanromain 6:1bb0ac9721d0 1686 lv_obj_t * SM302 = lv_list_add_btn(SousMenu, NULL, _("M302"));
becanromain 6:1bb0ac9721d0 1687 if (UserEC.Niveau<0){lv_btn_set_state(SM302, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1688 lv_obj_set_event_cb(SM302, SM_ACT);
becanromain 6:1bb0ac9721d0 1689
becanromain 6:1bb0ac9721d0 1690 lv_obj_t * SM303 = lv_list_add_btn(SousMenu, NULL, _("M303"));
becanromain 6:1bb0ac9721d0 1691 if (UserEC.Niveau<0){lv_btn_set_state(SM303, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1692 lv_obj_set_event_cb(SM303, SM_ACT);
becanromain 6:1bb0ac9721d0 1693
becanromain 6:1bb0ac9721d0 1694 lv_obj_t * SM304 = lv_list_add_btn(SousMenu, NULL, _("M304"));
becanromain 6:1bb0ac9721d0 1695 if (UserEC.Niveau<0){lv_btn_set_state(SM304, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1696 lv_obj_set_event_cb(SM304, SM_ACT);
becanromain 6:1bb0ac9721d0 1697
becanromain 6:1bb0ac9721d0 1698 lv_obj_t * SM305 = lv_list_add_btn(SousMenu, NULL, _("M305"));
becanromain 6:1bb0ac9721d0 1699 if (UserEC.Niveau<0){lv_btn_set_state(SM305, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1700 lv_obj_set_event_cb(SM305, SM_ACT);
becanromain 6:1bb0ac9721d0 1701
becanromain 6:1bb0ac9721d0 1702 lv_obj_t * SM306 = lv_list_add_btn(SousMenu, NULL, _("M306"));
becanromain 6:1bb0ac9721d0 1703 if (UserEC.Niveau<0){lv_btn_set_state(SM306, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1704 lv_obj_set_event_cb(SM306, SM_ACT);
becanromain 6:1bb0ac9721d0 1705
becanromain 6:1bb0ac9721d0 1706 lv_obj_t * SM307 = lv_list_add_btn(SousMenu, NULL, _("M307"));
becanromain 6:1bb0ac9721d0 1707 if (UserEC.Niveau<0){lv_btn_set_state(SM307, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1708 lv_obj_set_event_cb(SM307, SM_ACT);
becanromain 6:1bb0ac9721d0 1709
becanromain 6:1bb0ac9721d0 1710 lv_obj_t * SM308 = lv_list_add_btn(SousMenu, NULL, _("M308"));
becanromain 6:1bb0ac9721d0 1711 if (UserEC.Niveau<0){lv_btn_set_state(SM308, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1712 lv_obj_set_event_cb(SM308, SM_ACT);
becanromain 6:1bb0ac9721d0 1713
becanromain 6:1bb0ac9721d0 1714 lv_obj_t * SM309 = lv_list_add_btn(SousMenu, NULL, _("M309"));
becanromain 6:1bb0ac9721d0 1715 if (UserEC.Niveau<0){lv_btn_set_state(SM309, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1716 lv_obj_set_event_cb(SM309, SM_ACT);
becanromain 6:1bb0ac9721d0 1717 }
becanromain 6:1bb0ac9721d0 1718
becanromain 6:1bb0ac9721d0 1719 //SOUS MENU 400
becanromain 6:1bb0ac9721d0 1720 if (Num==400){
becanromain 6:1bb0ac9721d0 1721 AnimSousMenu=AnimSousMenu*5;//TAILLE FENETRE
becanromain 6:1bb0ac9721d0 1722 lv_obj_t * SM401 = lv_list_add_btn(SousMenu, NULL, _("M401"));
becanromain 6:1bb0ac9721d0 1723 if (UserEC.Niveau<1){lv_btn_set_state(SM401, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1724 lv_obj_set_event_cb(SM401, SM_ACT);
becanromain 6:1bb0ac9721d0 1725
becanromain 6:1bb0ac9721d0 1726 lv_obj_t * SM402 = lv_list_add_btn(SousMenu, NULL, _("M402"));
becanromain 6:1bb0ac9721d0 1727 if (UserEC.Niveau<0){lv_btn_set_state(SM402, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1728 lv_obj_set_event_cb(SM402, SM_ACT);
becanromain 6:1bb0ac9721d0 1729
becanromain 6:1bb0ac9721d0 1730 lv_obj_t * SM403 = lv_list_add_btn(SousMenu, NULL, _("M403"));
becanromain 6:1bb0ac9721d0 1731 if (UserEC.Niveau<0){lv_btn_set_state(SM403, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1732 lv_obj_set_event_cb(SM403, SM_ACT);
becanromain 6:1bb0ac9721d0 1733
becanromain 6:1bb0ac9721d0 1734 lv_obj_t * SM404 = lv_list_add_btn(SousMenu, NULL, _("M404"));
becanromain 6:1bb0ac9721d0 1735 if (UserEC.Niveau<0){lv_btn_set_state(SM404, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1736 lv_obj_set_event_cb(SM404, SM_ACT);
becanromain 6:1bb0ac9721d0 1737
becanromain 6:1bb0ac9721d0 1738 lv_obj_t * SM405 = lv_list_add_btn(SousMenu, NULL, _("M405"));
becanromain 6:1bb0ac9721d0 1739 if (UserEC.Niveau<0){lv_btn_set_state(SM405, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1740 lv_obj_set_event_cb(SM405, SM_ACT);
becanromain 6:1bb0ac9721d0 1741 }
becanromain 6:1bb0ac9721d0 1742
becanromain 6:1bb0ac9721d0 1743 //SOUS MENU 500
becanromain 6:1bb0ac9721d0 1744 if (Num==500){
becanromain 6:1bb0ac9721d0 1745 AnimSousMenu=AnimSousMenu*3;//TAILLE FENETRE
becanromain 6:1bb0ac9721d0 1746 lv_obj_t * SM501 = lv_list_add_btn(SousMenu, NULL, _("M501"));
becanromain 6:1bb0ac9721d0 1747 if (UserEC.Niveau<1){lv_btn_set_state(SM501, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1748 lv_obj_set_event_cb(SM501, SM_ACT);
becanromain 6:1bb0ac9721d0 1749
becanromain 6:1bb0ac9721d0 1750 lv_obj_t * SM502 = lv_list_add_btn(SousMenu, NULL, _("M502"));
becanromain 6:1bb0ac9721d0 1751 if (UserEC.Niveau<0){lv_btn_set_state(SM502, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1752 lv_obj_set_event_cb(SM502, SM_ACT);
becanromain 6:1bb0ac9721d0 1753
becanromain 6:1bb0ac9721d0 1754 lv_obj_t * SM503 = lv_list_add_btn(SousMenu, NULL, _("M503"));
becanromain 6:1bb0ac9721d0 1755 if (UserEC.Niveau<0){lv_btn_set_state(SM503, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1756 lv_obj_set_event_cb(SM503, SM_ACT);
becanromain 6:1bb0ac9721d0 1757 }
becanromain 6:1bb0ac9721d0 1758
becanromain 6:1bb0ac9721d0 1759 //SOUS MENU 600
becanromain 6:1bb0ac9721d0 1760 if (Num==600){
becanromain 6:1bb0ac9721d0 1761 AnimSousMenu=AnimSousMenu*1;//TAILLE FENETRE
becanromain 6:1bb0ac9721d0 1762 lv_obj_t * SM601 = lv_list_add_btn(SousMenu, NULL, _("M601"));
becanromain 6:1bb0ac9721d0 1763 if (UserEC.Niveau<1){lv_btn_set_state(SM601, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1764 lv_obj_set_event_cb(SM601, SM_ACT);
becanromain 6:1bb0ac9721d0 1765 }
becanromain 6:1bb0ac9721d0 1766
becanromain 6:1bb0ac9721d0 1767 //SOUS MENU 700
becanromain 6:1bb0ac9721d0 1768 // if (Num==700){
becanromain 6:1bb0ac9721d0 1769 // AnimSousMenu=AnimSousMenu*1;//TAILLE FENETRE
becanromain 6:1bb0ac9721d0 1770 // lv_obj_t * SM701 = lv_list_add_btn(SousMenu, NULL, _("M701"));
becanromain 6:1bb0ac9721d0 1771 // if (UserEC.Niveau<1){lv_btn_set_state(SM701, LV_BTN_STATE_INA );}
becanromain 6:1bb0ac9721d0 1772 // lv_obj_set_event_cb(SM701, SM_ACT);
becanromain 6:1bb0ac9721d0 1773 // }
becanromain 6:1bb0ac9721d0 1774 if (AnimSousMenu>232){AnimSousMenu=232;}//TAILLE FENETRE MAXI 232=272-40
becanromain 6:1bb0ac9721d0 1775 }
becanromain 0:cf6b1eca3e67 1776
becanromain 0:cf6b1eca3e67 1777
becanromain 0:cf6b1eca3e67 1778 //********************
becanromain 0:cf6b1eca3e67 1779 // POPUP CONNEXION MDP
becanromain 0:cf6b1eca3e67 1780 //********************
becanromain 0:cf6b1eca3e67 1781 static void AFFPopupMDP(){
becanromain 0:cf6b1eca3e67 1782 //FOND GRISE
becanromain 0:cf6b1eca3e67 1783 static lv_style_t modal_style;
becanromain 0:cf6b1eca3e67 1784 lv_style_copy(&modal_style, &lv_style_plain_color);
becanromain 0:cf6b1eca3e67 1785 modal_style.body.main_color = modal_style.body.grad_color = LV_COLOR_BLACK;
becanromain 0:cf6b1eca3e67 1786 modal_style.body.opa = LV_OPA_50;
becanromain 0:cf6b1eca3e67 1787 FondGris = lv_obj_create(lv_scr_act(), NULL);
becanromain 0:cf6b1eca3e67 1788 lv_obj_set_style(FondGris, &modal_style);
becanromain 0:cf6b1eca3e67 1789 lv_obj_set_pos(FondGris, 0, 0);
becanromain 0:cf6b1eca3e67 1790 lv_obj_set_size(FondGris, LV_HOR_RES, LV_VER_RES);
becanromain 0:cf6b1eca3e67 1791 lv_obj_set_opa_scale_enable(FondGris, true);
becanromain 0:cf6b1eca3e67 1792
becanromain 6:1bb0ac9721d0 1793 //CREATION POPUP CONNEXION MDP
becanromain 0:cf6b1eca3e67 1794 PopupMDP = lv_obj_create(FondGris, NULL);
becanromain 0:cf6b1eca3e67 1795 lv_obj_set_size(PopupMDP,400,260);
becanromain 0:cf6b1eca3e67 1796 lv_obj_align(PopupMDP, FondGris, LV_ALIGN_CENTER, 0, 0);
becanromain 0:cf6b1eca3e67 1797 lv_obj_set_opa_scale_enable(PopupMDP, true);
becanromain 0:cf6b1eca3e67 1798 lv_obj_set_opa_scale(PopupMDP, 240);
becanromain 0:cf6b1eca3e67 1799
becanromain 0:cf6b1eca3e67 1800 //TITRE
becanromain 0:cf6b1eca3e67 1801 label = lv_label_create(PopupMDP, NULL);
becanromain 4:6a3d12663549 1802 lv_label_set_text(label, _("IDENTIFICATION"));
becanromain 0:cf6b1eca3e67 1803 lv_obj_align(label, PopupMDP, LV_ALIGN_IN_TOP_MID, 0, 3);
becanromain 0:cf6b1eca3e67 1804 lv_obj_set_opa_scale_enable(label, true);
becanromain 0:cf6b1eca3e67 1805 lv_obj_set_opa_scale(label, LV_OPA_COVER);
becanromain 0:cf6b1eca3e67 1806
becanromain 0:cf6b1eca3e67 1807 //CREATION LISTE UTILISATEUR POUR AFFICHAGE
becanromain 4:6a3d12663549 1808 //G/ABOR: Mabye you have a better solution than:
kisvegabor 1:404ee28a0b60 1809 //ROMAIN: There is no much better way, but I have a few comments
becanromain 0:cf6b1eca3e67 1810 int i;
becanromain 0:cf6b1eca3e67 1811 int j;
becanromain 0:cf6b1eca3e67 1812 int k=0;
becanromain 0:cf6b1eca3e67 1813 char p[2200];
kisvegabor 1:404ee28a0b60 1814
kisvegabor 1:404ee28a0b60 1815 //ROMAIN:
kisvegabor 1:404ee28a0b60 1816 // - p[i]=='\0'; it should be p[i]='\0'; isn't it?
kisvegabor 1:404ee28a0b60 1817 // - If so why not start from i = 0 to initalize?
kisvegabor 1:404ee28a0b60 1818 // - memset(p, '\0', sizeof(p)) can be a clearer option to initialize
kisvegabor 1:404ee28a0b60 1819 for (i = 1; i < 2200; i++) { p[i]=='\0';}
kisvegabor 1:404ee28a0b60 1820
kisvegabor 1:404ee28a0b60 1821 for (i = 1; i < 100; i++) { //ROMAIN: Why start from 1?
becanromain 0:cf6b1eca3e67 1822 string s=User[i].Nom;
becanromain 0:cf6b1eca3e67 1823 if (s.length()>0){
kisvegabor 1:404ee28a0b60 1824 //ROMAIN: I suggest using memcpy instead
kisvegabor 1:404ee28a0b60 1825 // memcpy(&p[k], s, s.length())
kisvegabor 1:404ee28a0b60 1826 // k += s.length();
kisvegabor 1:404ee28a0b60 1827 // p[k] = '\n';
kisvegabor 1:404ee28a0b60 1828 // k++;
becanromain 0:cf6b1eca3e67 1829 for (j = 0; j < s.length(); j++) {
becanromain 0:cf6b1eca3e67 1830 p[k] = s[j];
becanromain 0:cf6b1eca3e67 1831 k++;
becanromain 0:cf6b1eca3e67 1832 }
becanromain 0:cf6b1eca3e67 1833 p[k]='\n';
becanromain 0:cf6b1eca3e67 1834 k++;
becanromain 0:cf6b1eca3e67 1835 }
becanromain 0:cf6b1eca3e67 1836 }
kisvegabor 1:404ee28a0b60 1837 //ROMAIN:
kisvegabor 1:404ee28a0b60 1838 // - you alraedy incremented k, so it should p[k] = '\0', shouldn't it?
kisvegabor 1:404ee28a0b60 1839 // - and you initialized p to '\0' so it's not required
becanromain 0:cf6b1eca3e67 1840 p[k+1]='\0';
becanromain 0:cf6b1eca3e67 1841 char * ListeUser= p ;
becanromain 0:cf6b1eca3e67 1842
becanromain 0:cf6b1eca3e67 1843 //SELECTEUR UTILISATEUR
becanromain 0:cf6b1eca3e67 1844 SelectID = lv_roller_create(PopupMDP, NULL);
becanromain 0:cf6b1eca3e67 1845 lv_roller_set_options(SelectID,ListeUser,LV_ROLLER_MODE_NORMAL);
becanromain 0:cf6b1eca3e67 1846 lv_roller_set_visible_row_count(SelectID, 9);
becanromain 0:cf6b1eca3e67 1847 lv_roller_set_fix_width(SelectID, 170);
becanromain 0:cf6b1eca3e67 1848 lv_obj_align(SelectID, PopupMDP, LV_ALIGN_IN_TOP_LEFT, 10, 20);
becanromain 0:cf6b1eca3e67 1849
becanromain 0:cf6b1eca3e67 1850 //CHAMPS MOT DE PASSE
becanromain 0:cf6b1eca3e67 1851 MDP = lv_ta_create(PopupMDP, NULL);
becanromain 0:cf6b1eca3e67 1852 lv_ta_set_text(MDP, "");
becanromain 0:cf6b1eca3e67 1853 lv_ta_set_pwd_mode(MDP, true);
becanromain 0:cf6b1eca3e67 1854 lv_ta_set_one_line(MDP, true);
becanromain 0:cf6b1eca3e67 1855 lv_obj_set_width(MDP, 170);
becanromain 0:cf6b1eca3e67 1856 lv_obj_align(MDP, PopupMDP, LV_ALIGN_IN_TOP_RIGHT, -10, 20);
becanromain 0:cf6b1eca3e67 1857 lv_obj_set_opa_scale_enable(MDP, true);
becanromain 0:cf6b1eca3e67 1858 lv_obj_set_opa_scale(MDP, LV_OPA_COVER);
becanromain 0:cf6b1eca3e67 1859 lv_ta_set_max_length(MDP, 4);
becanromain 0:cf6b1eca3e67 1860
becanromain 0:cf6b1eca3e67 1861 // PAVE NUMERIQUE SAISIE MOT DE PASSE
becanromain 0:cf6b1eca3e67 1862 static lv_style_t rel_style, pr_style; //STYLE CLAVIER
becanromain 0:cf6b1eca3e67 1863 lv_style_copy(&rel_style, &lv_style_btn_rel);
becanromain 0:cf6b1eca3e67 1864 rel_style.body.radius = 0;
becanromain 0:cf6b1eca3e67 1865 rel_style.body.border.width = 1;
becanromain 0:cf6b1eca3e67 1866 lv_style_copy(&pr_style, &lv_style_btn_pr);
becanromain 0:cf6b1eca3e67 1867 pr_style.body.radius = 0;
becanromain 0:cf6b1eca3e67 1868 pr_style.body.border.width = 1;
becanromain 0:cf6b1eca3e67 1869
becanromain 0:cf6b1eca3e67 1870 lv_obj_t * PaveNumerique = lv_kb_create(PopupMDP, NULL);
becanromain 0:cf6b1eca3e67 1871 lv_obj_set_size(PaveNumerique,170,170);
becanromain 6:1bb0ac9721d0 1872 lv_btnm_set_map(PaveNumerique, PAVE_MDP_MAP);
becanromain 0:cf6b1eca3e67 1873 lv_btnm_set_btn_width(PaveNumerique, 10, 2);
becanromain 0:cf6b1eca3e67 1874 lv_obj_align(PaveNumerique, PopupMDP, LV_ALIGN_IN_TOP_RIGHT, -10, 50);
becanromain 0:cf6b1eca3e67 1875 lv_obj_set_opa_scale_enable(PaveNumerique, true);
becanromain 0:cf6b1eca3e67 1876 lv_obj_set_opa_scale(PaveNumerique, LV_OPA_COVER);
becanromain 0:cf6b1eca3e67 1877 lv_kb_set_cursor_manage(PaveNumerique, true);
becanromain 0:cf6b1eca3e67 1878 lv_kb_set_style(PaveNumerique, LV_KB_STYLE_BG, &lv_style_transp_tight);
becanromain 0:cf6b1eca3e67 1879 lv_kb_set_style(PaveNumerique, LV_KB_STYLE_BTN_REL, &rel_style);
becanromain 0:cf6b1eca3e67 1880 lv_kb_set_style(PaveNumerique, LV_KB_STYLE_BTN_PR, &pr_style);
becanromain 0:cf6b1eca3e67 1881 lv_kb_set_ta(PaveNumerique, MDP); //ASSOCIATION CLAVIER ET CHAMPS MDP
becanromain 0:cf6b1eca3e67 1882
becanromain 0:cf6b1eca3e67 1883 // STYLE DES BOUTONS
becanromain 0:cf6b1eca3e67 1884 lv_style_copy(&Style_BP, &lv_style_btn_rel);
becanromain 6:1bb0ac9721d0 1885 Style_BP.text.font = &RB_lv_font_roboto_12;
becanromain 0:cf6b1eca3e67 1886 Style_BP.body.main_color = LV_COLOR_MAKE(R3, G3, B3);
becanromain 0:cf6b1eca3e67 1887
becanromain 0:cf6b1eca3e67 1888 //BP VALIDER
becanromain 0:cf6b1eca3e67 1889 lv_obj_t * BpValidMDP=lv_btn_create(PopupMDP, NULL);
becanromain 0:cf6b1eca3e67 1890 lv_btn_set_style(BpValidMDP, LV_BTN_STYLE_REL,&Style_BP);
becanromain 0:cf6b1eca3e67 1891 lv_obj_set_size(BpValidMDP,100,30);
becanromain 0:cf6b1eca3e67 1892 lv_obj_align(BpValidMDP, PopupMDP, LV_ALIGN_IN_BOTTOM_MID, -60, -5);
becanromain 0:cf6b1eca3e67 1893 label = lv_label_create(BpValidMDP, NULL);
becanromain 0:cf6b1eca3e67 1894 lv_label_set_text(label, "Valider");
becanromain 0:cf6b1eca3e67 1895 lv_obj_set_drag_parent(BpValidMDP, true);
becanromain 0:cf6b1eca3e67 1896 lv_obj_set_event_cb(BpValidMDP, BpValidMDP_ACT);
becanromain 0:cf6b1eca3e67 1897 lv_obj_set_opa_scale_enable(BpValidMDP, true);
becanromain 0:cf6b1eca3e67 1898 lv_obj_set_opa_scale(BpValidMDP, LV_OPA_COVER);
becanromain 0:cf6b1eca3e67 1899
becanromain 0:cf6b1eca3e67 1900 //BP ANNULER
becanromain 0:cf6b1eca3e67 1901 lv_obj_t * BpAnnulMDP=lv_btn_create(PopupMDP, NULL);
becanromain 0:cf6b1eca3e67 1902 lv_btn_set_style(BpAnnulMDP, LV_BTN_STYLE_REL,&Style_BP);
becanromain 0:cf6b1eca3e67 1903 lv_obj_set_size(BpAnnulMDP,100,30);
becanromain 0:cf6b1eca3e67 1904 lv_obj_align(BpAnnulMDP, PopupMDP, LV_ALIGN_IN_BOTTOM_MID, 60, -5);
becanromain 0:cf6b1eca3e67 1905 label = lv_label_create(BpAnnulMDP, NULL);
becanromain 4:6a3d12663549 1906 lv_label_set_text(label, _("Annuler"));
becanromain 0:cf6b1eca3e67 1907
becanromain 0:cf6b1eca3e67 1908 lv_obj_set_drag_parent(BpAnnulMDP, true);
becanromain 0:cf6b1eca3e67 1909 lv_obj_set_event_cb(BpAnnulMDP, BpAnnulMDP_ACT);
becanromain 0:cf6b1eca3e67 1910 lv_obj_set_opa_scale_enable(BpAnnulMDP, true);
becanromain 0:cf6b1eca3e67 1911 lv_obj_set_opa_scale(BpAnnulMDP, LV_OPA_COVER);
becanromain 0:cf6b1eca3e67 1912
becanromain 0:cf6b1eca3e67 1913 }
becanromain 0:cf6b1eca3e67 1914 static void BpValidMDP_ACT(lv_obj_t * obj, lv_event_t event)
becanromain 0:cf6b1eca3e67 1915 {
becanromain 0:cf6b1eca3e67 1916 if(event == LV_EVENT_CLICKED) {
becanromain 0:cf6b1eca3e67 1917 //RECUPERATION DU NOM DE L'UTILISATEUR SELECTIONNE
becanromain 0:cf6b1eca3e67 1918 char NomSelect[20];
becanromain 0:cf6b1eca3e67 1919 lv_roller_get_selected_str(SelectID, NomSelect, sizeof(NomSelect));
becanromain 0:cf6b1eca3e67 1920
becanromain 0:cf6b1eca3e67 1921 //RECUPERATION MOT DE PASSE SAISIE
becanromain 0:cf6b1eca3e67 1922 string MdpSaisie;
becanromain 0:cf6b1eca3e67 1923 MdpSaisie = lv_ta_get_text(MDP);
becanromain 0:cf6b1eca3e67 1924
becanromain 0:cf6b1eca3e67 1925 //FOND GRISE
becanromain 0:cf6b1eca3e67 1926 static lv_style_t modal_style;
becanromain 0:cf6b1eca3e67 1927 lv_style_copy(&modal_style, &lv_style_plain_color);
becanromain 0:cf6b1eca3e67 1928 modal_style.body.main_color = modal_style.body.grad_color = LV_COLOR_BLACK;
becanromain 0:cf6b1eca3e67 1929 modal_style.body.opa = LV_OPA_50;
becanromain 0:cf6b1eca3e67 1930 FondGris2 = lv_obj_create(lv_scr_act(), NULL);
becanromain 0:cf6b1eca3e67 1931 lv_obj_set_style(FondGris2, &modal_style);
becanromain 0:cf6b1eca3e67 1932 lv_obj_set_pos(FondGris2, 0, 0);
becanromain 0:cf6b1eca3e67 1933 lv_obj_set_size(FondGris2, LV_HOR_RES, LV_VER_RES);
becanromain 0:cf6b1eca3e67 1934 lv_obj_set_opa_scale_enable(FondGris2, true);
becanromain 0:cf6b1eca3e67 1935 //COMPARAISON AVEC LISTE
becanromain 0:cf6b1eca3e67 1936 static const char * btns2[] = {"Ok", ""};
becanromain 0:cf6b1eca3e67 1937 for (int i = 1; i < 100; i++) {
becanromain 0:cf6b1eca3e67 1938 if (User[i].Nom==NomSelect)
becanromain 0:cf6b1eca3e67 1939 if (User[i].MDP==MdpSaisie){
becanromain 0:cf6b1eca3e67 1940 mbox=lv_mbox_create(FondGris2, NULL);
becanromain 0:cf6b1eca3e67 1941 lv_mbox_add_btns(mbox, btns2);
becanromain 0:cf6b1eca3e67 1942 if (User[i].Niveau==1){sprintf(text2, "qu'operateur" );}
becanromain 0:cf6b1eca3e67 1943 if (User[i].Niveau==2){sprintf(text2, "que superviseur");}
becanromain 0:cf6b1eca3e67 1944 if (User[i].Niveau==3){sprintf(text2, "que constructeur");}
becanromain 0:cf6b1eca3e67 1945 sprintf(text, "Connexion autorisee a %s en tant %s pour une duree de %d min",User[i].Nom ,text2,User[i].Tps );
becanromain 0:cf6b1eca3e67 1946 lv_mbox_set_text(mbox, text);
becanromain 0:cf6b1eca3e67 1947 lv_obj_align(mbox, NULL, LV_ALIGN_CENTER, 0, 0);
becanromain 0:cf6b1eca3e67 1948 lv_obj_set_event_cb(mbox, mboxMdp_ACT);
becanromain 0:cf6b1eca3e67 1949 TpsMdpEnCours=User[i].Tps*60;
becanromain 0:cf6b1eca3e67 1950 UserEC=User[i];
becanromain 0:cf6b1eca3e67 1951 //RECLASSEMENT DU TABLEAU DES UTILISATEURS POUR AVOIR LE DERNIER CONNECTé EN PREMIER
becanromain 0:cf6b1eca3e67 1952 User[0]=User[i];
becanromain 0:cf6b1eca3e67 1953 for (int j = i; j >0; j--) { //DECALAGE TABLEAU
becanromain 0:cf6b1eca3e67 1954 User[j]=User[j-1];
becanromain 0:cf6b1eca3e67 1955 }
becanromain 0:cf6b1eca3e67 1956 return;
becanromain 0:cf6b1eca3e67 1957 }
becanromain 0:cf6b1eca3e67 1958 }
becanromain 0:cf6b1eca3e67 1959 mbox=lv_mbox_create(FondGris2, NULL);
becanromain 0:cf6b1eca3e67 1960 lv_mbox_add_btns(mbox, btns2);
becanromain 0:cf6b1eca3e67 1961 lv_mbox_set_text(mbox, "MOT DE PASSE ERRONE");
becanromain 0:cf6b1eca3e67 1962 lv_obj_align(mbox, NULL, LV_ALIGN_CENTER, 0, 0);
becanromain 0:cf6b1eca3e67 1963 lv_obj_set_event_cb(mbox, mboxMdp_ACT2);
becanromain 0:cf6b1eca3e67 1964 }
becanromain 0:cf6b1eca3e67 1965 }
becanromain 0:cf6b1eca3e67 1966 static void BpAnnulMDP_ACT(lv_obj_t * obj, lv_event_t event)
becanromain 0:cf6b1eca3e67 1967 {
becanromain 0:cf6b1eca3e67 1968 if(event == LV_EVENT_CLICKED) {
becanromain 0:cf6b1eca3e67 1969 // lv_obj_del_async(PopupMDP);
becanromain 6:1bb0ac9721d0 1970 lv_obj_del_async(FondGris);
becanromain 6:1bb0ac9721d0 1971 PopupMDP=NULL;
becanromain 0:cf6b1eca3e67 1972 }
becanromain 0:cf6b1eca3e67 1973 }
becanromain 0:cf6b1eca3e67 1974
becanromain 0:cf6b1eca3e67 1975 static void mboxMdp_ACT(lv_obj_t * obj, lv_event_t event)
becanromain 0:cf6b1eca3e67 1976 {
becanromain 6:1bb0ac9721d0 1977 if(event == LV_EVENT_CLICKED) {
becanromain 6:1bb0ac9721d0 1978 lv_obj_del_async(FondGris);
becanromain 6:1bb0ac9721d0 1979 lv_obj_del_async(FondGris2);
becanromain 6:1bb0ac9721d0 1980 PopupMDP=NULL;
becanromain 6:1bb0ac9721d0 1981 if(BandeauHaut){AFFBandeauHaut(NumBandeauHaut);}
becanromain 6:1bb0ac9721d0 1982 if(SousMenu){AFFSousMenu(NumSousMenu);}
becanromain 6:1bb0ac9721d0 1983 }
becanromain 0:cf6b1eca3e67 1984 }
becanromain 0:cf6b1eca3e67 1985 static void mboxMdp_ACT2(lv_obj_t * obj, lv_event_t event)
becanromain 0:cf6b1eca3e67 1986 {
becanromain 0:cf6b1eca3e67 1987 lv_obj_del_async(FondGris2);
becanromain 0:cf6b1eca3e67 1988 lv_ta_set_text(MDP, "");
becanromain 0:cf6b1eca3e67 1989 }
becanromain 0:cf6b1eca3e67 1990
becanromain 0:cf6b1eca3e67 1991
becanromain 6:1bb0ac9721d0 1992 //********************
becanromain 6:1bb0ac9721d0 1993 // SAISIE CHIFFRE
becanromain 6:1bb0ac9721d0 1994 //********************
becanromain 6:1bb0ac9721d0 1995 static void SaisieNum(float *Var){
becanromain 6:1bb0ac9721d0 1996 //FOND GRISE
becanromain 6:1bb0ac9721d0 1997 static lv_style_t modal_style;
becanromain 6:1bb0ac9721d0 1998 lv_style_copy(&modal_style, &lv_style_plain_color);
becanromain 6:1bb0ac9721d0 1999 modal_style.body.main_color = modal_style.body.grad_color = LV_COLOR_BLACK;
becanromain 6:1bb0ac9721d0 2000 modal_style.body.opa = LV_OPA_50;
becanromain 6:1bb0ac9721d0 2001 FondGris = lv_obj_create(lv_scr_act(), NULL);
becanromain 6:1bb0ac9721d0 2002 lv_obj_set_style(FondGris, &modal_style);
becanromain 6:1bb0ac9721d0 2003 lv_obj_set_pos(FondGris, 0, 0);
becanromain 6:1bb0ac9721d0 2004 lv_obj_set_size(FondGris, LV_HOR_RES, LV_VER_RES);
becanromain 6:1bb0ac9721d0 2005 lv_obj_set_opa_scale_enable(FondGris, true);
becanromain 6:1bb0ac9721d0 2006
becanromain 6:1bb0ac9721d0 2007 //CREATION POPUP
becanromain 6:1bb0ac9721d0 2008 lv_obj_t *PopupNum = lv_obj_create(FondGris, NULL);
becanromain 6:1bb0ac9721d0 2009 lv_obj_set_size(PopupNum,400,260);
becanromain 6:1bb0ac9721d0 2010 lv_obj_align(PopupNum, FondGris, LV_ALIGN_CENTER, 0, 0);
becanromain 6:1bb0ac9721d0 2011 lv_obj_set_opa_scale_enable(PopupNum, true);
becanromain 6:1bb0ac9721d0 2012 lv_obj_set_opa_scale(PopupNum, 240);
becanromain 6:1bb0ac9721d0 2013
becanromain 6:1bb0ac9721d0 2014 //TITRE
becanromain 6:1bb0ac9721d0 2015 label = lv_label_create(PopupNum, NULL);
becanromain 6:1bb0ac9721d0 2016 lv_label_set_text(label, _("Saisie"));
becanromain 6:1bb0ac9721d0 2017 lv_obj_align(label, PopupNum, LV_ALIGN_IN_TOP_MID, 0, 3);
becanromain 6:1bb0ac9721d0 2018 lv_obj_set_opa_scale_enable(label, true);
becanromain 6:1bb0ac9721d0 2019 lv_obj_set_opa_scale(label, LV_OPA_COVER);
becanromain 6:1bb0ac9721d0 2020
becanromain 6:1bb0ac9721d0 2021 //CHAMPS SAISI
becanromain 6:1bb0ac9721d0 2022 ChSaisi = lv_ta_create(PopupNum, NULL);
becanromain 6:1bb0ac9721d0 2023 lv_ta_set_text(ChSaisi, "");
becanromain 6:1bb0ac9721d0 2024 lv_ta_set_one_line(ChSaisi, true);
becanromain 6:1bb0ac9721d0 2025 lv_obj_set_width(ChSaisi, 170);
becanromain 6:1bb0ac9721d0 2026 lv_obj_align(ChSaisi, PopupNum, LV_ALIGN_IN_TOP_MID, 0, 20);
becanromain 6:1bb0ac9721d0 2027 lv_obj_set_opa_scale_enable(ChSaisi, true);
becanromain 6:1bb0ac9721d0 2028 lv_obj_set_opa_scale(ChSaisi, LV_OPA_COVER);
becanromain 6:1bb0ac9721d0 2029
becanromain 6:1bb0ac9721d0 2030
becanromain 6:1bb0ac9721d0 2031 // PAVE NUMERIQUE SAISIE
becanromain 6:1bb0ac9721d0 2032 static lv_style_t rel_style, pr_style; //STYLE CLAVIER
becanromain 6:1bb0ac9721d0 2033 lv_style_copy(&rel_style, &lv_style_btn_rel);
becanromain 6:1bb0ac9721d0 2034 rel_style.body.radius = 0;
becanromain 6:1bb0ac9721d0 2035 rel_style.body.border.width = 1;
becanromain 6:1bb0ac9721d0 2036 lv_style_copy(&pr_style, &lv_style_btn_pr);
becanromain 6:1bb0ac9721d0 2037 pr_style.body.radius = 0;
becanromain 6:1bb0ac9721d0 2038 pr_style.body.border.width = 1;
becanromain 6:1bb0ac9721d0 2039
becanromain 6:1bb0ac9721d0 2040 kb = lv_kb_create(PopupNum, NULL);
becanromain 6:1bb0ac9721d0 2041 lv_kb_set_mode(kb, LV_KB_MODE_NUM );
becanromain 6:1bb0ac9721d0 2042 lv_obj_set_event_cb(kb, PaveNumerique_ACT);
becanromain 6:1bb0ac9721d0 2043 lv_kb_set_ta(kb, ChSaisi);
becanromain 6:1bb0ac9721d0 2044 lv_obj_set_size(kb,200,200);
becanromain 6:1bb0ac9721d0 2045 // lv_btnm_set_map(kb, PAVE_NUMERIQUE_MAP);
becanromain 6:1bb0ac9721d0 2046 lv_obj_align(kb, PopupNum, LV_ALIGN_IN_TOP_MID, 0, 50);
becanromain 6:1bb0ac9721d0 2047 lv_obj_set_opa_scale_enable(kb, true);
becanromain 6:1bb0ac9721d0 2048 lv_obj_set_opa_scale(kb, LV_OPA_COVER);
becanromain 6:1bb0ac9721d0 2049 lv_kb_set_cursor_manage(kb, true);
becanromain 6:1bb0ac9721d0 2050 lv_kb_set_style(kb, LV_KB_STYLE_BG, &lv_style_transp_tight);
becanromain 6:1bb0ac9721d0 2051 lv_kb_set_style(kb, LV_KB_STYLE_BTN_REL, &rel_style);
becanromain 6:1bb0ac9721d0 2052 lv_kb_set_style(kb, LV_KB_STYLE_BTN_PR, &pr_style);
becanromain 6:1bb0ac9721d0 2053 lv_ta_set_text(ChSaisi, "");
becanromain 6:1bb0ac9721d0 2054 lv_obj_set_event_cb(ChSaisi, PaveNumerique_ACT);
becanromain 6:1bb0ac9721d0 2055
becanromain 6:1bb0ac9721d0 2056 }
becanromain 6:1bb0ac9721d0 2057
becanromain 6:1bb0ac9721d0 2058
becanromain 6:1bb0ac9721d0 2059
becanromain 6:1bb0ac9721d0 2060 static void PaveNumerique_ACT(lv_obj_t * event_kb, lv_event_t event)
becanromain 6:1bb0ac9721d0 2061 {
becanromain 6:1bb0ac9721d0 2062
becanromain 6:1bb0ac9721d0 2063 lv_kb_def_event_cb(event_kb, event);
becanromain 6:1bb0ac9721d0 2064 if(event == LV_EVENT_APPLY ) {
becanromain 6:1bb0ac9721d0 2065 const char * tmp = lv_ta_get_text(ChSaisi);
becanromain 6:1bb0ac9721d0 2066 *SaisieFloat=strtof(tmp, NULL);
becanromain 6:1bb0ac9721d0 2067 lv_obj_del_async(FondGris);
becanromain 6:1bb0ac9721d0 2068 }
becanromain 6:1bb0ac9721d0 2069 if(event == LV_EVENT_CANCEL ) {
becanromain 6:1bb0ac9721d0 2070 lv_obj_del_async(FondGris);
becanromain 6:1bb0ac9721d0 2071 }
becanromain 6:1bb0ac9721d0 2072 }
becanromain 6:1bb0ac9721d0 2073
becanromain 6:1bb0ac9721d0 2074
becanromain 6:1bb0ac9721d0 2075 //*********************************
becanromain 6:1bb0ac9721d0 2076 // APPUI SUR UN CHAMPS SAISISSABLE
becanromain 6:1bb0ac9721d0 2077 //********************************
becanromain 6:1bb0ac9721d0 2078 static void DdeSaisieNum(lv_obj_t * obj, lv_event_t event)
becanromain 6:1bb0ac9721d0 2079 {
becanromain 6:1bb0ac9721d0 2080 if(event == LV_EVENT_CLICKED) {
becanromain 6:1bb0ac9721d0 2081 // SaisieNum(lv_obj_get_user_data(obj));
becanromain 6:1bb0ac9721d0 2082 SaisieFloat=lv_obj_get_user_data(obj);
becanromain 6:1bb0ac9721d0 2083 SaisieNum(SaisieFloat);
becanromain 6:1bb0ac9721d0 2084 }
becanromain 6:1bb0ac9721d0 2085 }
becanromain 6:1bb0ac9721d0 2086
becanromain 0:cf6b1eca3e67 2087 //**************************
becanromain 0:cf6b1eca3e67 2088 // ACTION BOUTONS MENUS
becanromain 0:cf6b1eca3e67 2089 //**************************
becanromain 0:cf6b1eca3e67 2090
becanromain 0:cf6b1eca3e67 2091 static void Reglage_R_RGB(lv_obj_t * obj, lv_event_t event)
becanromain 0:cf6b1eca3e67 2092 {
becanromain 0:cf6b1eca3e67 2093 if(event == LV_EVENT_PRESSING) {
becanromain 0:cf6b1eca3e67 2094 Reglage_R= lv_slider_get_value(obj);
becanromain 0:cf6b1eca3e67 2095 sprintf(text, " %d ",Reglage_R );
becanromain 0:cf6b1eca3e67 2096 lv_label_set_text(Val_R, text);
becanromain 0:cf6b1eca3e67 2097 }
becanromain 0:cf6b1eca3e67 2098 }
becanromain 0:cf6b1eca3e67 2099
becanromain 0:cf6b1eca3e67 2100 static void BPRAZ_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 0:cf6b1eca3e67 2101 {
becanromain 0:cf6b1eca3e67 2102 if(event == LV_EVENT_CLICKED) {
becanromain 0:cf6b1eca3e67 2103 TpsMinEntre2Puls=999999;
becanromain 6:1bb0ac9721d0 2104 TpsMaPpe=0;
becanromain 0:cf6b1eca3e67 2105 TpsMaxEntre2Puls=0;
becanromain 0:cf6b1eca3e67 2106 CptPuls=0;
becanromain 6:1bb0ac9721d0 2107 Volume.Val=0;
becanromain 6:1bb0ac9721d0 2108 Duree=50*60;
becanromain 0:cf6b1eca3e67 2109 for (NumDent=20;NumDent>0;NumDent--){
becanromain 0:cf6b1eca3e67 2110 TpsEntre2Puls[NumDent]=0;
becanromain 0:cf6b1eca3e67 2111 MemTpsPuls=0;
becanromain 0:cf6b1eca3e67 2112 MemTps16Puls=0;
becanromain 0:cf6b1eca3e67 2113 }
becanromain 0:cf6b1eca3e67 2114 }
becanromain 0:cf6b1eca3e67 2115 }
becanromain 4:6a3d12663549 2116 static void BPPOMPE_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 4:6a3d12663549 2117 {
becanromain 4:6a3d12663549 2118 if(event == LV_EVENT_CLICKED) {
becanromain 4:6a3d12663549 2119 DO_POMPE=!DO_POMPE;
becanromain 4:6a3d12663549 2120 }
becanromain 4:6a3d12663549 2121 }
becanromain 4:6a3d12663549 2122 static void LANGUE_FR_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 4:6a3d12663549 2123 {
becanromain 4:6a3d12663549 2124 if(event == LV_EVENT_CLICKED) {
becanromain 4:6a3d12663549 2125 lv_i18n_set_locale("fr");
becanromain 6:1bb0ac9721d0 2126 AFFBandeauHaut(1);
becanromain 4:6a3d12663549 2127 AFFPage(PageAff);
becanromain 4:6a3d12663549 2128 }
becanromain 4:6a3d12663549 2129 }
becanromain 4:6a3d12663549 2130 static void LANGUE_EN_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 4:6a3d12663549 2131 {
becanromain 4:6a3d12663549 2132 if(event == LV_EVENT_CLICKED) {
becanromain 4:6a3d12663549 2133 lv_i18n_set_locale("en-GB");
becanromain 6:1bb0ac9721d0 2134 AFFBandeauHaut(1);
becanromain 4:6a3d12663549 2135 AFFPage(PageAff);
becanromain 4:6a3d12663549 2136 }
becanromain 4:6a3d12663549 2137 }
becanromain 6:1bb0ac9721d0 2138
becanromain 6:1bb0ac9721d0 2139 static void BPMENU_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 6:1bb0ac9721d0 2140 {
becanromain 6:1bb0ac9721d0 2141 if(event == LV_EVENT_CLICKED) {
becanromain 6:1bb0ac9721d0 2142 AFFBandeauHaut(2);
becanromain 6:1bb0ac9721d0 2143 }
becanromain 6:1bb0ac9721d0 2144 }
becanromain 6:1bb0ac9721d0 2145
becanromain 0:cf6b1eca3e67 2146 static void M100_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 0:cf6b1eca3e67 2147 {
becanromain 0:cf6b1eca3e67 2148 if(event == LV_EVENT_CLICKED) {
becanromain 0:cf6b1eca3e67 2149 PosX_MenuDepart = lv_obj_get_x(BandeauHaut);
becanromain 0:cf6b1eca3e67 2150 PosX_MenuCible = -lv_obj_get_x(M100);
becanromain 0:cf6b1eca3e67 2151 DdeAlignMenu=1;
becanromain 0:cf6b1eca3e67 2152 NumSousMenu=100;
becanromain 0:cf6b1eca3e67 2153 }
becanromain 0:cf6b1eca3e67 2154 }
becanromain 0:cf6b1eca3e67 2155 static void M200_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 0:cf6b1eca3e67 2156 {
becanromain 0:cf6b1eca3e67 2157 if(event == LV_EVENT_CLICKED) {
becanromain 0:cf6b1eca3e67 2158 PosX_MenuDepart = lv_obj_get_x(BandeauHaut);
becanromain 0:cf6b1eca3e67 2159 PosX_MenuCible = -lv_obj_get_x(M200);
becanromain 0:cf6b1eca3e67 2160 DdeAlignMenu=1;
becanromain 0:cf6b1eca3e67 2161 NumSousMenu=200;
becanromain 0:cf6b1eca3e67 2162 }
becanromain 0:cf6b1eca3e67 2163 }
becanromain 0:cf6b1eca3e67 2164 static void M300_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 0:cf6b1eca3e67 2165 {
becanromain 0:cf6b1eca3e67 2166 if(event == LV_EVENT_CLICKED) {
becanromain 0:cf6b1eca3e67 2167 PosX_MenuDepart = lv_obj_get_x(BandeauHaut);
becanromain 0:cf6b1eca3e67 2168 PosX_MenuCible = -lv_obj_get_x(M300);
becanromain 0:cf6b1eca3e67 2169 DdeAlignMenu=1;
becanromain 0:cf6b1eca3e67 2170 NumSousMenu=300;
becanromain 0:cf6b1eca3e67 2171 }
becanromain 0:cf6b1eca3e67 2172 }
becanromain 0:cf6b1eca3e67 2173 static void M400_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 0:cf6b1eca3e67 2174 {
becanromain 0:cf6b1eca3e67 2175 if(event == LV_EVENT_CLICKED) {
becanromain 0:cf6b1eca3e67 2176 PosX_MenuDepart = lv_obj_get_x(BandeauHaut);
becanromain 0:cf6b1eca3e67 2177 PosX_MenuCible = -lv_obj_get_x(M400);
becanromain 0:cf6b1eca3e67 2178 DdeAlignMenu=1;
becanromain 0:cf6b1eca3e67 2179 NumSousMenu=400;
becanromain 0:cf6b1eca3e67 2180 }
becanromain 0:cf6b1eca3e67 2181 }
becanromain 0:cf6b1eca3e67 2182 static void M500_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 0:cf6b1eca3e67 2183 {
becanromain 0:cf6b1eca3e67 2184 if(event == LV_EVENT_CLICKED) {
becanromain 0:cf6b1eca3e67 2185 PosX_MenuDepart = lv_obj_get_x(BandeauHaut);
becanromain 0:cf6b1eca3e67 2186 PosX_MenuCible = -lv_obj_get_x(M500);
becanromain 0:cf6b1eca3e67 2187 DdeAlignMenu=1;
becanromain 0:cf6b1eca3e67 2188 NumSousMenu=500;
becanromain 0:cf6b1eca3e67 2189 }
becanromain 0:cf6b1eca3e67 2190 }
becanromain 0:cf6b1eca3e67 2191 static void M600_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 0:cf6b1eca3e67 2192 {
becanromain 0:cf6b1eca3e67 2193 if(event == LV_EVENT_CLICKED) {
becanromain 0:cf6b1eca3e67 2194 PosX_MenuDepart = lv_obj_get_x(BandeauHaut);
becanromain 0:cf6b1eca3e67 2195 PosX_MenuCible = -lv_obj_get_x(M600);
becanromain 0:cf6b1eca3e67 2196 DdeAlignMenu=1;
becanromain 0:cf6b1eca3e67 2197 NumSousMenu=600;
becanromain 0:cf6b1eca3e67 2198 }
becanromain 0:cf6b1eca3e67 2199 }
becanromain 6:1bb0ac9721d0 2200 static void M700_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 6:1bb0ac9721d0 2201 {
becanromain 6:1bb0ac9721d0 2202 if(event == LV_EVENT_CLICKED) {
becanromain 6:1bb0ac9721d0 2203 PosX_MenuDepart = lv_obj_get_x(BandeauHaut);
becanromain 6:1bb0ac9721d0 2204 PosX_MenuCible = -lv_obj_get_x(M700);
becanromain 6:1bb0ac9721d0 2205 DdeAlignMenu=1;
becanromain 6:1bb0ac9721d0 2206 NumSousMenu=700;
becanromain 6:1bb0ac9721d0 2207 }
becanromain 6:1bb0ac9721d0 2208 }
becanromain 0:cf6b1eca3e67 2209 //**************************
becanromain 0:cf6b1eca3e67 2210 // ACTION BOUTONS SOUS MENUS
becanromain 0:cf6b1eca3e67 2211 //**************************
becanromain 6:1bb0ac9721d0 2212 static void SM_ACT(lv_obj_t * btn, lv_event_t event)
becanromain 0:cf6b1eca3e67 2213 {
becanromain 0:cf6b1eca3e67 2214 if(event == LV_EVENT_CLICKED) {
becanromain 0:cf6b1eca3e67 2215 //VERIFICATION AUTORISATION ACCES
becanromain 0:cf6b1eca3e67 2216 uint8_t EtatBp = lv_btn_get_state(btn);
becanromain 6:1bb0ac9721d0 2217 if (EtatBp==LV_BTN_STATE_INA){
becanromain 0:cf6b1eca3e67 2218 AFFPopupMDP();
becanromain 0:cf6b1eca3e67 2219 }
becanromain 0:cf6b1eca3e67 2220 else{
becanromain 6:1bb0ac9721d0 2221 DdeFermBandeauHaut=true;
becanromain 0:cf6b1eca3e67 2222 TpsAvFermSousMenu=0;
becanromain 6:1bb0ac9721d0 2223 // AFFPage(101);
becanromain 6:1bb0ac9721d0 2224 lv_obj_t * label = lv_obj_get_child(btn, NULL);
becanromain 6:1bb0ac9721d0 2225 const char * txt = lv_label_get_text(label);
becanromain 6:1bb0ac9721d0 2226 if(strcmp(txt, _("M101")) == 0) {AFFPage(101);}
becanromain 6:1bb0ac9721d0 2227 if(strcmp(txt, _("M102")) == 0) {AFFPage(102);}
becanromain 6:1bb0ac9721d0 2228 if(strcmp(txt, _("M103")) == 0) {AFFPage(103);}
becanromain 6:1bb0ac9721d0 2229 if(strcmp(txt, _("M104")) == 0) {AFFPage(104);}
becanromain 6:1bb0ac9721d0 2230 if(strcmp(txt, _("M105")) == 0) {AFFPage(105);}
becanromain 6:1bb0ac9721d0 2231 if(strcmp(txt, _("M106")) == 0) {AFFPage(106);}
becanromain 6:1bb0ac9721d0 2232 if(strcmp(txt, _("M107")) == 0) {AFFPage(107);}
becanromain 6:1bb0ac9721d0 2233
becanromain 6:1bb0ac9721d0 2234 if(strcmp(txt, _("M201")) == 0) {AFFPage(201);}
becanromain 6:1bb0ac9721d0 2235 if(strcmp(txt, _("M202")) == 0) {AFFPage(202);}
becanromain 6:1bb0ac9721d0 2236 if(strcmp(txt, _("M203")) == 0) {AFFPage(203);}
becanromain 6:1bb0ac9721d0 2237 if(strcmp(txt, _("M204")) == 0) {AFFPage(204);}
becanromain 6:1bb0ac9721d0 2238 if(strcmp(txt, _("M205")) == 0) {AFFPage(205);}
becanromain 6:1bb0ac9721d0 2239 if(strcmp(txt, _("M206")) == 0) {AFFPage(206);}
becanromain 6:1bb0ac9721d0 2240 if(strcmp(txt, _("M207")) == 0) {AFFPage(207);}
becanromain 6:1bb0ac9721d0 2241
becanromain 6:1bb0ac9721d0 2242 if(strcmp(txt, _("M301")) == 0) {AFFPage(301);}
becanromain 6:1bb0ac9721d0 2243 if(strcmp(txt, _("M302")) == 0) {AFFPage(302);}
becanromain 6:1bb0ac9721d0 2244 if(strcmp(txt, _("M303")) == 0) {AFFPage(303);}
becanromain 6:1bb0ac9721d0 2245 if(strcmp(txt, _("M304")) == 0) {AFFPage(304);}
becanromain 6:1bb0ac9721d0 2246 if(strcmp(txt, _("M305")) == 0) {AFFPage(305);}
becanromain 6:1bb0ac9721d0 2247 if(strcmp(txt, _("M306")) == 0) {AFFPage(306);}
becanromain 6:1bb0ac9721d0 2248 if(strcmp(txt, _("M307")) == 0) {AFFPage(307);}
becanromain 6:1bb0ac9721d0 2249
becanromain 6:1bb0ac9721d0 2250 if(strcmp(txt, _("M401")) == 0) {AFFPage(401);}
becanromain 6:1bb0ac9721d0 2251 if(strcmp(txt, _("M402")) == 0) {AFFPage(402);}
becanromain 6:1bb0ac9721d0 2252 if(strcmp(txt, _("M403")) == 0) {AFFPage(403);}
becanromain 6:1bb0ac9721d0 2253 if(strcmp(txt, _("M404")) == 0) {AFFPage(404);}
becanromain 6:1bb0ac9721d0 2254 if(strcmp(txt, _("M405")) == 0) {AFFPage(405);}
becanromain 6:1bb0ac9721d0 2255 if(strcmp(txt, _("M406")) == 0) {AFFPage(406);}
becanromain 6:1bb0ac9721d0 2256 if(strcmp(txt, _("M407")) == 0) {AFFPage(407);}
becanromain 6:1bb0ac9721d0 2257
becanromain 6:1bb0ac9721d0 2258 if(strcmp(txt, _("M501")) == 0) {AFFPage(501);}
becanromain 6:1bb0ac9721d0 2259 if(strcmp(txt, _("M502")) == 0) {AFFPage(502);}
becanromain 6:1bb0ac9721d0 2260 if(strcmp(txt, _("M503")) == 0) {AFFPage(503);}
becanromain 6:1bb0ac9721d0 2261 if(strcmp(txt, _("M504")) == 0) {AFFPage(504);}
becanromain 6:1bb0ac9721d0 2262 if(strcmp(txt, _("M505")) == 0) {AFFPage(505);}
becanromain 6:1bb0ac9721d0 2263 if(strcmp(txt, _("M506")) == 0) {AFFPage(506);}
becanromain 6:1bb0ac9721d0 2264 if(strcmp(txt, _("M507")) == 0) {AFFPage(507);}
becanromain 6:1bb0ac9721d0 2265
becanromain 6:1bb0ac9721d0 2266 if(strcmp(txt, _("M601")) == 0) {AFFPage(601);}
becanromain 6:1bb0ac9721d0 2267 if(strcmp(txt, _("M602")) == 0) {AFFPage(602);}
becanromain 6:1bb0ac9721d0 2268 if(strcmp(txt, _("M603")) == 0) {AFFPage(603);}
becanromain 6:1bb0ac9721d0 2269 if(strcmp(txt, _("M604")) == 0) {AFFPage(604);}
becanromain 6:1bb0ac9721d0 2270 if(strcmp(txt, _("M605")) == 0) {AFFPage(605);}
becanromain 6:1bb0ac9721d0 2271 if(strcmp(txt, _("M606")) == 0) {AFFPage(606);}
becanromain 6:1bb0ac9721d0 2272 if(strcmp(txt, _("M607")) == 0) {AFFPage(607);}
becanromain 6:1bb0ac9721d0 2273
becanromain 6:1bb0ac9721d0 2274 if(strcmp(txt, _("M701")) == 0) {AFFPage(701);}
becanromain 6:1bb0ac9721d0 2275 if(strcmp(txt, _("M702")) == 0) {AFFPage(702);}
becanromain 6:1bb0ac9721d0 2276 if(strcmp(txt, _("M703")) == 0) {AFFPage(703);}
becanromain 6:1bb0ac9721d0 2277 if(strcmp(txt, _("M704")) == 0) {AFFPage(704);}
becanromain 6:1bb0ac9721d0 2278 if(strcmp(txt, _("M705")) == 0) {AFFPage(705);}
becanromain 6:1bb0ac9721d0 2279 if(strcmp(txt, _("M706")) == 0) {AFFPage(706);}
becanromain 6:1bb0ac9721d0 2280 if(strcmp(txt, _("M707")) == 0) {AFFPage(707);}
becanromain 6:1bb0ac9721d0 2281
becanromain 0:cf6b1eca3e67 2282 }
becanromain 0:cf6b1eca3e67 2283 }
becanromain 0:cf6b1eca3e67 2284 }
becanromain 0:cf6b1eca3e67 2285
becanromain 0:cf6b1eca3e67 2286
becanromain 0:cf6b1eca3e67 2287 //********************
becanromain 0:cf6b1eca3e67 2288 // FONCTIONS GENERALES
becanromain 0:cf6b1eca3e67 2289 //********************
becanromain 0:cf6b1eca3e67 2290 void lv_ticker_func()
becanromain 0:cf6b1eca3e67 2291 {
becanromain 0:cf6b1eca3e67 2292 lv_tick_inc(5); //Call lv_tick_inc(x) every x milliseconds in a Timer or Task (x should be between 1 and 10). It is required for the internal timing of LittlevGL.
becanromain 0:cf6b1eca3e67 2293 }
becanromain 0:cf6b1eca3e67 2294
becanromain 0:cf6b1eca3e67 2295 //FONCTION D'AFFICHAGE
becanromain 0:cf6b1eca3e67 2296 void my_disp_flush(lv_disp_drv_t* disp_drv, const lv_area_t* area, lv_color_t* color_p)
becanromain 0:cf6b1eca3e67 2297 {
becanromain 0:cf6b1eca3e67 2298 //The most simple case (but also the slowest) to put all pixels to the screen one-by-one
becanromain 0:cf6b1eca3e67 2299 uint16_t x, y;
becanromain 0:cf6b1eca3e67 2300 for(y = area->y1; y <= area->y2; y++) {
becanromain 0:cf6b1eca3e67 2301 for(x = area->x1; x <= area->x2; x++) {
becanromain 0:cf6b1eca3e67 2302
becanromain 0:cf6b1eca3e67 2303 lcd.DrawPixel( x, y, color_p->full);
becanromain 0:cf6b1eca3e67 2304 color_p++;
becanromain 0:cf6b1eca3e67 2305 }
becanromain 0:cf6b1eca3e67 2306 }
becanromain 0:cf6b1eca3e67 2307
becanromain 0:cf6b1eca3e67 2308 // IMPORTANT!!!
becanromain 0:cf6b1eca3e67 2309 // Inform the graphics library that you are ready with the flushing
becanromain 0:cf6b1eca3e67 2310 lv_disp_flush_ready(disp_drv);
becanromain 0:cf6b1eca3e67 2311 }
becanromain 0:cf6b1eca3e67 2312
becanromain 0:cf6b1eca3e67 2313 //FONCTION RECUPERATION COORDONNEES APPUI
becanromain 0:cf6b1eca3e67 2314 bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data)
becanromain 0:cf6b1eca3e67 2315 {
becanromain 0:cf6b1eca3e67 2316 static lv_coord_t last_x = 0;
becanromain 0:cf6b1eca3e67 2317 static lv_coord_t last_y = 0;
becanromain 0:cf6b1eca3e67 2318
becanromain 0:cf6b1eca3e67 2319 //Save the state and save the pressed coordinate
becanromain 0:cf6b1eca3e67 2320 ts.GetState(&TS_State);
becanromain 0:cf6b1eca3e67 2321
becanromain 0:cf6b1eca3e67 2322 if(TS_State.touchDetected == 1) {
becanromain 0:cf6b1eca3e67 2323 data->state = LV_INDEV_STATE_PR;
becanromain 0:cf6b1eca3e67 2324 } else {
becanromain 0:cf6b1eca3e67 2325 data->state = LV_INDEV_STATE_REL;
becanromain 0:cf6b1eca3e67 2326 }
becanromain 0:cf6b1eca3e67 2327
becanromain 0:cf6b1eca3e67 2328 //data->state = tttt ? LV_INDEV_STATE_PR : LV_INDEV_STATE_REL;
becanromain 0:cf6b1eca3e67 2329 // if(data->state == LV_INDEV_STATE_PR){
becanromain 0:cf6b1eca3e67 2330 if(data->state == LV_INDEV_STATE_PR) {
becanromain 0:cf6b1eca3e67 2331 //touchpad_get_xy(&last_x, &last_y);
becanromain 0:cf6b1eca3e67 2332 last_x = TS_State.touchX[0];
becanromain 0:cf6b1eca3e67 2333 last_y = TS_State.touchY[0];
becanromain 0:cf6b1eca3e67 2334 }
becanromain 0:cf6b1eca3e67 2335
becanromain 0:cf6b1eca3e67 2336 //Set the coordinates (if released use the last pressed coordinates)
becanromain 0:cf6b1eca3e67 2337 data->point.x = last_x;
becanromain 0:cf6b1eca3e67 2338 data->point.y = last_y;
becanromain 0:cf6b1eca3e67 2339
becanromain 0:cf6b1eca3e67 2340 X = TS_State.touchDetected ;
becanromain 0:cf6b1eca3e67 2341
becanromain 0:cf6b1eca3e67 2342
becanromain 0:cf6b1eca3e67 2343
becanromain 0:cf6b1eca3e67 2344 return false; //Return `false` because we are not buffering and no more data to read
becanromain 0:cf6b1eca3e67 2345 }
becanromain 0:cf6b1eca3e67 2346
becanromain 6:1bb0ac9721d0 2347 //FONCTION CONVERSION STRING EN CHAINE DE CARACTERE
becanromain 6:1bb0ac9721d0 2348 static char *S(string S){
becanromain 6:1bb0ac9721d0 2349 char Ch[100];
becanromain 6:1bb0ac9721d0 2350 for (int i = 0; i < S.length(); i++) { Ch[i] = S[i];}
becanromain 6:1bb0ac9721d0 2351 return Ch;
becanromain 6:1bb0ac9721d0 2352 }
becanromain 6:1bb0ac9721d0 2353 // FONCTION CONVERSION DUREE EN SECONDE EN CHAINE DE CARACTERES hh:mm:ss
becanromain 6:1bb0ac9721d0 2354 static char *HHMMSS(int32_t Seconde){
becanromain 6:1bb0ac9721d0 2355 char Ch[8];
becanromain 6:1bb0ac9721d0 2356 char HH[2];
becanromain 6:1bb0ac9721d0 2357 char MM[2];
becanromain 6:1bb0ac9721d0 2358 char SS[2];
becanromain 6:1bb0ac9721d0 2359 int32_t h = (Seconde / 3600);
becanromain 6:1bb0ac9721d0 2360 int32_t m = ((Seconde - (h * 3600)) / 60);
becanromain 6:1bb0ac9721d0 2361 int32_t s = (Duree - ((h * 3600) + (m * 60)));
becanromain 6:1bb0ac9721d0 2362 sprintf(HH, "%d",h );
becanromain 6:1bb0ac9721d0 2363 if (h<10){sprintf(HH, "0%d",h );}
becanromain 6:1bb0ac9721d0 2364 sprintf(MM, "%d",m );
becanromain 6:1bb0ac9721d0 2365 if (m<10){sprintf(MM, "0%d",m );}
becanromain 6:1bb0ac9721d0 2366 sprintf(SS, "%d",s );
becanromain 6:1bb0ac9721d0 2367 if (s<10){sprintf(SS, "0%d",s );}
becanromain 6:1bb0ac9721d0 2368 sprintf(Ch, "%s:%s:%s",HH,MM,SS );
becanromain 6:1bb0ac9721d0 2369 return Ch;
becanromain 6:1bb0ac9721d0 2370
becanromain 6:1bb0ac9721d0 2371 }
becanromain 6:1bb0ac9721d0 2372
becanromain 6:1bb0ac9721d0 2373 /*****************************
becanromain 6:1bb0ac9721d0 2374 **********STYLES**************
becanromain 6:1bb0ac9721d0 2375 *****************************/
becanromain 6:1bb0ac9721d0 2376 static void StyleBPM(lv_obj_t * Obj){
becanromain 6:1bb0ac9721d0 2377 static lv_style_t btn_rel, btn_pr, btn_tgl_rel, btn_tgl_pr, btn_ina;
becanromain 6:1bb0ac9721d0 2378
becanromain 6:1bb0ac9721d0 2379 lv_style_copy(&btn_rel, &lv_style_btn_rel);
becanromain 6:1bb0ac9721d0 2380 btn_rel.text.font = &RB_lv_font_roboto_bold_18;
becanromain 6:1bb0ac9721d0 2381 btn_rel.body.padding.top = 10;
becanromain 6:1bb0ac9721d0 2382 btn_rel.body.padding.bottom = 10;
becanromain 6:1bb0ac9721d0 2383 btn_rel.body.main_color = LV_COLOR_MAKE(R3, G3, B3);
becanromain 6:1bb0ac9721d0 2384 btn_rel.body.grad_color = LV_COLOR_MAKE(R4, G4, B4);
becanromain 6:1bb0ac9721d0 2385 btn_rel.body.border.color = LV_COLOR_MAKE(R5, G5, B5);
becanromain 6:1bb0ac9721d0 2386 btn_rel.text.color = LV_COLOR_MAKE(R6, G6, B6);
becanromain 6:1bb0ac9721d0 2387
becanromain 6:1bb0ac9721d0 2388 lv_style_copy(&btn_pr, &lv_style_btn_pr);
becanromain 6:1bb0ac9721d0 2389 btn_pr.text.font = &RB_lv_font_roboto_bold_16;
becanromain 6:1bb0ac9721d0 2390 btn_pr.body.padding.top = 10;
becanromain 6:1bb0ac9721d0 2391 btn_pr.body.padding.bottom = 10;
becanromain 6:1bb0ac9721d0 2392 btn_pr.body.main_color = LV_COLOR_MAKE(R7, G7, B7);
becanromain 6:1bb0ac9721d0 2393 btn_pr.body.grad_color = LV_COLOR_MAKE(R8, G8, B8);
becanromain 6:1bb0ac9721d0 2394 btn_pr.body.border.color = LV_COLOR_MAKE(R9, G9, B9);
becanromain 6:1bb0ac9721d0 2395 btn_pr.text.color = LV_COLOR_MAKE(R10, G10, B10);
becanromain 6:1bb0ac9721d0 2396
becanromain 6:1bb0ac9721d0 2397 lv_style_copy(&btn_tgl_rel, &btn_rel);
becanromain 6:1bb0ac9721d0 2398 btn_tgl_rel.text.font = &RB_lv_font_roboto_bold_16;
becanromain 6:1bb0ac9721d0 2399 btn_tgl_rel.body.padding.top = 10;
becanromain 6:1bb0ac9721d0 2400 btn_tgl_rel.body.padding.bottom = 10;
becanromain 6:1bb0ac9721d0 2401
becanromain 6:1bb0ac9721d0 2402 lv_style_copy(&btn_tgl_pr, &btn_pr);
becanromain 6:1bb0ac9721d0 2403 btn_tgl_pr.text.font = &RB_lv_font_roboto_bold_16;
becanromain 6:1bb0ac9721d0 2404 btn_tgl_pr.body.padding.top = 10;
becanromain 6:1bb0ac9721d0 2405 btn_tgl_pr.body.padding.bottom = 10;
becanromain 6:1bb0ac9721d0 2406
becanromain 6:1bb0ac9721d0 2407 lv_style_copy(&btn_ina, &lv_style_btn_ina);
becanromain 6:1bb0ac9721d0 2408 btn_ina.text.font = &RB_lv_font_roboto_bold_16;
becanromain 6:1bb0ac9721d0 2409 btn_ina.body.padding.top = 10;
becanromain 6:1bb0ac9721d0 2410 btn_ina.body.padding.bottom = 10;
becanromain 6:1bb0ac9721d0 2411 btn_ina.body.main_color = LV_COLOR_MAKE(R11, G11, B11);
becanromain 6:1bb0ac9721d0 2412 btn_ina.body.grad_color = LV_COLOR_MAKE(R12, G12, B12);
becanromain 6:1bb0ac9721d0 2413 btn_ina.body.border.color = LV_COLOR_MAKE(R13, G13, B13);
becanromain 6:1bb0ac9721d0 2414 btn_ina.text.color = LV_COLOR_MAKE(R14, G14, B14);
becanromain 6:1bb0ac9721d0 2415
becanromain 6:1bb0ac9721d0 2416 lv_btn_set_style(Obj, LV_BTN_STATE_REL, &btn_rel);
becanromain 6:1bb0ac9721d0 2417 lv_btn_set_style(Obj, LV_BTN_STATE_PR, &btn_pr);
becanromain 6:1bb0ac9721d0 2418 lv_btn_set_style(Obj, LV_BTN_STATE_TGL_REL, &btn_pr);
becanromain 6:1bb0ac9721d0 2419 lv_btn_set_style(Obj, LV_BTN_STATE_TGL_PR, &btn_tgl_pr);
becanromain 6:1bb0ac9721d0 2420 lv_btn_set_style(Obj, LV_BTN_STATE_INA, &btn_ina);
becanromain 6:1bb0ac9721d0 2421 }
becanromain 6:1bb0ac9721d0 2422
becanromain 6:1bb0ac9721d0 2423 static void StyleBPSM(lv_obj_t * Obj){
becanromain 6:1bb0ac9721d0 2424
becanromain 6:1bb0ac9721d0 2425 static lv_style_t btn_rel, btn_pr, btn_tgl_rel, btn_tgl_pr, btn_ina;
becanromain 6:1bb0ac9721d0 2426
becanromain 6:1bb0ac9721d0 2427 lv_style_copy(&btn_rel, &lv_style_btn_rel);
becanromain 6:1bb0ac9721d0 2428 btn_rel.text.font = &RB_lv_font_roboto_16;
becanromain 6:1bb0ac9721d0 2429 btn_rel.body.padding.top = 10;
becanromain 6:1bb0ac9721d0 2430 btn_rel.body.padding.bottom = 10;
becanromain 6:1bb0ac9721d0 2431 btn_rel.body.padding.left = 5;
becanromain 6:1bb0ac9721d0 2432 btn_rel.body.padding.right = 50;
becanromain 6:1bb0ac9721d0 2433 btn_rel.body.main_color = LV_COLOR_MAKE(R3, G3, B3);
becanromain 6:1bb0ac9721d0 2434 btn_rel.body.grad_color = LV_COLOR_MAKE(R4, G4, B4);
becanromain 6:1bb0ac9721d0 2435 btn_rel.body.border.color = LV_COLOR_MAKE(R5, G5, B5);
becanromain 6:1bb0ac9721d0 2436 btn_rel.text.color = LV_COLOR_MAKE(R6, G6, B6);
becanromain 6:1bb0ac9721d0 2437
becanromain 6:1bb0ac9721d0 2438 lv_style_copy(&btn_pr, &lv_style_btn_pr);
becanromain 6:1bb0ac9721d0 2439 btn_pr.text.font = &RB_lv_font_roboto_16;
becanromain 6:1bb0ac9721d0 2440 btn_pr.body.padding.top = 10;
becanromain 6:1bb0ac9721d0 2441 btn_pr.body.padding.bottom = 10;
becanromain 6:1bb0ac9721d0 2442 btn_pr.body.padding.left = 5;
becanromain 6:1bb0ac9721d0 2443 btn_pr.body.padding.right = 50;
becanromain 6:1bb0ac9721d0 2444 btn_pr.body.main_color = LV_COLOR_MAKE(R7, G7, B7);
becanromain 6:1bb0ac9721d0 2445 btn_pr.body.grad_color = LV_COLOR_MAKE(R8, G8, B8);
becanromain 6:1bb0ac9721d0 2446 btn_pr.body.border.color = LV_COLOR_MAKE(R9, G9, B9);
becanromain 6:1bb0ac9721d0 2447 btn_pr.text.color = LV_COLOR_MAKE(R10, G10, B10);
becanromain 6:1bb0ac9721d0 2448
becanromain 6:1bb0ac9721d0 2449 lv_style_copy(&btn_tgl_rel, &btn_rel);
becanromain 6:1bb0ac9721d0 2450 btn_tgl_rel.text.font = &RB_lv_font_roboto_16;
becanromain 6:1bb0ac9721d0 2451 btn_tgl_rel.body.padding.top = 10;
becanromain 6:1bb0ac9721d0 2452 btn_tgl_rel.body.padding.bottom = 10;
becanromain 6:1bb0ac9721d0 2453 btn_tgl_rel.body.padding.left = 5;
becanromain 6:1bb0ac9721d0 2454 btn_tgl_rel.body.padding.right = 50;
becanromain 6:1bb0ac9721d0 2455
becanromain 6:1bb0ac9721d0 2456 lv_style_copy(&btn_tgl_pr, &btn_pr);
becanromain 6:1bb0ac9721d0 2457 btn_tgl_pr.text.font = &RB_lv_font_roboto_16;
becanromain 6:1bb0ac9721d0 2458 btn_tgl_pr.body.padding.top = 10;
becanromain 6:1bb0ac9721d0 2459 btn_tgl_pr.body.padding.bottom = 10;
becanromain 6:1bb0ac9721d0 2460 btn_tgl_pr.body.padding.left = 5;
becanromain 6:1bb0ac9721d0 2461 btn_tgl_pr.body.padding.right = 50;
becanromain 6:1bb0ac9721d0 2462
becanromain 6:1bb0ac9721d0 2463 lv_style_copy(&btn_ina, &lv_style_btn_ina);
becanromain 6:1bb0ac9721d0 2464 btn_ina.text.font = &RB_lv_font_roboto_16;
becanromain 6:1bb0ac9721d0 2465 btn_ina.body.padding.top = 10;
becanromain 6:1bb0ac9721d0 2466 btn_ina.body.padding.bottom = 10;
becanromain 6:1bb0ac9721d0 2467 btn_ina.body.padding.left = 5;
becanromain 6:1bb0ac9721d0 2468 btn_ina.body.padding.right = 50;
becanromain 6:1bb0ac9721d0 2469 btn_ina.body.main_color = LV_COLOR_MAKE(R11, G11, B11);
becanromain 6:1bb0ac9721d0 2470 btn_ina.body.grad_color = LV_COLOR_MAKE(R12, G12, B12);
becanromain 6:1bb0ac9721d0 2471 btn_ina.body.border.color = LV_COLOR_MAKE(R13, G13, B13);
becanromain 6:1bb0ac9721d0 2472 btn_ina.text.color = LV_COLOR_MAKE(R14, G14, B14);
becanromain 6:1bb0ac9721d0 2473
becanromain 6:1bb0ac9721d0 2474 lv_list_set_style(Obj, LV_LIST_STYLE_BTN_REL, &btn_rel);
becanromain 6:1bb0ac9721d0 2475 lv_list_set_style(Obj, LV_LIST_STYLE_BTN_PR, &btn_pr);
becanromain 6:1bb0ac9721d0 2476 lv_list_set_style(Obj, LV_LIST_STYLE_BTN_TGL_REL, &btn_pr);
becanromain 6:1bb0ac9721d0 2477 lv_list_set_style(Obj, LV_LIST_STYLE_BTN_TGL_PR, &btn_tgl_pr);
becanromain 6:1bb0ac9721d0 2478 lv_list_set_style(Obj, LV_LIST_STYLE_BTN_INA, &btn_ina);
becanromain 6:1bb0ac9721d0 2479
becanromain 6:1bb0ac9721d0 2480 }
becanromain 6:1bb0ac9721d0 2481
becanromain 6:1bb0ac9721d0 2482
becanromain 6:1bb0ac9721d0 2483
becanromain 6:1bb0ac9721d0 2484