
Juggler Position Control Parsing
Dependencies: MODSERIAL mbed Servo
Fork of juggler_mbed_position_control by
Diff: main.cpp
- Revision:
- 0:1b69f8402884
- Child:
- 1:153ce28ac5ed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Jan 09 00:33:14 2017 +0000 @@ -0,0 +1,50 @@ +#include "mbed.h" +#include "MODSERIAL/MODSERIAL.h" +#include "SerialComm/SerialComm.h" + +#define NUM_FLOATS 10 + + +MODSERIAL pcSerial(USBTX, USBRX); + +// Initialize a pins t//o perform analog and digital output fucntions +AnalogOut aout(p18); +DigitalOut led1(LED1); +DigitalOut led2(LED2); +//DigitalOut led3(LED3); + +//Serial pc(USBTX, USBRX); +float valueFloats[NUM_FLOATS]; +float voltage; + +SerialComm serialComm(&pcSerial); + + + + +int main(void) +{ + pcSerial.printf("Start!\n"); + //pcSerial.baud(19200); + + while(true) { + if(serialComm.checkIfNewMessage()) { + valueFloats[0] = serialComm.getFloat();//valueFloats, NUM_FLOATS); + led2 = !led2; + //pcSerial.printf("Result: "); + //pcSerial.printf("%f", valueFloats[0]); + + // change the voltage on the digital output pin by 0.1 * VCC + // and print what the measured voltage should be (assuming VCC = 3.3v) + //for (float i = 0.0f; i < 1.0f; i += 0.1f) { + voltage = (abs(valueFloats[0]) > 3.3f) ? 3.3f : abs(valueFloats[0]); + aout = voltage / 3.3f; + //pc.printf("aout = %1.2f volts\n", aout.read() * 3.3f); + // turn on the led if the voltage is greater than 0.5f * VCC + led1 = (aout > 0.5f) ? 1 : 0; // voltage larger than 0.5*3.3 + //led3 = !led3; + + } + wait(1.0f); + } +} \ No newline at end of file