![](/media/cache/profiles/4b0986230d9d7aded7f0c24033d221d4.jpg.50x50_q85.jpg)
Programme de contrôle de l'octopode 4DOF, Theraphosa-Salconi.
CtrlBridge
- fonction quelquonque pour communiquer avec les module
- fonction quelquonque pour faire des recherche dans les module dispo
- autre fonction pour jouer avec MemRegistre
Version 1.2.0
- Ajout d'un mode de simulation pour tester le code avec seulement un contrôleur stm32
Diff: debug_addon_graphique_ASCII/AnsiGraphicalConsole.cpp
- Revision:
- 40:ecef15b1dfad
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debug_addon_graphique_ASCII/AnsiGraphicalConsole.cpp Tue Jan 31 13:08:55 2017 +0000 @@ -0,0 +1,159 @@ +#include "AnsiGraphicalConsole.h" +#include "debug.h" + +void createSLbox(int posX, int posY, int height, int width,const char* title) +{ + //PATCH + posX++; + posY++; + // + + + debug("\x1B[%i;%iH",posY,posX); + debug("\u00DA");//┌ + for(int i=0; i <= (width-2); i++) debug("\u00C4");//─ + debug("\u00BF");//┐ + + #ifdef CONSOLE_DELAY_TEST + wait(5); + #endif + + if(title != 0) + { + char buffer[10]; + int leight= sprintf(buffer,"%s",title); + + debug("\x1B[%i;%iH",posY+2,posX); + debug("\u00C3");//├ + for(int i=0; i <= (leight+2); i++) debug("\u00C4");//─ + debug("\u00D9");//┘ + + debug("\x1B[%i;%iH",posY,posX+2+leight+2); + debug("\u00C2");//┬ + debug("\x1B[%i;%iH",posY+1,posX+2+leight+2); + debug("\u00B3");//│ + + if(leight < width) // si le nom est plus petit que la box tu lafiche + { + debug("\x1B[%i;%iH",posY+1,posX+2); + debug(1,"%s",title);//1 est la pour patcher le multiple instance problem + } + } + + #ifdef CONSOLE_DELAY_TEST + wait(5); + #endif + + for(int i = 1;i <= (height-2);i++){ + debug("\x1B[%i;%iH",posY+i,posX);//debug("\x1B[%i;%iH",posX,posY+i); + debug("\u00B3");//│ + debug("\x1B[%i;%iH",posY+i,posX+width);//debug("\x1B[%i;%iH",posX+width,posY+i); + debug("\u00B3");//│ + + #ifdef CONSOLE_DELAY_TEST + wait(5); + #endif + + } + + if(title != 0) + { + debug("\x1B[%i;%iH",posY+2,posX); + debug("\u00C3");//├ + } + + #ifdef CONSOLE_DELAY_TEST + wait(5); + #endif + + + debug("\x1B[%i;%iH",posY+(height-1),posX); + debug("\u00C0");//└ + for(int i=0; i<=width-2; i++)debug("\u00C4");//─ + debug("\u00D9");//┘ + +} + +void createDLbox(int posX, int posY, int height, int width,const char* title) +{ + //PATCH + posX++; + posY++; + // + + + debug("\x1B[%i;%iH",posY,posX); + debug("\u00C9");//╔ + for(int i=0; i <= (width-2); i++) debug("\u00CD");//═ + debug("\u00BB");//╗ + + #ifdef CONSOLE_DELAY_TEST + wait(5); + #endif + + if(title != 0) + { + char buffer[10]; + int leight= sprintf(buffer,"%s",title); + + debug("\x1B[%i;%iH",posY+2,posX); + debug("\u00CC");//╠ + for(int i=0; i <= (leight+2); i++) debug("\u00CD");//═ + debug("\u00BC");//╝ + + debug("\x1B[%i;%iH",posY,posX+2+leight+2); + debug("\u00CB");//╦ + debug("\x1B[%i;%iH",posY+1,posX+2+leight+2); + debug("\u00BA");//║ + + if(leight < width) // si le nom est plus petit que la box tu lafiche + { + debug("\x1B[%i;%iH",posY+1,posX+2); + debug(1,"%s",title);//1 est la pour patcher le multiple instance problem + } + } + + #ifdef CONSOLE_DELAY_TEST + wait(5); + #endif + + for(int i = 1;i <= (height-2);i++){ + debug("\x1B[%i;%iH",posY+i,posX);//debug("\x1B[%i;%iH",posX,posY+i); + debug("\u00BA");//║ + debug("\x1B[%i;%iH",posY+i,posX+width);//debug("\x1B[%i;%iH",posX+width,posY+i); + debug("\u00BA");//║ + + #ifdef CONSOLE_DELAY_TEST + wait(5); + #endif + + } + + if(title != 0) + { + debug("\x1B[%i;%iH",posY+2,posX); + debug("\u00CC");//╠ + } + + #ifdef CONSOLE_DELAY_TEST + wait(5); + #endif + + + debug("\x1B[%i;%iH",posY+(height-1),posX); + debug("\u00C8");//╚ + for(int i=0; i<=width-2; i++)debug("\u00CD");//═ + debug("\u00BC");//╝ + +} + +void setText(int posX, int posY,const char* title) +{ + //PATCH + posX++; + posY++; + // + debug("\x1B[%i;%iH",posY,posX); + debug(title); + +} \ No newline at end of file