Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: main.cpp
- Revision:
- 22:b837590f4fd0
- Parent:
- 21:3b9a50b245f8
- Child:
- 23:c0d34900d61d
diff -r 3b9a50b245f8 -r b837590f4fd0 main.cpp
--- a/main.cpp Mon Jan 30 21:14:03 2017 +0000
+++ b/main.cpp Tue Jan 31 18:39:59 2017 +0000
@@ -41,11 +41,10 @@
void lecture_analog(void const *args) {
uint8_t i = 0;
- float moyenne_passee1 = -1;
- float moyenne_passee2 = -1;
+ float moyenne_passee[2] = {-1, -1};
+ float moyenne_courante[2] = {0};
float echantillons1[5];
float echantillons2[5];
- float seuil = 0.125;
while (true) {
/*** Synchronisation sur la période d'échantillonnage ***/
@@ -61,35 +60,21 @@
i++;
if (i == 5) {
/*** Calcul de la moyenne courante du signal (calculée sur 5 échantillons successifs) ***/
- float moyenne_courante1 = (echantillons1[0] + echantillons1[1] + echantillons1[2] + echantillons1[3] + echantillons1[4]) / 5;
- float moyenne_courante2 = (echantillons2[0] + echantillons2[1] + echantillons2[2] + echantillons2[3] + echantillons2[4]) / 5;
+ moyenne_courante[0] = (echantillons1[0] + echantillons1[1] + echantillons1[2] + echantillons1[3] + echantillons1[4]) / 5;
+ moyenne_courante[1] = (echantillons2[0] + echantillons2[1] + echantillons2[2] + echantillons2[3] + echantillons2[4]) / 5;
- if (moyenne_passee1 != -1) {
- if(moyenne_courante1 < moyenne_passee1) {
- if (1 - (moyenne_courante1 / moyenne_passee1)) > seuil) {
+ if (moyenne_passee[0] != -1) {
+ if (((moyenne_courante[0] < moyenne_passee[0]) && (1 - (moyenne_courante[0] / moyenne_passee[0]) > 0.125)) || (1 - (moyenne_passee[0] / moyenne_courante[0]) > 0.125)) {
envoyer_mail(19); /*** Génération éventuelle d'un événement ***/
- }
- }
- else {
- if (1 - (moyenne_passee1 / moyenne_courante1) > seuil) {
- envoyer_mail(19); /*** Génération éventuelle d'un événement ***/
- }
- }
+ }
}
- if (moyenne_passee2 != -1) {
- if(moyenne_courante2 < moyenne_passee2) {
- if (1 - (moyenne_courante2 / moyenne_passee2) > seuil) {
+ if (moyenne_passee[1] != -1) {
+ if (((moyenne_courante[1] < moyenne_passee[1]) && (1 - (moyenne_courante[1] / moyenne_passee[1]) > 0.125)) || (1 - (moyenne_passee[1] / moyenne_courante[1]) > 0.125)) {
envoyer_mail(20); /*** Génération éventuelle d'un événement ***/
- }
- }
- else {
- if (1 - (moyenne_passee2 / moyenne_courante2) > seuil) {
- envoyer_mail(20); /*** Génération éventuelle d'un événement ***/
- }
- }
+ }
}
- moyenne_passee1 = moyenne_courante1;
- moyenne_passee2 = moyenne_courante2;
+ moyenne_passee[0] = moyenne_courante[0];
+ moyenne_passee[1] = moyenne_courante[1];
i = 0;
}
}
@@ -103,8 +88,8 @@
Thread::signal_wait(0x1);
/*** Lecture des échantillons numériques ***/
- uint8_t entreenum_1 = en_1.read();
- uint8_t entreenum_2 = en_2.read();
+ bool entreenum_1 = en_1.read();
+ bool entreenum_2 = en_2.read();
/*** Prise en charge du phénomène de rebond ***/
if (entreenum_1 != valeurs[0]) {
@@ -137,7 +122,7 @@
mail_t *mail = (mail_t*)evt.value.p;
/*** Écriture de l'événement en sortie (port série) ***/
- pc.printf("Entree %d\nDate: %s\n", mail->broche, mail->temps);
+ pc.printf("%d: Date: %s\n", mail->broche, mail->temps);
mail_box.free(mail);
}
}
@@ -164,7 +149,6 @@
int main() {
/*** Démarrage des tâches ***/
-
Thread t_lectureNum(lecture_num);
Thread t_lectureAnalog(lecture_analog);
Thread t_collection(collection);