X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fcobboard%2Fshovel.c;h=6d71e5876834f256d7a16fcc3c2cbbc1472874bf;hp=39ce2bc33de99dc4e185c7e17844196d44861ee6;hb=fa8546ea39c7442ad3bf5a822a72a2b50a41045d;hpb=a33ceba76b3770d48c68a321b5d259893ddc613c diff --git a/projects/microb2010/cobboard/shovel.c b/projects/microb2010/cobboard/shovel.c index 39ce2bc..6d71e58 100644 --- a/projects/microb2010/cobboard/shovel.c +++ b/projects/microb2010/cobboard/shovel.c @@ -40,14 +40,38 @@ #include #include "main.h" +#include "shovel.h" /* init spickle position at beginning */ static void shovel_autopos(void) { + printf_P(PSTR("shovel autopos...")); pwm_ng_set(SHOVEL_PWM, -500); wait_ms(1000); pwm_ng_set(LEFT_SPICKLE_PWM, 0); encoders_spi_set_value(SHOVEL_ENCODER, 0); + printf_P(PSTR("ok\r\n")); +} + +static uint8_t shovel_is_at_pos(int32_t pos) +{ + int32_t diff; + diff = pos - encoders_spi_get_value(SHOVEL_ENCODER); + if (diff < 0) + diff = -diff; + if (diff < 500) + return 1; + return 0; +} + +uint8_t shovel_is_up(void) +{ + return shovel_is_at_pos(SHOVEL_UP); +} + +uint8_t shovel_is_down(void) +{ + return shovel_is_at_pos(SHOVEL_DOWN); } void shovel_init(void)