Multiplexer lauffähig

Dependencies:   USBDevice mbed

Fork of Multiplexer-Test by H2M Teststand

Committer:
O_Shovah
Date:
Mon Sep 08 18:21:48 2014 +0000
Revision:
4:57163b0e7dbc
Parent:
3:cb991a9ba6a6
Child:
5:c89afbb7d0b2
Stand vor Rebuild wg. Mutliplexer;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
O_Shovah 0:42c1addaf061 1 #include "mbed.h"
O_Shovah 0:42c1addaf061 2
O_Shovah 0:42c1addaf061 3 #include "USBSerial.h"
O_Shovah 0:42c1addaf061 4
O_Shovah 0:42c1addaf061 5 #include "EthernetInterface.h"
O_Shovah 1:84c53305b6a5 6 //***************************************************************************************************
O_Shovah 0:42c1addaf061 7 //Outputs
O_Shovah 0:42c1addaf061 8
O_Shovah 0:42c1addaf061 9 DigitalOut Multiplex_select_0 (p15);
O_Shovah 0:42c1addaf061 10 DigitalOut Multiplex_select_1 (p16);
O_Shovah 0:42c1addaf061 11 DigitalOut Myled (LED1);
O_Shovah 0:42c1addaf061 12
O_Shovah 3:cb991a9ba6a6 13 DigitalOut timetest_0 (p30);
O_Shovah 3:cb991a9ba6a6 14 DigitalOut timetest_1 (p29);
O_Shovah 3:cb991a9ba6a6 15
O_Shovah 0:42c1addaf061 16 PwmOut Bremsenstrom_MOSFET(p21);
O_Shovah 0:42c1addaf061 17 PwmOut Motroregler_PWM(p22);
O_Shovah 0:42c1addaf061 18
O_Shovah 0:42c1addaf061 19
O_Shovah 0:42c1addaf061 20 BusOut unused(p18);
O_Shovah 0:42c1addaf061 21
O_Shovah 1:84c53305b6a5 22 //***************************************************************************************************
O_Shovah 0:42c1addaf061 23 //Inputs
O_Shovah 0:42c1addaf061 24
O_Shovah 0:42c1addaf061 25 InterruptIn Drehzahl_lichtschranke(p14);
O_Shovah 0:42c1addaf061 26
O_Shovah 0:42c1addaf061 27 Timer Umlaufzeit;
O_Shovah 0:42c1addaf061 28 Ticker ticker_read_sensor;
O_Shovah 0:42c1addaf061 29
O_Shovah 0:42c1addaf061 30 AnalogIn Messkanal_0 (p19);
O_Shovah 0:42c1addaf061 31 AnalogIn Messkanal_1 (p20);
O_Shovah 0:42c1addaf061 32 AnalogIn DMS_0 (p17);
O_Shovah 0:42c1addaf061 33
O_Shovah 0:42c1addaf061 34
O_Shovah 1:84c53305b6a5 35 //***************************************************************************************************
O_Shovah 0:42c1addaf061 36 //Communication
O_Shovah 0:42c1addaf061 37
O_Shovah 0:42c1addaf061 38 Serial pc(USBTX, USBRX);
O_Shovah 0:42c1addaf061 39
O_Shovah 0:42c1addaf061 40 UDPSocket udp;
O_Shovah 0:42c1addaf061 41 Endpoint udp_dest;
O_Shovah 0:42c1addaf061 42
O_Shovah 0:42c1addaf061 43 float MOSFET_duty_cycle = 0;
O_Shovah 0:42c1addaf061 44
O_Shovah 4:57163b0e7dbc 45 volatile float Motorspannung, Bremsenspannung , Motorstrom, Aux, Bremsenstrom, Temperatur_1, Temperatur_2, Temperatur_3 ;
O_Shovah 0:42c1addaf061 46
O_Shovah 0:42c1addaf061 47 //int Motor_ratio = 0, curr_Motor_pwm_pulsewidth = 0,curr_MOSFET_pwm_pulsewidth = 0, Drehzahl = 0;
O_Shovah 0:42c1addaf061 48
O_Shovah 0:42c1addaf061 49 volatile int Drehzeit_counter = 0;
O_Shovah 0:42c1addaf061 50 #define DREHZEIT_SIZE 3
O_Shovah 0:42c1addaf061 51 volatile int Drehzeit[DREHZEIT_SIZE];
O_Shovah 2:d815250d0377 52
O_Shovah 0:42c1addaf061 53
O_Shovah 1:84c53305b6a5 54 //***************************************************************************************************
O_Shovah 1:84c53305b6a5 55 //read sensors via multiplexer
O_Shovah 0:42c1addaf061 56
O_Shovah 0:42c1addaf061 57 void interr_read_sensors()
O_Shovah 0:42c1addaf061 58 {
O_Shovah 0:42c1addaf061 59
O_Shovah 4:57163b0e7dbc 60 int Messwert_0 = 0, Messwert_1 = 0, select_0 = 0, select_1 = 0;
O_Shovah 0:42c1addaf061 61
O_Shovah 0:42c1addaf061 62 Multiplex_select_0 = 0, Multiplex_select_1 = 0;
O_Shovah 0:42c1addaf061 63
O_Shovah 0:42c1addaf061 64 //Selection of Multiplexer states
O_Shovah 0:42c1addaf061 65
O_Shovah 4:57163b0e7dbc 66 for (int i=0; i<=4; i++) {
O_Shovah 4:57163b0e7dbc 67 //while(i<=4) {
O_Shovah 0:42c1addaf061 68 select_0 = Multiplex_select_0;
O_Shovah 0:42c1addaf061 69 select_1 = Multiplex_select_1;
O_Shovah 0:42c1addaf061 70
O_Shovah 0:42c1addaf061 71 Messwert_0 = Messkanal_0.read_u16();
O_Shovah 0:42c1addaf061 72 Messwert_1 = Messkanal_1.read_u16();
O_Shovah 4:57163b0e7dbc 73
O_Shovah 4:57163b0e7dbc 74 Multiplex_select_0 = i&0x01;
O_Shovah 4:57163b0e7dbc 75 Multiplex_select_1 = (i>>1)&0x01;
O_Shovah 4:57163b0e7dbc 76 wait(0.001);
O_Shovah 0:42c1addaf061 77
O_Shovah 0:42c1addaf061 78 switch(i) {
O_Shovah 0:42c1addaf061 79 case 0: {
O_Shovah 4:57163b0e7dbc 80 Temperatur_1 = Messwert_0;
O_Shovah 0:42c1addaf061 81 Motorspannung = Messwert_1 * 0.000515 - 0.05 ; //Gute Näherung von 2- ~23V. Dannach zu niedrig.Z-Diode
O_Shovah 4:57163b0e7dbc 82
O_Shovah 0:42c1addaf061 83 break;
O_Shovah 0:42c1addaf061 84 }
O_Shovah 0:42c1addaf061 85
O_Shovah 4:57163b0e7dbc 86 case 3: {
O_Shovah 4:57163b0e7dbc 87 Aux = Messwert_0;
O_Shovah 4:57163b0e7dbc 88 Bremsenstrom = Messwert_1; // * 0.00032 - 15.8;
O_Shovah 4:57163b0e7dbc 89
O_Shovah 4:57163b0e7dbc 90 break;
O_Shovah 4:57163b0e7dbc 91 }
O_Shovah 0:42c1addaf061 92 case 1: {
O_Shovah 4:57163b0e7dbc 93 Temperatur_2 = Messwert_0;
O_Shovah 0:42c1addaf061 94 Motorstrom = Messwert_1 * 0.000396 - 4.15;
O_Shovah 0:42c1addaf061 95 break;
O_Shovah 0:42c1addaf061 96 }
O_Shovah 0:42c1addaf061 97
O_Shovah 0:42c1addaf061 98 case 2: {
O_Shovah 4:57163b0e7dbc 99 Temperatur_3 = Messwert_0;
O_Shovah 0:42c1addaf061 100 Bremsenspannung = Messwert_1 * 0.000515 - 0.05;//Gute Näherung von 2- ~23V. Dannach zu niedrig.Z-Diode
O_Shovah 0:42c1addaf061 101
O_Shovah 0:42c1addaf061 102 break;
O_Shovah 0:42c1addaf061 103 }
O_Shovah 0:42c1addaf061 104
O_Shovah 4:57163b0e7dbc 105 /* default: {
O_Shovah 0:42c1addaf061 106 //i =0;
O_Shovah 4:57163b0e7dbc 107 break; */
O_Shovah 4:57163b0e7dbc 108
O_Shovah 0:42c1addaf061 109
O_Shovah 0:42c1addaf061 110 }
O_Shovah 0:42c1addaf061 111
O_Shovah 4:57163b0e7dbc 112
O_Shovah 4:57163b0e7dbc 113 /* Multiplex_select_0 = i&0x01;
O_Shovah 0:42c1addaf061 114 Multiplex_select_1 = (i>>1)&0x01;
O_Shovah 0:42c1addaf061 115 wait(0.001);
O_Shovah 4:57163b0e7dbc 116 //i++;*/
O_Shovah 0:42c1addaf061 117 }
O_Shovah 4:57163b0e7dbc 118
O_Shovah 0:42c1addaf061 119 }
O_Shovah 2:d815250d0377 120
O_Shovah 0:42c1addaf061 121
O_Shovah 1:84c53305b6a5 122 //***************************************************************************************************
O_Shovah 4:57163b0e7dbc 123 //Control Motor rpm
O_Shovah 0:42c1addaf061 124
O_Shovah 0:42c1addaf061 125 int rpm_control(float motor_n_cmd, float motor_n_cur)
O_Shovah 0:42c1addaf061 126 {
O_Shovah 4:57163b0e7dbc 127
O_Shovah 0:42c1addaf061 128 static int motor_pwm_cmd_last = 900;
O_Shovah 0:42c1addaf061 129 //static float motor_n_last = 0;
O_Shovah 4:57163b0e7dbc 130
O_Shovah 0:42c1addaf061 131 if (motor_n_cmd < 1.0) {
O_Shovah 0:42c1addaf061 132 Motroregler_PWM.pulsewidth_us(900);
O_Shovah 0:42c1addaf061 133 motor_pwm_cmd_last = 900;
O_Shovah 0:42c1addaf061 134 // motor_n_last = 0;
O_Shovah 0:42c1addaf061 135 return 1;
O_Shovah 0:42c1addaf061 136 }
O_Shovah 4:57163b0e7dbc 137
O_Shovah 0:42c1addaf061 138 float motor_n_dif = motor_n_cmd - motor_n_cur;
O_Shovah 4:57163b0e7dbc 139
O_Shovah 0:42c1addaf061 140 int motor_pwm_cmd = (int)(motor_pwm_cmd_last + motor_n_dif * 0.6 + 0.5); // round() ... works only for positive values
O_Shovah 4:57163b0e7dbc 141
O_Shovah 0:42c1addaf061 142 pc.printf("cmd: %7.2f, cur: %7.2f, dif: %7.2f, motor_pwm_cmd: %4d, motor_pwm_dif: %4d, DMS: %f\n\r",
O_Shovah 4:57163b0e7dbc 143 motor_n_cmd*60, motor_n_cur*60, motor_n_dif*60, motor_pwm_cmd, motor_pwm_cmd-motor_pwm_cmd_last, ((int)DMS_0.read_u16())/65536.0*3.3);
O_Shovah 4:57163b0e7dbc 144
O_Shovah 0:42c1addaf061 145 if (motor_pwm_cmd > 1900) motor_pwm_cmd = 1900;
O_Shovah 0:42c1addaf061 146 else if (motor_pwm_cmd < 1010) motor_pwm_cmd = 1005;
O_Shovah 4:57163b0e7dbc 147
O_Shovah 0:42c1addaf061 148 Motroregler_PWM.pulsewidth_us(motor_pwm_cmd);
O_Shovah 0:42c1addaf061 149 motor_pwm_cmd_last = motor_pwm_cmd;
O_Shovah 0:42c1addaf061 150
O_Shovah 0:42c1addaf061 151 return 1;
O_Shovah 0:42c1addaf061 152
O_Shovah 0:42c1addaf061 153 }
O_Shovah 2:d815250d0377 154
O_Shovah 0:42c1addaf061 155
O_Shovah 1:84c53305b6a5 156 //***************************************************************************************************
O_Shovah 1:84c53305b6a5 157 //Control MOSFET pwm
O_Shovah 0:42c1addaf061 158 int brk_mosfet_control(float mosfet_pwm_cmd, float mosfet_pwm_cur)
O_Shovah 0:42c1addaf061 159 {
O_Shovah 4:57163b0e7dbc 160
O_Shovah 0:42c1addaf061 161 static int mosfet_pwm_cmd_last = 0;
O_Shovah 4:57163b0e7dbc 162
O_Shovah 4:57163b0e7dbc 163
O_Shovah 0:42c1addaf061 164 if (mosfet_pwm_cmd < 1.0) {
O_Shovah 2:d815250d0377 165 Bremsenstrom_MOSFET.pulsewidth_us(00);
O_Shovah 2:d815250d0377 166 mosfet_pwm_cmd_last = 0;
O_Shovah 2:d815250d0377 167
O_Shovah 0:42c1addaf061 168 return 1;
O_Shovah 0:42c1addaf061 169 }
O_Shovah 4:57163b0e7dbc 170
O_Shovah 2:d815250d0377 171 float mosfet_pwm_dif = mosfet_pwm_cmd - mosfet_pwm_cur;
O_Shovah 4:57163b0e7dbc 172
O_Shovah 4:57163b0e7dbc 173 // int mosfet_pwm_cmd = (int)(mosfet_pwm_cmd_last + mosfet_pwm_dif * 0.6 + 0.5); // round() ... works only for positive values
O_Shovah 4:57163b0e7dbc 174
O_Shovah 2:d815250d0377 175 pc.printf("cmd: %7.2f, cur: %7.2f, dif: %7.2f, mosfet_pwm_cmd: %4d, mosfet_pwm_dif: %4d",
O_Shovah 4:57163b0e7dbc 176 mosfet_pwm_cmd, mosfet_pwm_cur, mosfet_pwm_dif, mosfet_pwm_cmd, mosfet_pwm_cmd-mosfet_pwm_cmd_last);
O_Shovah 4:57163b0e7dbc 177
O_Shovah 2:d815250d0377 178 if (mosfet_pwm_cmd > 20000) mosfet_pwm_cmd = 20000;
O_Shovah 2:d815250d0377 179 else if (mosfet_pwm_cmd < 0) mosfet_pwm_cmd = 0;
O_Shovah 4:57163b0e7dbc 180
O_Shovah 4:57163b0e7dbc 181 Bremsenstrom_MOSFET.pulsewidth_us(mosfet_pwm_cmd);
O_Shovah 4:57163b0e7dbc 182
O_Shovah 2:d815250d0377 183 mosfet_pwm_cmd_last = mosfet_pwm_cmd;
O_Shovah 0:42c1addaf061 184
O_Shovah 0:42c1addaf061 185 return 1;
O_Shovah 0:42c1addaf061 186 }
O_Shovah 2:d815250d0377 187
O_Shovah 0:42c1addaf061 188
O_Shovah 1:84c53305b6a5 189 //***************************************************************************************************
O_Shovah 1:84c53305b6a5 190 //Calculate rpm
O_Shovah 0:42c1addaf061 191 void Motor_drehzahl()
O_Shovah 0:42c1addaf061 192 {
O_Shovah 0:42c1addaf061 193 static bool first_run = true;
O_Shovah 0:42c1addaf061 194 // Umlaufzeit.stop();
O_Shovah 0:42c1addaf061 195 int tmp = Umlaufzeit.read_us();
O_Shovah 4:57163b0e7dbc 196 if (first_run) {
O_Shovah 4:57163b0e7dbc 197 Umlaufzeit.start();
O_Shovah 4:57163b0e7dbc 198 first_run = false;
O_Shovah 4:57163b0e7dbc 199 return;
O_Shovah 4:57163b0e7dbc 200 }
O_Shovah 0:42c1addaf061 201 if (tmp < 1000) return;
O_Shovah 4:57163b0e7dbc 202
O_Shovah 0:42c1addaf061 203 // Cache last 3 values for averaging
O_Shovah 0:42c1addaf061 204 Drehzeit[Drehzeit_counter % DREHZEIT_SIZE] = tmp;
O_Shovah 0:42c1addaf061 205 ++Drehzeit_counter;
O_Shovah 0:42c1addaf061 206 Umlaufzeit.reset();
O_Shovah 0:42c1addaf061 207 }
O_Shovah 2:d815250d0377 208
O_Shovah 0:42c1addaf061 209
O_Shovah 1:84c53305b6a5 210 //***************************************************************************************************
O_Shovah 1:84c53305b6a5 211 // MAIN:
O_Shovah 0:42c1addaf061 212 int main(void)
O_Shovah 0:42c1addaf061 213 {
O_Shovah 4:57163b0e7dbc 214 /*
O_Shovah 4:57163b0e7dbc 215 // Init networking
O_Shovah 4:57163b0e7dbc 216 EthernetInterface eth;
O_Shovah 4:57163b0e7dbc 217 int err = eth.init();
O_Shovah 4:57163b0e7dbc 218 if (err)
O_Shovah 4:57163b0e7dbc 219 pc.printf("eth.init() failed. (%d)\n\r", err);
O_Shovah 4:57163b0e7dbc 220 else
O_Shovah 4:57163b0e7dbc 221 pc.printf("eth.init() successful.\n\r");
O_Shovah 4:57163b0e7dbc 222 err = eth.connect();
O_Shovah 4:57163b0e7dbc 223 if (err)
O_Shovah 4:57163b0e7dbc 224 pc.printf("eth.connect() failed. (%d)\n\r", err);
O_Shovah 4:57163b0e7dbc 225 else
O_Shovah 4:57163b0e7dbc 226 pc.printf("eth.connect() successful.\n\r");
O_Shovah 4:57163b0e7dbc 227
O_Shovah 4:57163b0e7dbc 228 char *ip_address = eth.getIPAddress();
O_Shovah 4:57163b0e7dbc 229 pc.printf("IP-Address: %s\n\r", ip_address);
O_Shovah 4:57163b0e7dbc 230
O_Shovah 4:57163b0e7dbc 231 err = udp.init();
O_Shovah 4:57163b0e7dbc 232 if (err)
O_Shovah 4:57163b0e7dbc 233 pc.printf("udp.init() failed. (%d)\n\r", err);
O_Shovah 4:57163b0e7dbc 234 else
O_Shovah 4:57163b0e7dbc 235 pc.printf("udp.init() successful.\n\r");
O_Shovah 4:57163b0e7dbc 236
O_Shovah 4:57163b0e7dbc 237 err = udp_dest.set_address("192.168.0.183", 1234);
O_Shovah 4:57163b0e7dbc 238 if (err)
O_Shovah 4:57163b0e7dbc 239 pc.printf("udp_dest.set_address() failed. (%d)\n\r", err);
O_Shovah 4:57163b0e7dbc 240 else
O_Shovah 4:57163b0e7dbc 241 pc.printf("udp_dest.set_address() successful.\n\r");
O_Shovah 4:57163b0e7dbc 242 */
O_Shovah 0:42c1addaf061 243
O_Shovah 0:42c1addaf061 244 // Init PWM
O_Shovah 0:42c1addaf061 245 Bremsenstrom_MOSFET.period(0.020);
O_Shovah 0:42c1addaf061 246 Motroregler_PWM.period(0.020);
O_Shovah 0:42c1addaf061 247 Motroregler_PWM.pulsewidth_us(900);
O_Shovah 0:42c1addaf061 248
O_Shovah 0:42c1addaf061 249 wait(1.0);
O_Shovah 4:57163b0e7dbc 250
O_Shovah 0:42c1addaf061 251 Drehzahl_lichtschranke.fall(&Motor_drehzahl);
O_Shovah 0:42c1addaf061 252 ticker_read_sensor.attach(&interr_read_sensors, 1.0);
O_Shovah 0:42c1addaf061 253
O_Shovah 4:57163b0e7dbc 254 // Time counters
O_Shovah 0:42c1addaf061 255 Timer timer_print, timer_pwm;
O_Shovah 0:42c1addaf061 256 timer_print.start();
O_Shovah 0:42c1addaf061 257 timer_pwm.start();
O_Shovah 4:57163b0e7dbc 258
O_Shovah 0:42c1addaf061 259 float motor_rpm_cmd = 0;
O_Shovah 0:42c1addaf061 260 float motor_n_cur = 0;
O_Shovah 0:42c1addaf061 261
O_Shovah 0:42c1addaf061 262 pc.printf("Enter motor rpm to begin\n\r");
O_Shovah 0:42c1addaf061 263
O_Shovah 0:42c1addaf061 264 while(true) {
O_Shovah 0:42c1addaf061 265
O_Shovah 4:57163b0e7dbc 266 /*
O_Shovah 4:57163b0e7dbc 267
O_Shovah 4:57163b0e7dbc 268 if (pc.readable()) {
O_Shovah 4:57163b0e7dbc 269 pc.printf("\n\r Motor rpm\n\r");
O_Shovah 4:57163b0e7dbc 270 pc.scanf("%f",&motor_rpm_cmd);
O_Shovah 4:57163b0e7dbc 271 pc.printf("%f\n\r",motor_rpm_cmd);
O_Shovah 4:57163b0e7dbc 272
O_Shovah 4:57163b0e7dbc 273 }
O_Shovah 4:57163b0e7dbc 274
O_Shovah 4:57163b0e7dbc 275 // Calculate motor_n_cur by averaging
O_Shovah 4:57163b0e7dbc 276 int drehzeit_sum = 0;
O_Shovah 4:57163b0e7dbc 277 for (int i=0; i != DREHZEIT_SIZE; ++i)
O_Shovah 4:57163b0e7dbc 278 drehzeit_sum += Drehzeit[i];
O_Shovah 4:57163b0e7dbc 279
O_Shovah 4:57163b0e7dbc 280 motor_n_cur = (drehzeit_sum ? (1.0e6/drehzeit_sum)*DREHZEIT_SIZE : 0.0);
O_Shovah 0:42c1addaf061 281
O_Shovah 3:cb991a9ba6a6 282
O_Shovah 4:57163b0e7dbc 283 // Set motor_n_cur to 0 if the interrupt wasn't called for a specified time
O_Shovah 4:57163b0e7dbc 284 if (Umlaufzeit.read_ms() > 200)
O_Shovah 4:57163b0e7dbc 285 motor_n_cur = 0.0;
O_Shovah 4:57163b0e7dbc 286
O_Shovah 0:42c1addaf061 287
O_Shovah 4:57163b0e7dbc 288 // Controller is only called every n ms
O_Shovah 4:57163b0e7dbc 289 if (timer_pwm.read_ms() > 500) {
O_Shovah 4:57163b0e7dbc 290 // pc.printf("drehzeit_sum: %d, motor_n_cur: %f\n\r", drehzeit_sum, motor_n_cur);
O_Shovah 4:57163b0e7dbc 291 // pc.printf("%d %d %d\n\r", Drehzeit[0], Drehzeit[1], Drehzeit[2]);
O_Shovah 4:57163b0e7dbc 292 //timetest_0 = 1;
O_Shovah 4:57163b0e7dbc 293
O_Shovah 4:57163b0e7dbc 294 timer_pwm.reset();
O_Shovah 4:57163b0e7dbc 295 rpm_control(motor_rpm_cmd/60.0, motor_n_cur);
O_Shovah 4:57163b0e7dbc 296 // timetest_0 = 0;
O_Shovah 4:57163b0e7dbc 297 }
O_Shovah 4:57163b0e7dbc 298 */
O_Shovah 4:57163b0e7dbc 299
O_Shovah 0:42c1addaf061 300
O_Shovah 0:42c1addaf061 301 // Myled = 0;
O_Shovah 0:42c1addaf061 302
O_Shovah 0:42c1addaf061 303 // wait (0.5);
O_Shovah 0:42c1addaf061 304
O_Shovah 4:57163b0e7dbc 305
O_Shovah 3:cb991a9ba6a6 306
O_Shovah 0:42c1addaf061 307 if (timer_print.read_ms() > 1000) {
O_Shovah 0:42c1addaf061 308 timer_print.reset();
O_Shovah 0:42c1addaf061 309
O_Shovah 4:57163b0e7dbc 310 pc.printf(" [Temperatur1, Motorspannung]; 0 %5.2f deg; 1 %5.2f V;", Temperatur_1, Motorspannung);
O_Shovah 4:57163b0e7dbc 311 pc.printf(" [Temperatur2, Motorstrom]; 0 %5.2f deg; 1 %5.2f A;", Temperatur_2, Motorstrom);
O_Shovah 4:57163b0e7dbc 312 pc.printf(" [Temperatur3, Bremsenspannung]; 0 %5.2f deg; 1 %5.2f V;", Temperatur_3, Bremsenspannung);
O_Shovah 0:42c1addaf061 313 pc.printf(" [Aux, Bremsenstrom]; 0 %5.2f NA; 1 %5.2f A;", Aux, Bremsenstrom);
O_Shovah 4:57163b0e7dbc 314 pc.printf(" \n\r\n\r");
O_Shovah 4:57163b0e7dbc 315
O_Shovah 4:57163b0e7dbc 316 float drehzahl = 1;//(Drehzeit ? 1.0e6/Drehzeit : 0.0);
O_Shovah 0:42c1addaf061 317
O_Shovah 4:57163b0e7dbc 318 /* pc.printf("\n\rCounter: %d, Drehzahl: %f rpm (%f Hz)\n\r\n\r", Drehzeit_counter, drehzahl*60, drehzahl);
O_Shovah 4:57163b0e7dbc 319
O_Shovah 4:57163b0e7dbc 320 char udb_buf[] = "Tescht";
O_Shovah 0:42c1addaf061 321 err = udp.sendTo(udp_dest, udb_buf, sizeof(udb_buf));
O_Shovah 0:42c1addaf061 322 if (err == -1)
O_Shovah 4:57163b0e7dbc 323 pc.printf("udp.sendTo() failed. (%d)\n\r", err);
O_Shovah 4:57163b0e7dbc 324 */
O_Shovah 4:57163b0e7dbc 325 }
O_Shovah 0:42c1addaf061 326 }
O_Shovah 0:42c1addaf061 327 }