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.
debug.cpp
- Committer:
- Nanaud
- Date:
- 2020-07-08
- Revision:
- 0:dc036b67c87c
- Child:
- 1:2fe8c402ee79
File content as of revision 0:dc036b67c87c:
#include "pins.h"
void serialIT(){
//pc.printf("\n\rserialIT on\n\r");
static int i=0;
static char buffer[10]=""; // Tableau qui contient la chaine de caractère rentrée dans le terminal.
static char cmd[Lcmd]=""; // Variable qui retient que les premiers caractères qui représentent la commande.
char tampon = pc.getc();
if((tampon >= 48 && tampon <=57) || (tampon>=97 && tampon<=122) || tampon==13)
{
buffer[i]=tampon; // Ajout du caractère dans le tableau buffer
pc.putc(buffer[i]); // Réécriture sur le terminal du caractère envoyé
i++;
}
if(buffer[i-1]=='\r'){ // Attente un appui sur la touche entrée
i=0;
copieTab(buffer,cmd); // Sauvegarde la commande dans le tableau cmd
cmdChoice(cmd);
}
}
void copieTab(char *tab1,char *tab2){ // Fonction qui recopie un tableau dans un autre
//pc.printf("\n\rcopieTab on\n\r");
//pc.printf("\n\r");
for(int j=0;j<Lcmd;j++){
tab2[j]=tab1[j];
//pc.printf("%c",tab2[j]);
}
//pc.printf("\n\r");
}
void cmdChoice(char *cmd){ // Fonction qui permet de choisir de l'activation d'une commande
//pc.printf("\n\rcmdChoice on\n\rcmd =");
const char *options[]={
"help", //0
"usao", //1
"us1o", //2
"us2o", //3
"us3o", //4
"us4o", //5
"us5o", //6
"us6o", //7
"tdrv", //8
"cdon", //9
"cdga", //10
"cdgb", //11
0
};
long option=-1;
for (long a=0; options[a] && option<0; a++){
if (!strcmp(cmd,options[a]) || strcmp(cmd,options[a])==1){ // strcmp(cmd,options[a])==1 permet de contourner le problème, à revoir !!!
option=a;
}
//pc.printf("res = %d",strcmp(cmd,options[a]));
}
switch (option) {
case 0: //help
pc.printf("\n\n\r###HELP###\n\r");
pc.printf("usao : Affichage resultats capteurs a ultrasons\n\r");
pc.printf("usxo : Affichage resultat capteur ultrasons x\n\r");
pc.printf("tdrv : Lance la fonction test_drv()\n\r");
pc.printf("cdon : Affichage resultats codeurs\n\r");
pc.printf("cdgx : Affichage resultats codeur gauche phase x (a ou b)\n\r");
pc.printf("\n\r");
break;
case 1: //usao
pc.printf("Capt US ALL ON/OFF\n\r");
aff_US[0]=!aff_US[0];aff_US[1]=!aff_US[1];aff_US[2]=!aff_US[2];
aff_US[3]=!aff_US[3];aff_US[4]=!aff_US[4];aff_US[5]=!aff_US[5];
break;
case 2: //us1o
pc.printf("Capt US 1 ON/OFF\n\r");
aff_US[0]=!aff_US[0];
break;
case 3: //us2o
pc.printf("Capt US 2 ON/OFF\n\r");
aff_US[1]=!aff_US[1];
break;
case 4: //us3o
pc.printf("Capt US 3 ON/OFF\n\r");
aff_US[2]=!aff_US[2];
break;
case 5: //us4o
pc.printf("Capt US 4 ON/OFF\n\r");
aff_US[3]=!aff_US[3];
break;
case 6: //us5o
pc.printf("Capt US 5 ON/OFF\n\r");
aff_US[4]=!aff_US[4];
break;
case 7: //us6o
pc.printf("Capt US 6 ON/OFF\n\r");
aff_US[5]=!aff_US[5];
break;
case 8: //tdrv
pc.printf("Fonction test_drv()\n\r");
test_drv();
break;
case 9: //cdon
pc.printf("Results ALL Encoders ON/OFF\n\r");
aff_cd[0]=!aff_cd[0];
aff_cd[1]=!aff_cd[1];
break;
case 10: //cdga
pc.printf("Results Encoder Left A ON/OFF\n\r");
aff_cd[0]=!aff_cd[0];
break;
case 11: //cdgb
pc.printf("Results Encoder Left B ON/OFF\n\r");
aff_cd[1]=!aff_cd[1];
break;
default:
pc.printf("Commande invalide\n\r");
}
}
void affUltrasons(){
if(aff_US[0]) printf("Tps US1 = %5.0f uS\n\r", us_out[0]);
if(aff_US[1]) printf("Tps US2 = %5.0f uS\n\r", us_out[1]);
if(aff_US[2]) printf("Tps US3 = %5.0f uS\n\r", us_out[2]);
if(aff_US[3]) printf("Tps US4 = %5.0f uS\n\r", us_out[3]);
if(aff_US[4]) printf("Tps US5 = %5.0f uS\n\r", us_out[4]);
if(aff_US[5]) printf("Tps US6 = %5.0f uS\n\r", us_out[5]);
if(aff_US[0]||aff_US[1]||aff_US[2]||aff_US[3]||aff_US[4]||aff_US[5]) printf("\n\r");
}
void affCodeurs(){
if(aff_cd[0]) printf("CdgA = %d\n\r", cpt_cdgA);
if(aff_cd[1]) printf("CdgB = %d\n\r", cpt_cdgB);
}