Alexandre Salconi-Denis
/
ProjetOctopode
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
debug_addon_graphique_ASCII/AnsiGraphicalConsole.cpp@40:ecef15b1dfad, 2017-01-31 (annotated)
- Committer:
- salco
- Date:
- Tue Jan 31 13:08:55 2017 +0000
- Revision:
- 40:ecef15b1dfad
change the place of my customization.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
salco | 40:ecef15b1dfad | 1 | #include "AnsiGraphicalConsole.h" |
salco | 40:ecef15b1dfad | 2 | #include "debug.h" |
salco | 40:ecef15b1dfad | 3 | |
salco | 40:ecef15b1dfad | 4 | void createSLbox(int posX, int posY, int height, int width,const char* title) |
salco | 40:ecef15b1dfad | 5 | { |
salco | 40:ecef15b1dfad | 6 | //PATCH |
salco | 40:ecef15b1dfad | 7 | posX++; |
salco | 40:ecef15b1dfad | 8 | posY++; |
salco | 40:ecef15b1dfad | 9 | // |
salco | 40:ecef15b1dfad | 10 | |
salco | 40:ecef15b1dfad | 11 | |
salco | 40:ecef15b1dfad | 12 | debug("\x1B[%i;%iH",posY,posX); |
salco | 40:ecef15b1dfad | 13 | debug("\u00DA");//┌ |
salco | 40:ecef15b1dfad | 14 | for(int i=0; i <= (width-2); i++) debug("\u00C4");//─ |
salco | 40:ecef15b1dfad | 15 | debug("\u00BF");//┐ |
salco | 40:ecef15b1dfad | 16 | |
salco | 40:ecef15b1dfad | 17 | #ifdef CONSOLE_DELAY_TEST |
salco | 40:ecef15b1dfad | 18 | wait(5); |
salco | 40:ecef15b1dfad | 19 | #endif |
salco | 40:ecef15b1dfad | 20 | |
salco | 40:ecef15b1dfad | 21 | if(title != 0) |
salco | 40:ecef15b1dfad | 22 | { |
salco | 40:ecef15b1dfad | 23 | char buffer[10]; |
salco | 40:ecef15b1dfad | 24 | int leight= sprintf(buffer,"%s",title); |
salco | 40:ecef15b1dfad | 25 | |
salco | 40:ecef15b1dfad | 26 | debug("\x1B[%i;%iH",posY+2,posX); |
salco | 40:ecef15b1dfad | 27 | debug("\u00C3");//├ |
salco | 40:ecef15b1dfad | 28 | for(int i=0; i <= (leight+2); i++) debug("\u00C4");//─ |
salco | 40:ecef15b1dfad | 29 | debug("\u00D9");//┘ |
salco | 40:ecef15b1dfad | 30 | |
salco | 40:ecef15b1dfad | 31 | debug("\x1B[%i;%iH",posY,posX+2+leight+2); |
salco | 40:ecef15b1dfad | 32 | debug("\u00C2");//┬ |
salco | 40:ecef15b1dfad | 33 | debug("\x1B[%i;%iH",posY+1,posX+2+leight+2); |
salco | 40:ecef15b1dfad | 34 | debug("\u00B3");//│ |
salco | 40:ecef15b1dfad | 35 | |
salco | 40:ecef15b1dfad | 36 | if(leight < width) // si le nom est plus petit que la box tu lafiche |
salco | 40:ecef15b1dfad | 37 | { |
salco | 40:ecef15b1dfad | 38 | debug("\x1B[%i;%iH",posY+1,posX+2); |
salco | 40:ecef15b1dfad | 39 | debug(1,"%s",title);//1 est la pour patcher le multiple instance problem |
salco | 40:ecef15b1dfad | 40 | } |
salco | 40:ecef15b1dfad | 41 | } |
salco | 40:ecef15b1dfad | 42 | |
salco | 40:ecef15b1dfad | 43 | #ifdef CONSOLE_DELAY_TEST |
salco | 40:ecef15b1dfad | 44 | wait(5); |
salco | 40:ecef15b1dfad | 45 | #endif |
salco | 40:ecef15b1dfad | 46 | |
salco | 40:ecef15b1dfad | 47 | for(int i = 1;i <= (height-2);i++){ |
salco | 40:ecef15b1dfad | 48 | debug("\x1B[%i;%iH",posY+i,posX);//debug("\x1B[%i;%iH",posX,posY+i); |
salco | 40:ecef15b1dfad | 49 | debug("\u00B3");//│ |
salco | 40:ecef15b1dfad | 50 | debug("\x1B[%i;%iH",posY+i,posX+width);//debug("\x1B[%i;%iH",posX+width,posY+i); |
salco | 40:ecef15b1dfad | 51 | debug("\u00B3");//│ |
salco | 40:ecef15b1dfad | 52 | |
salco | 40:ecef15b1dfad | 53 | #ifdef CONSOLE_DELAY_TEST |
salco | 40:ecef15b1dfad | 54 | wait(5); |
salco | 40:ecef15b1dfad | 55 | #endif |
salco | 40:ecef15b1dfad | 56 | |
salco | 40:ecef15b1dfad | 57 | } |
salco | 40:ecef15b1dfad | 58 | |
salco | 40:ecef15b1dfad | 59 | if(title != 0) |
salco | 40:ecef15b1dfad | 60 | { |
salco | 40:ecef15b1dfad | 61 | debug("\x1B[%i;%iH",posY+2,posX); |
salco | 40:ecef15b1dfad | 62 | debug("\u00C3");//├ |
salco | 40:ecef15b1dfad | 63 | } |
salco | 40:ecef15b1dfad | 64 | |
salco | 40:ecef15b1dfad | 65 | #ifdef CONSOLE_DELAY_TEST |
salco | 40:ecef15b1dfad | 66 | wait(5); |
salco | 40:ecef15b1dfad | 67 | #endif |
salco | 40:ecef15b1dfad | 68 | |
salco | 40:ecef15b1dfad | 69 | |
salco | 40:ecef15b1dfad | 70 | debug("\x1B[%i;%iH",posY+(height-1),posX); |
salco | 40:ecef15b1dfad | 71 | debug("\u00C0");//└ |
salco | 40:ecef15b1dfad | 72 | for(int i=0; i<=width-2; i++)debug("\u00C4");//─ |
salco | 40:ecef15b1dfad | 73 | debug("\u00D9");//┘ |
salco | 40:ecef15b1dfad | 74 | |
salco | 40:ecef15b1dfad | 75 | } |
salco | 40:ecef15b1dfad | 76 | |
salco | 40:ecef15b1dfad | 77 | void createDLbox(int posX, int posY, int height, int width,const char* title) |
salco | 40:ecef15b1dfad | 78 | { |
salco | 40:ecef15b1dfad | 79 | //PATCH |
salco | 40:ecef15b1dfad | 80 | posX++; |
salco | 40:ecef15b1dfad | 81 | posY++; |
salco | 40:ecef15b1dfad | 82 | // |
salco | 40:ecef15b1dfad | 83 | |
salco | 40:ecef15b1dfad | 84 | |
salco | 40:ecef15b1dfad | 85 | debug("\x1B[%i;%iH",posY,posX); |
salco | 40:ecef15b1dfad | 86 | debug("\u00C9");//╔ |
salco | 40:ecef15b1dfad | 87 | for(int i=0; i <= (width-2); i++) debug("\u00CD");//═ |
salco | 40:ecef15b1dfad | 88 | debug("\u00BB");//╗ |
salco | 40:ecef15b1dfad | 89 | |
salco | 40:ecef15b1dfad | 90 | #ifdef CONSOLE_DELAY_TEST |
salco | 40:ecef15b1dfad | 91 | wait(5); |
salco | 40:ecef15b1dfad | 92 | #endif |
salco | 40:ecef15b1dfad | 93 | |
salco | 40:ecef15b1dfad | 94 | if(title != 0) |
salco | 40:ecef15b1dfad | 95 | { |
salco | 40:ecef15b1dfad | 96 | char buffer[10]; |
salco | 40:ecef15b1dfad | 97 | int leight= sprintf(buffer,"%s",title); |
salco | 40:ecef15b1dfad | 98 | |
salco | 40:ecef15b1dfad | 99 | debug("\x1B[%i;%iH",posY+2,posX); |
salco | 40:ecef15b1dfad | 100 | debug("\u00CC");//╠ |
salco | 40:ecef15b1dfad | 101 | for(int i=0; i <= (leight+2); i++) debug("\u00CD");//═ |
salco | 40:ecef15b1dfad | 102 | debug("\u00BC");//╝ |
salco | 40:ecef15b1dfad | 103 | |
salco | 40:ecef15b1dfad | 104 | debug("\x1B[%i;%iH",posY,posX+2+leight+2); |
salco | 40:ecef15b1dfad | 105 | debug("\u00CB");//╦ |
salco | 40:ecef15b1dfad | 106 | debug("\x1B[%i;%iH",posY+1,posX+2+leight+2); |
salco | 40:ecef15b1dfad | 107 | debug("\u00BA");//║ |
salco | 40:ecef15b1dfad | 108 | |
salco | 40:ecef15b1dfad | 109 | if(leight < width) // si le nom est plus petit que la box tu lafiche |
salco | 40:ecef15b1dfad | 110 | { |
salco | 40:ecef15b1dfad | 111 | debug("\x1B[%i;%iH",posY+1,posX+2); |
salco | 40:ecef15b1dfad | 112 | debug(1,"%s",title);//1 est la pour patcher le multiple instance problem |
salco | 40:ecef15b1dfad | 113 | } |
salco | 40:ecef15b1dfad | 114 | } |
salco | 40:ecef15b1dfad | 115 | |
salco | 40:ecef15b1dfad | 116 | #ifdef CONSOLE_DELAY_TEST |
salco | 40:ecef15b1dfad | 117 | wait(5); |
salco | 40:ecef15b1dfad | 118 | #endif |
salco | 40:ecef15b1dfad | 119 | |
salco | 40:ecef15b1dfad | 120 | for(int i = 1;i <= (height-2);i++){ |
salco | 40:ecef15b1dfad | 121 | debug("\x1B[%i;%iH",posY+i,posX);//debug("\x1B[%i;%iH",posX,posY+i); |
salco | 40:ecef15b1dfad | 122 | debug("\u00BA");//║ |
salco | 40:ecef15b1dfad | 123 | debug("\x1B[%i;%iH",posY+i,posX+width);//debug("\x1B[%i;%iH",posX+width,posY+i); |
salco | 40:ecef15b1dfad | 124 | debug("\u00BA");//║ |
salco | 40:ecef15b1dfad | 125 | |
salco | 40:ecef15b1dfad | 126 | #ifdef CONSOLE_DELAY_TEST |
salco | 40:ecef15b1dfad | 127 | wait(5); |
salco | 40:ecef15b1dfad | 128 | #endif |
salco | 40:ecef15b1dfad | 129 | |
salco | 40:ecef15b1dfad | 130 | } |
salco | 40:ecef15b1dfad | 131 | |
salco | 40:ecef15b1dfad | 132 | if(title != 0) |
salco | 40:ecef15b1dfad | 133 | { |
salco | 40:ecef15b1dfad | 134 | debug("\x1B[%i;%iH",posY+2,posX); |
salco | 40:ecef15b1dfad | 135 | debug("\u00CC");//╠ |
salco | 40:ecef15b1dfad | 136 | } |
salco | 40:ecef15b1dfad | 137 | |
salco | 40:ecef15b1dfad | 138 | #ifdef CONSOLE_DELAY_TEST |
salco | 40:ecef15b1dfad | 139 | wait(5); |
salco | 40:ecef15b1dfad | 140 | #endif |
salco | 40:ecef15b1dfad | 141 | |
salco | 40:ecef15b1dfad | 142 | |
salco | 40:ecef15b1dfad | 143 | debug("\x1B[%i;%iH",posY+(height-1),posX); |
salco | 40:ecef15b1dfad | 144 | debug("\u00C8");//╚ |
salco | 40:ecef15b1dfad | 145 | for(int i=0; i<=width-2; i++)debug("\u00CD");//═ |
salco | 40:ecef15b1dfad | 146 | debug("\u00BC");//╝ |
salco | 40:ecef15b1dfad | 147 | |
salco | 40:ecef15b1dfad | 148 | } |
salco | 40:ecef15b1dfad | 149 | |
salco | 40:ecef15b1dfad | 150 | void setText(int posX, int posY,const char* title) |
salco | 40:ecef15b1dfad | 151 | { |
salco | 40:ecef15b1dfad | 152 | //PATCH |
salco | 40:ecef15b1dfad | 153 | posX++; |
salco | 40:ecef15b1dfad | 154 | posY++; |
salco | 40:ecef15b1dfad | 155 | // |
salco | 40:ecef15b1dfad | 156 | debug("\x1B[%i;%iH",posY,posX); |
salco | 40:ecef15b1dfad | 157 | debug(title); |
salco | 40:ecef15b1dfad | 158 | |
salco | 40:ecef15b1dfad | 159 | } |