X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fcobboard%2Factuator.c;h=8a15ca941e3f46293d671801a2123589d4813917;hp=79f91cd8cd091b304a2f315298afbc05d7dadf23;hb=aa68be2d5d596693bda1109e4ccd6489f613b4f7;hpb=0c4732c1e255ea56aa766b772dfdb6be49620830 diff --git a/projects/microb2010/cobboard/actuator.c b/projects/microb2010/cobboard/actuator.c index 79f91cd..8a15ca9 100644 --- a/projects/microb2010/cobboard/actuator.c +++ b/projects/microb2010/cobboard/actuator.c @@ -1,6 +1,6 @@ -/* +/* * Copyright Droids Corporation (2009) - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -45,17 +45,19 @@ #include "main.h" #include "actuator.h" -#define COBROLLER_SPEED 800 +#define COBROLLER_SPEED 1200 +//#define COBROLLER_SPEED 600 //#define COBROLLER_SPEED 400 -#define SERVO_DOOR_OPEN 260 -#define SERVO_DOOR_CLOSED 490 +#define SERVO_DOOR_OPEN 300 +#define SERVO_DOOR_CLOSED 530 +#define SERVO_DOOR_BLOCK 530 -#define SERVO_CARRY_L_OPEN 280 -#define SERVO_CARRY_L_CLOSED 510 +#define SERVO_CARRY_L_OPEN 295 +#define SERVO_CARRY_L_CLOSED 440//400 // 510 -#define SERVO_CARRY_R_OPEN 470 -#define SERVO_CARRY_R_CLOSED 250 +#define SERVO_CARRY_R_OPEN 455 +#define SERVO_CARRY_R_CLOSED 310//350 // 250 void actuator_init(void); @@ -81,27 +83,37 @@ void servo_door_close(void) pwm_ng_set(SERVO_DOOR_PWM, SERVO_DOOR_CLOSED); } -void left_cobroller_on(void) +void servo_door_block(void) { - cobboard.left_cobroller_speed = COBROLLER_SPEED; + pwm_ng_set(SERVO_DOOR_PWM, SERVO_DOOR_BLOCK); } -void right_cobroller_on(void) +void cobroller_on(uint8_t side) { - cobboard.right_cobroller_speed = COBROLLER_SPEED; + if (side == I2C_LEFT_SIDE) + cobboard.left_cobroller_speed = COBROLLER_SPEED; + else + cobboard.right_cobroller_speed = -COBROLLER_SPEED; } -void left_cobroller_off(void) +void cobroller_off(uint8_t side) { - cobboard.left_cobroller_speed = 0; + if (side == I2C_LEFT_SIDE) + cobboard.left_cobroller_speed = 0; + else + cobboard.right_cobroller_speed = 0; } -void right_cobroller_off(void) +void cobroller_reverse(uint8_t side) { - cobboard.right_cobroller_speed = 0; + if (side == I2C_LEFT_SIDE) + cobboard.left_cobroller_speed = -COBROLLER_SPEED; + else + cobboard.right_cobroller_speed = COBROLLER_SPEED; } void actuator_init(void) { - + servo_door_open(); + servo_carry_open(); }