X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fcobboard%2Fspickle.c;h=058a7b71ce74fe125e8202f656f6005dac84c352;hp=741c103155e48826dbb383c573ca6b2f363b19e7;hb=ad6e9ce0b9c0186038fefec49f80a15d9b76e178;hpb=d23a4fdeed4e90d004d407942b230c188d012465 diff --git a/projects/microb2010/cobboard/spickle.c b/projects/microb2010/cobboard/spickle.c index 741c103..058a7b7 100644 --- a/projects/microb2010/cobboard/spickle.c +++ b/projects/microb2010/cobboard/spickle.c @@ -66,7 +66,7 @@ static struct spickle_params spickle = { .sk1 = 1000, .sk2 = 20, .wk1 = 200, - .wk2 = 20, + .wk2 = 5, .csb = { &cobboard.left_spickle, &cobboard.right_spickle, @@ -203,6 +203,21 @@ static uint8_t spickle_is_at_pos(uint8_t side, int32_t pos) return 0; } +static void spickle_set_qr(uint8_t side) +{ + struct quadramp_filter *qr; + + if (side == I2C_LEFT_SIDE) + qr = &cobboard.left_spickle.qr; + else + qr = &cobboard.right_spickle.qr; + + if (state_spicklemode_weak(side)) + quadramp_set_1st_order_vars(qr, 700, 700); /* set speed */ + else + quadramp_set_1st_order_vars(qr, 3000, 3000); /* set speed */ +} + uint8_t spickle_is_packed(uint8_t side) { return spickle_is_at_pos(side, spickle.pos_packed[side]); @@ -215,16 +230,19 @@ uint8_t spickle_is_deployed(uint8_t side) void spickle_deploy(uint8_t side) { + spickle_set_qr(side); cs_set_consign(&spickle.csb[side]->cs, spickle.pos_deployed[side]); } void spickle_mid(uint8_t side) { + spickle_set_qr(side); cs_set_consign(&spickle.csb[side]->cs, spickle.pos_mid[side]); } void spickle_pack(uint8_t side) { + spickle_set_qr(side); cs_set_consign(&spickle.csb[side]->cs, spickle.pos_packed[side]); }