Probleme char input

Dependencies:   TS_DISCO_F746NG mbed LCD_DISCO_F746NG BSP_DISCO_F746NG lvgl_RB FastPWM millis

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