Example #1
0
void brain_ctrl(int16_t speed, int16_t dir)
{
    if ((speed > 0) && front_blocked) {
        motor_stop(&mot);
        return;
    }
    if ((speed < 0) && back_blocked) {
        motor_stop(&mot);
        return;
    }
    brain_set_speed(speed);
    brain_steer(dir);
}
Example #2
0
void brain_ctrl(int16_t speed, int16_t dir)
{
    printf("[brain] CTRL set speed %i and dir %i\n", speed, dir);
    if ((speed > 0) && front_blocked) {
        motor_stop(&mot);
        printf("[brain] CTRL FRONT BLOCKED\n");
        return;
    }
    if ((speed < 0) && back_blocked) {
        motor_stop(&mot);
        printf("[brain] CTRL BACK BLOCKED\n");
        return;
    }
    brain_set_speed(speed);
    brain_steer(dir);
}
Example #3
0
static int _speed(int argc, char **argv)
{
    int16_t speed;

    if (argc < 2) {
        printf("usage: %s SPEED [-1024 to 1023]\n", argv[0]);
        return 1;
    }

    speed = (int16_t)atoi(argv[1]);
    if (speed < -0x03ff || speed > 0x03ff) {
        puts("speed value out of range\n");
        return 1;
    }
    brain_set_speed(speed);
    return 0;
}