As used for BB testing April / May 2016 (with the odd mod to the scope outputs)

Dependencies:   iC_MU mbed-rtos mbed

Fork of SweptSine by Vitec Group

Committer:
acodd
Date:
Wed Jun 08 13:53:50 2016 +0000
Revision:
3:4deb86f4ccfe
As used for much of head tuning process documented in "T3 head Tuning" document.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
acodd 3:4deb86f4ccfe 1 #include "mbed.h"
acodd 3:4deb86f4ccfe 2 #include "rtos.h"
acodd 3:4deb86f4ccfe 3 #include "MyAxis.h"
acodd 3:4deb86f4ccfe 4
acodd 3:4deb86f4ccfe 5
acodd 3:4deb86f4ccfe 6 extern Serial pc;
acodd 3:4deb86f4ccfe 7 extern float DeadBand;
acodd 3:4deb86f4ccfe 8 extern bool scoping;
acodd 3:4deb86f4ccfe 9 extern int scope_duration;
acodd 3:4deb86f4ccfe 10 extern int scope_time;
acodd 3:4deb86f4ccfe 11 extern bool sinusoid;
acodd 3:4deb86f4ccfe 12 extern bool ratiocalc;
acodd 3:4deb86f4ccfe 13 extern float jogaccel_time;
acodd 3:4deb86f4ccfe 14 extern float jogaccel;
acodd 3:4deb86f4ccfe 15 extern int pos_enc_start;
acodd 3:4deb86f4ccfe 16 extern int run_count_jog;
acodd 3:4deb86f4ccfe 17 extern int primed;
acodd 3:4deb86f4ccfe 18 float temp;
acodd 3:4deb86f4ccfe 19
acodd 3:4deb86f4ccfe 20
acodd 3:4deb86f4ccfe 21 // Returns the new set point entered via the keyboard
acodd 3:4deb86f4ccfe 22 int ServiceKeyboard ()
acodd 3:4deb86f4ccfe 23 {
acodd 3:4deb86f4ccfe 24 int key; // The keypress by the user
acodd 3:4deb86f4ccfe 25 int value = 0; // The variable to return
acodd 3:4deb86f4ccfe 26
acodd 3:4deb86f4ccfe 27 key = pc.getc(); // Read the intial keypress
acodd 3:4deb86f4ccfe 28
acodd 3:4deb86f4ccfe 29 switch (key) {
acodd 3:4deb86f4ccfe 30 // List keypresses used:
acodd 3:4deb86f4ccfe 31 case 'q':
acodd 3:4deb86f4ccfe 32 // To move up and down: 8, 2: To move left and right 4,6. To start stop both: 5:
acodd 3:4deb86f4ccfe 33 pc.printf("\n\r Left, Right, Up Down: 4,6,8,2. \n\r Start & Stop both: 5 \n\r Toggle all directions = d \n\r");
acodd 3:4deb86f4ccfe 34 pc.printf("\n\r Scope = s \n\r Run Test sinusoid = t \n\r Run Ratio Calculator = r \n\r Set Motor Kp = g \n\r Set Sys Kp_Sys = h \n\r Fetch Gain = f \n\r Set Kff_Sys = k \n\r Prime Start Scope = p \n\r Set Kff = 2 \n\r Set Gearbox Ratio = 1 \n\r");
acodd 3:4deb86f4ccfe 35 pc.printf(" Set Stationary c value = c \n\r Set Moving c value = b \n\r Set Jog_2 value = 3 \n\r \n\r \n\r Jog Speed PAN,TILT = j,m \n\r Set Jog Acceleration = a \n\r Cycle to hard Stop = z \n\r Fade = x \n\r");
acodd 3:4deb86f4ccfe 36 break;
acodd 3:4deb86f4ccfe 37
acodd 3:4deb86f4ccfe 38 // Turn on Scope Tool:
acodd 3:4deb86f4ccfe 39 case 's':
acodd 3:4deb86f4ccfe 40 if (!scoping) {
acodd 3:4deb86f4ccfe 41 scope_time = 0;
acodd 3:4deb86f4ccfe 42 scoping = true;
acodd 3:4deb86f4ccfe 43 } else {
acodd 3:4deb86f4ccfe 44 scoping = false;
acodd 3:4deb86f4ccfe 45 }
acodd 3:4deb86f4ccfe 46 break;
acodd 3:4deb86f4ccfe 47 // Turn on Ratio Calculator:
acodd 3:4deb86f4ccfe 48 case 'r':
acodd 3:4deb86f4ccfe 49 if (!ratiocalc) {
acodd 3:4deb86f4ccfe 50 ratiocalc = true;
acodd 3:4deb86f4ccfe 51 pc.printf("\n\r Running Ratio Calculator");
acodd 3:4deb86f4ccfe 52 } else {
acodd 3:4deb86f4ccfe 53 Tilt.calcmyratio = false;
acodd 3:4deb86f4ccfe 54 Pan.calcmyratio = false;
acodd 3:4deb86f4ccfe 55 }
acodd 3:4deb86f4ccfe 56 break;
acodd 3:4deb86f4ccfe 57 // We are going to jog Tilt up
acodd 3:4deb86f4ccfe 58 case '8':
acodd 3:4deb86f4ccfe 59 Tilt.sysjogdir = -1;
acodd 3:4deb86f4ccfe 60 if (Tilt.moveme) {
acodd 3:4deb86f4ccfe 61 //pc.printf("\n\r Moving stop");
acodd 3:4deb86f4ccfe 62 Tilt.moveme = false;
acodd 3:4deb86f4ccfe 63 } else {
acodd 3:4deb86f4ccfe 64 //pc.printf("\n\r Moving Start");
acodd 3:4deb86f4ccfe 65 Tilt.moveme = true;
acodd 3:4deb86f4ccfe 66 }
acodd 3:4deb86f4ccfe 67 break;
acodd 3:4deb86f4ccfe 68 // We are going to jog Tilt down
acodd 3:4deb86f4ccfe 69 case '2':
acodd 3:4deb86f4ccfe 70 Tilt.sysjogdir = 1;
acodd 3:4deb86f4ccfe 71 if (Tilt.moveme) {
acodd 3:4deb86f4ccfe 72 //pc.printf("\n\r Moving stop");
acodd 3:4deb86f4ccfe 73 Tilt.moveme = false;
acodd 3:4deb86f4ccfe 74 } else {
acodd 3:4deb86f4ccfe 75 //pc.printf("\n\r Moving Start");
acodd 3:4deb86f4ccfe 76 Tilt.moveme = true;
acodd 3:4deb86f4ccfe 77 }
acodd 3:4deb86f4ccfe 78 break;
acodd 3:4deb86f4ccfe 79 // We are going to jog Tilt up
acodd 3:4deb86f4ccfe 80 case '4':
acodd 3:4deb86f4ccfe 81 Pan.sysjogdir = -1;
acodd 3:4deb86f4ccfe 82 if (Pan.moveme) {
acodd 3:4deb86f4ccfe 83 //pc.printf("\n\r Moving stop");
acodd 3:4deb86f4ccfe 84 Pan.moveme = false;
acodd 3:4deb86f4ccfe 85 } else {
acodd 3:4deb86f4ccfe 86 //pc.printf("\n\r Moving Start");
acodd 3:4deb86f4ccfe 87 Pan.moveme = true;
acodd 3:4deb86f4ccfe 88 }
acodd 3:4deb86f4ccfe 89 break;
acodd 3:4deb86f4ccfe 90 // We are going to jog Tilt down
acodd 3:4deb86f4ccfe 91 case '6':
acodd 3:4deb86f4ccfe 92 Pan.sysjogdir = 1;
acodd 3:4deb86f4ccfe 93 if (Pan.moveme) {
acodd 3:4deb86f4ccfe 94 //pc.printf("\n\r Moving stop");
acodd 3:4deb86f4ccfe 95 Pan.moveme = false;
acodd 3:4deb86f4ccfe 96 } else {
acodd 3:4deb86f4ccfe 97 //pc.printf("\n\r Moving Start");
acodd 3:4deb86f4ccfe 98 Pan.moveme = true;
acodd 3:4deb86f4ccfe 99 }
acodd 3:4deb86f4ccfe 100 break;
acodd 3:4deb86f4ccfe 101 // We are going to jog everything
acodd 3:4deb86f4ccfe 102 case '5':
acodd 3:4deb86f4ccfe 103 if (Pan.moveme) {
acodd 3:4deb86f4ccfe 104 //pc.printf("\n\r Moving stop");
acodd 3:4deb86f4ccfe 105 Pan.moveme = false;
acodd 3:4deb86f4ccfe 106 } else {
acodd 3:4deb86f4ccfe 107 //pc.printf("\n\r Moving Start");
acodd 3:4deb86f4ccfe 108 Pan.moveme = true;
acodd 3:4deb86f4ccfe 109 }
acodd 3:4deb86f4ccfe 110 if (Tilt.moveme) {
acodd 3:4deb86f4ccfe 111 //pc.printf("\n\r Moving stop");
acodd 3:4deb86f4ccfe 112 Tilt.moveme = false;
acodd 3:4deb86f4ccfe 113 } else {
acodd 3:4deb86f4ccfe 114 //pc.printf("\n\r Moving Start");
acodd 3:4deb86f4ccfe 115 Tilt.moveme = true;
acodd 3:4deb86f4ccfe 116 }
acodd 3:4deb86f4ccfe 117 break;
acodd 3:4deb86f4ccfe 118 // We are going to toggle all directions
acodd 3:4deb86f4ccfe 119 case 'd':
acodd 3:4deb86f4ccfe 120 Pan.sysjogdir = -Pan.sysjogdir;
acodd 3:4deb86f4ccfe 121 Tilt.sysjogdir = -Tilt.sysjogdir;
acodd 3:4deb86f4ccfe 122 break;
acodd 3:4deb86f4ccfe 123
acodd 3:4deb86f4ccfe 124 // Turn on Potentiometer control:
acodd 3:4deb86f4ccfe 125 case 't':
acodd 3:4deb86f4ccfe 126 if (!sinusoid) {
acodd 3:4deb86f4ccfe 127 pc.printf("\n\r Running sinusoid test");
acodd 3:4deb86f4ccfe 128 sinusoid = true;
acodd 3:4deb86f4ccfe 129 } else {
acodd 3:4deb86f4ccfe 130 sinusoid = false;
acodd 3:4deb86f4ccfe 131 }
acodd 3:4deb86f4ccfe 132 break;
acodd 3:4deb86f4ccfe 133 // We are going to set the Motor gain
acodd 3:4deb86f4ccfe 134 case 'g':
acodd 3:4deb86f4ccfe 135 pc.printf("\n\r Enter a new Motor Kp gain x 1000: ");
acodd 3:4deb86f4ccfe 136 //key = pc.getc();
acodd 3:4deb86f4ccfe 137 do {
acodd 3:4deb86f4ccfe 138 key = pc.getc(); // Wait for a keypress
acodd 3:4deb86f4ccfe 139 if(key >= '0' && key <= '9') { // Check it is a number
acodd 3:4deb86f4ccfe 140 value *= 10; // Index the old number
acodd 3:4deb86f4ccfe 141 value += (key - '0'); // Add on the new number
acodd 3:4deb86f4ccfe 142 pc.printf("%c",key); // Display the new number
acodd 3:4deb86f4ccfe 143 }
acodd 3:4deb86f4ccfe 144 } while(key != 0x0D);
acodd 3:4deb86f4ccfe 145 Pan.Kp = value;
acodd 3:4deb86f4ccfe 146 Pan.Kp = Pan.Kp / 1000;
acodd 3:4deb86f4ccfe 147 Tilt.Kp = Pan.Kp;
acodd 3:4deb86f4ccfe 148 //PanVelocityPID.setKp(Kp/1000);
acodd 3:4deb86f4ccfe 149 pc.printf("\n\r");
acodd 3:4deb86f4ccfe 150 break;
acodd 3:4deb86f4ccfe 151 // We are going to set the System gain
acodd 3:4deb86f4ccfe 152 case 'h':
acodd 3:4deb86f4ccfe 153 pc.printf("\n\r Enter a new System Sys_Kp gain x 10000: ");
acodd 3:4deb86f4ccfe 154 //key = pc.getc();
acodd 3:4deb86f4ccfe 155 do {
acodd 3:4deb86f4ccfe 156 key = pc.getc(); // Wait for a keypress
acodd 3:4deb86f4ccfe 157 if(key >= '0' && key <= '9') { // Check it is a number
acodd 3:4deb86f4ccfe 158 value *= 10; // Index the old number
acodd 3:4deb86f4ccfe 159 value += (key - '0'); // Add on the new number
acodd 3:4deb86f4ccfe 160 pc.printf("%c",key); // Display the new number
acodd 3:4deb86f4ccfe 161 }
acodd 3:4deb86f4ccfe 162 } while(key != 0x0D);
acodd 3:4deb86f4ccfe 163 Pan.Kp_Sys = value;
acodd 3:4deb86f4ccfe 164 Pan.Kp_Sys = Pan.Kp_Sys / 10000;
acodd 3:4deb86f4ccfe 165 Tilt.Kp_Sys = Pan.Kp_Sys;
acodd 3:4deb86f4ccfe 166 //PanVelocityPID.setKp(Kp/1000);
acodd 3:4deb86f4ccfe 167 pc.printf("\n\r");
acodd 3:4deb86f4ccfe 168 break;
acodd 3:4deb86f4ccfe 169 // We are going to confirm what the gain is
acodd 3:4deb86f4ccfe 170 case 'f':
acodd 3:4deb86f4ccfe 171 //Kp = PanVelocityPID.getKp();
acodd 3:4deb86f4ccfe 172 pc.printf("\n\r Kp = %f, Kff = %f, Kp_Sys = %f, Kff_Sys = %f, Ratio = %f, c_stationary = %f, c_moving = %f, Jog_2 = %f \n\r", Pan.Kp,Pan.Kff,Pan.Kp_Sys,Pan.Kff_Sys,Pan.ratio,Pan.c_stationary, Pan.c_moving, Pan.Jog_2);
acodd 3:4deb86f4ccfe 173 break;
acodd 3:4deb86f4ccfe 174
acodd 3:4deb86f4ccfe 175 // We are going to set the Jog_2 Value:
acodd 3:4deb86f4ccfe 176 case '3':
acodd 3:4deb86f4ccfe 177 pc.printf("\n\r Enter a new Jog_2 value: ");
acodd 3:4deb86f4ccfe 178 //key = pc.getc();
acodd 3:4deb86f4ccfe 179 do {
acodd 3:4deb86f4ccfe 180 key = pc.getc(); // Wait for a keypress
acodd 3:4deb86f4ccfe 181 if(key >= '0' && key <= '9') { // Check it is a number
acodd 3:4deb86f4ccfe 182 value *= 10; // Index the old number
acodd 3:4deb86f4ccfe 183 value += (key - '0'); // Add on the new number
acodd 3:4deb86f4ccfe 184 pc.printf("%c",key); // Display the new number
acodd 3:4deb86f4ccfe 185 }
acodd 3:4deb86f4ccfe 186 } while(key != 0x0D);
acodd 3:4deb86f4ccfe 187 Pan.Jog_2 = value;
acodd 3:4deb86f4ccfe 188 pc.printf("\n\r");
acodd 3:4deb86f4ccfe 189 break;
acodd 3:4deb86f4ccfe 190 // We are going to set the new threshold:
acodd 3:4deb86f4ccfe 191 case '1':
acodd 3:4deb86f4ccfe 192 pc.printf("\n\r Enter a new gearbox ratio: ");
acodd 3:4deb86f4ccfe 193 //key = pc.getc();
acodd 3:4deb86f4ccfe 194 do {
acodd 3:4deb86f4ccfe 195 key = pc.getc(); // Wait for a keypress
acodd 3:4deb86f4ccfe 196 if(key >= '0' && key <= '9') { // Check it is a number
acodd 3:4deb86f4ccfe 197 value *= 10; // Index the old number
acodd 3:4deb86f4ccfe 198 value += (key - '0'); // Add on the new number
acodd 3:4deb86f4ccfe 199 pc.printf("%c",key); // Display the new number
acodd 3:4deb86f4ccfe 200 }
acodd 3:4deb86f4ccfe 201 } while(key != 0x0D);
acodd 3:4deb86f4ccfe 202 Pan.ratio = value;
acodd 3:4deb86f4ccfe 203 pc.printf("\n\r");
acodd 3:4deb86f4ccfe 204 break;
acodd 3:4deb86f4ccfe 205 // We are going to set the Kff gain
acodd 3:4deb86f4ccfe 206 case 'w':
acodd 3:4deb86f4ccfe 207 pc.printf("\n\r Enter a new Kff gain x 100: ");
acodd 3:4deb86f4ccfe 208 //key = pc.getc();
acodd 3:4deb86f4ccfe 209 do {
acodd 3:4deb86f4ccfe 210 key = pc.getc(); // Wait for a keypress
acodd 3:4deb86f4ccfe 211 if(key >= '0' && key <= '9') { // Check it is a number
acodd 3:4deb86f4ccfe 212 value *= 10; // Index the old number
acodd 3:4deb86f4ccfe 213 value += (key - '0'); // Add on the new number
acodd 3:4deb86f4ccfe 214 pc.printf("%c",key); // Display the new number
acodd 3:4deb86f4ccfe 215 }
acodd 3:4deb86f4ccfe 216 } while(key != 0x0D);
acodd 3:4deb86f4ccfe 217 Pan.Kff = value;
acodd 3:4deb86f4ccfe 218 Pan.Kff = Pan.Kff / 100;
acodd 3:4deb86f4ccfe 219 pc.printf("\n\r");
acodd 3:4deb86f4ccfe 220 break;
acodd 3:4deb86f4ccfe 221 // We are going to set the dead band for the Motor PWM
acodd 3:4deb86f4ccfe 222 case 'k':
acodd 3:4deb86f4ccfe 223 pc.printf("\n\r Enter a new Kff_Sys x 100: ");
acodd 3:4deb86f4ccfe 224 //key = pc.getc();
acodd 3:4deb86f4ccfe 225 do {
acodd 3:4deb86f4ccfe 226 key = pc.getc(); // Wait for a keypress
acodd 3:4deb86f4ccfe 227 if(key >= '0' && key <= '9') { // Check it is a number
acodd 3:4deb86f4ccfe 228 value *= 10; // Index the old number
acodd 3:4deb86f4ccfe 229 value += (key - '0'); // Add on the new number
acodd 3:4deb86f4ccfe 230 pc.printf("%c",key); // Display the new number
acodd 3:4deb86f4ccfe 231 }
acodd 3:4deb86f4ccfe 232 } while(key != 0x0D);
acodd 3:4deb86f4ccfe 233 temp = value;
acodd 3:4deb86f4ccfe 234 Pan.Kff_Sys = temp / 100;
acodd 3:4deb86f4ccfe 235 pc.printf("\n\r");
acodd 3:4deb86f4ccfe 236 break;
acodd 3:4deb86f4ccfe 237 // We are going to set a stationary c value
acodd 3:4deb86f4ccfe 238 case 'c':
acodd 3:4deb86f4ccfe 239 pc.printf("\n\r Enter a new stationary c value: ");
acodd 3:4deb86f4ccfe 240 //key = pc.getc();
acodd 3:4deb86f4ccfe 241 do {
acodd 3:4deb86f4ccfe 242 key = pc.getc(); // Wait for a keypress
acodd 3:4deb86f4ccfe 243 if(key >= '0' && key <= '9') { // Check it is a number
acodd 3:4deb86f4ccfe 244 value *= 10; // Index the old number
acodd 3:4deb86f4ccfe 245 value += (key - '0'); // Add on the new number
acodd 3:4deb86f4ccfe 246 pc.printf("%c",key); // Display the new number
acodd 3:4deb86f4ccfe 247 }
acodd 3:4deb86f4ccfe 248 } while(key != 0x0D);
acodd 3:4deb86f4ccfe 249 Pan.c_stationary = value;
acodd 3:4deb86f4ccfe 250 pc.printf("\n\r");
acodd 3:4deb86f4ccfe 251 break;
acodd 3:4deb86f4ccfe 252 // We are going to set a moving b value
acodd 3:4deb86f4ccfe 253 case 'b':
acodd 3:4deb86f4ccfe 254 pc.printf("\n\r Enter a new moving c value: ");
acodd 3:4deb86f4ccfe 255 //key = pc.getc();
acodd 3:4deb86f4ccfe 256 do {
acodd 3:4deb86f4ccfe 257 key = pc.getc(); // Wait for a keypress
acodd 3:4deb86f4ccfe 258 if(key >= '0' && key <= '9') { // Check it is a number
acodd 3:4deb86f4ccfe 259 value *= 10; // Index the old number
acodd 3:4deb86f4ccfe 260 value += (key - '0'); // Add on the new number
acodd 3:4deb86f4ccfe 261 pc.printf("%c",key); // Display the new number
acodd 3:4deb86f4ccfe 262 }
acodd 3:4deb86f4ccfe 263 } while(key != 0x0D);
acodd 3:4deb86f4ccfe 264 Pan.c_moving = value;
acodd 3:4deb86f4ccfe 265 pc.printf("\n\r");
acodd 3:4deb86f4ccfe 266 break;
acodd 3:4deb86f4ccfe 267 // Set a jog speed
acodd 3:4deb86f4ccfe 268 case 'j':
acodd 3:4deb86f4ccfe 269 pc.printf("\n\r Set Jog PAN speed (Deg/s) x100 ");
acodd 3:4deb86f4ccfe 270 //key = pc.getc();
acodd 3:4deb86f4ccfe 271 do {
acodd 3:4deb86f4ccfe 272 key = pc.getc(); // Wait for a keypress
acodd 3:4deb86f4ccfe 273 if(key >= '0' && key <= '9') { // Check it is a number
acodd 3:4deb86f4ccfe 274 value *= 10; // Index the old number
acodd 3:4deb86f4ccfe 275 value += (key - '0'); // Add on the new number
acodd 3:4deb86f4ccfe 276 pc.printf("%c",key); // Display the new number
acodd 3:4deb86f4ccfe 277 }
acodd 3:4deb86f4ccfe 278 } while(key != 0x0D);
acodd 3:4deb86f4ccfe 279 Pan.jog = value;
acodd 3:4deb86f4ccfe 280 Pan.jog = (Pan.jog * 0.0145);
acodd 3:4deb86f4ccfe 281 pc.printf("\n\r");
acodd 3:4deb86f4ccfe 282 break;
acodd 3:4deb86f4ccfe 283 // Set a jog speed
acodd 3:4deb86f4ccfe 284 case 'm':
acodd 3:4deb86f4ccfe 285 pc.printf("\n\r Set Jog TILT speed (Deg/s) x100 ");
acodd 3:4deb86f4ccfe 286 //key = pc.getc();
acodd 3:4deb86f4ccfe 287 do {
acodd 3:4deb86f4ccfe 288 key = pc.getc(); // Wait for a keypress
acodd 3:4deb86f4ccfe 289 if(key >= '0' && key <= '9') { // Check it is a number
acodd 3:4deb86f4ccfe 290 value *= 10; // Index the old number
acodd 3:4deb86f4ccfe 291 value += (key - '0'); // Add on the new number
acodd 3:4deb86f4ccfe 292 pc.printf("%c",key); // Display the new number
acodd 3:4deb86f4ccfe 293 }
acodd 3:4deb86f4ccfe 294 } while(key != 0x0D);
acodd 3:4deb86f4ccfe 295 Tilt.jog = value;
acodd 3:4deb86f4ccfe 296 Tilt.jog = (Tilt.jog * 0.0145);
acodd 3:4deb86f4ccfe 297 pc.printf("\n\r");
acodd 3:4deb86f4ccfe 298 break;
acodd 3:4deb86f4ccfe 299 // Set the jog function to cycle to a stop
acodd 3:4deb86f4ccfe 300 case 'z':
acodd 3:4deb86f4ccfe 301 pc.printf("\n\r Set to ramp to stop \n\r");
acodd 3:4deb86f4ccfe 302 Pan.ramp = Pan.jog / jogaccel_time;
acodd 3:4deb86f4ccfe 303 Pan.run_count_jog = 0;
acodd 3:4deb86f4ccfe 304 scope_time = 0;
acodd 3:4deb86f4ccfe 305 Pan.setramp = true;
acodd 3:4deb86f4ccfe 306 break;
acodd 3:4deb86f4ccfe 307 // Set a Fade like move
acodd 3:4deb86f4ccfe 308 case 'x':
acodd 3:4deb86f4ccfe 309 pc.printf("\n\r Set to Fade like move \n\r");
acodd 3:4deb86f4ccfe 310 Pan.ramp = Pan.jog / jogaccel_time;
acodd 3:4deb86f4ccfe 311 Pan.run_count_jog = 0;
acodd 3:4deb86f4ccfe 312 scope_time = 0;
acodd 3:4deb86f4ccfe 313 Pan.setramp_x = true;
acodd 3:4deb86f4ccfe 314
acodd 3:4deb86f4ccfe 315 Tilt.ramp = Tilt.jog / jogaccel_time;
acodd 3:4deb86f4ccfe 316 Tilt.run_count_jog = 0;
acodd 3:4deb86f4ccfe 317 scope_time = 0;
acodd 3:4deb86f4ccfe 318 Tilt.setramp_x = true;
acodd 3:4deb86f4ccfe 319 break;
acodd 3:4deb86f4ccfe 320 // Set a jog acceleration
acodd 3:4deb86f4ccfe 321 case 'a':
acodd 3:4deb86f4ccfe 322 pc.printf("\n\r Set ramp jogaccel_time, (ms) ");
acodd 3:4deb86f4ccfe 323 //key = pc.getc();
acodd 3:4deb86f4ccfe 324 do {
acodd 3:4deb86f4ccfe 325 key = pc.getc(); // Wait for a keypress
acodd 3:4deb86f4ccfe 326 if(key >= '0' && key <= '9') { // Check it is a number
acodd 3:4deb86f4ccfe 327 value *= 10; // Index the old number
acodd 3:4deb86f4ccfe 328 value += (key - '0'); // Add on the new number
acodd 3:4deb86f4ccfe 329 pc.printf("%c",key); // Display the new number
acodd 3:4deb86f4ccfe 330 }
acodd 3:4deb86f4ccfe 331 } while(key != 0x0D);
acodd 3:4deb86f4ccfe 332 temp = value;
acodd 3:4deb86f4ccfe 333 jogaccel_time = temp;
acodd 3:4deb86f4ccfe 334 //ramp = ramp / 1000;
acodd 3:4deb86f4ccfe 335 pc.printf("\n\r");
acodd 3:4deb86f4ccfe 336 break;
acodd 3:4deb86f4ccfe 337 // Prime the scope tool
acodd 3:4deb86f4ccfe 338 case 'p':
acodd 3:4deb86f4ccfe 339 pc.printf("\n\r Prime the scope tool \n\r");
acodd 3:4deb86f4ccfe 340 primed = true;
acodd 3:4deb86f4ccfe 341 break;
acodd 3:4deb86f4ccfe 342 }
acodd 3:4deb86f4ccfe 343 return(1);
acodd 3:4deb86f4ccfe 344 }
acodd 3:4deb86f4ccfe 345
acodd 3:4deb86f4ccfe 346
acodd 3:4deb86f4ccfe 347
acodd 3:4deb86f4ccfe 348
acodd 3:4deb86f4ccfe 349