Dependencies: mbed Motordriver QEI
Diff: main.cpp
- Revision:
- 1:19d647492936
- Parent:
- 0:993cd673f077
--- a/main.cpp Mon Jun 13 07:41:53 2011 +0000 +++ b/main.cpp Thu Nov 10 13:29:43 2011 +0000 @@ -1,105 +1,29 @@ -#include "include_file.h" +#include "library.h" +#include "motor.h" +#include "servo.h" int main( int argc, char **argv ) { - char key; + char s; float d = 0.5; + + setSystemFrequency( 0x3, 0x1, 12, 1 ); // M=12, N=1, 96MHz + device.baud( 115200 ); + servo.baud( 115200 ); + led1.period_us( 10 ); + led2.period_us( 10 ); right_pwm.period_us( 10 ); left_pwm.period_us( 10 ); - enable.write( 1 ); + enable.write( 1.0 ); + led1.write( 1.0 ); + led2.write( 1.0 ); - device.putc('s'); - device.printf("f:forward, b:back, r:turn_right\n" - "l:turn_left, a:duty+=0.01, m:duty-=0.01\n"); - while( 1 ) + device.printf("Start:'0'\n"); + while( s != 0 ) { - key = device.getc(); - switch( key ) - { - case 'f': - move_f( d ); - break; - case 'b': - move_b( d ); - break; - case 'r': - turn_r( d ); - break; - case 'l': - turn_l( d ); - break; - case 's': - stop(); - break; - case 'a': - d += 0.01; - break; - case 'm': - d -= 0.01; - break; - default: - break; - } - device.printf("duty = %1.2f\r", d); - wait_ms( 10 ); + s = device.getc(); } -} - -void move_f( float d ) -{ - right_P.write( 0 ); - right_N.write( 1 ); - left_P.write( 1 ); - left_N.write( 0 ); - right_pwm.write( d ); - left_pwm.write( d ); - /*right_pwm.pulsewidth_us( d ); - left_pwm.pulsewidth_us( d );*/ -} - -void move_b( float d ) -{ - right_P.write( 1 ); - right_N.write( 0 ); - left_P.write( 0 ); - left_N.write( 1 ); - right_pwm.write( d ); - left_pwm.write( d ); - /*right_pwm.pulsewidth_us( d ); - left_pwm.pulsewidth_us( d );*/ -} - -void turn_r( float d ) -{ - right_P.write( 0 ); - right_N.write( 1 ); - left_P.write( 0 ); - left_N.write( 1 ); - right_pwm.write( d ); - left_pwm.write( d ); - /*right_pwm.pulsewidth_us( d ); - left_pwm.pulsewidth_us( d );*/ -} - -void turn_l( float d ) -{ - right_P.write( 1 ); - right_N.write( 0 ); - left_P.write( 1 ); - left_N.write( 0 ); - right_pwm.write( d ); - left_pwm.write( d ); - /*right_pwm.pulsewidth_us( d ); - left_pwm.pulsewidth_us( d );*/ -} - -void stop( void ) -{ - right_P.write( 0 ); - right_N.write( 0 ); - left_P.write( 0 ); - left_N.write( 0 ); - right_pwm.write( 0 ); - left_pwm.write( 0 ); + //control_servo(); + qei(); } \ No newline at end of file