Пример #1
0
void Plane::demo_servos(uint8_t i) 
{
    while(i > 0) {
        gcs_send_text(MAV_SEVERITY_INFO,"Demo servos");
        demoing_servos = true;
        servo_write(1, 1400);
        hal.scheduler->delay(400);
        servo_write(1, 1600);
        hal.scheduler->delay(200);
        servo_write(1, 1500);
        demoing_servos = false;
        hal.scheduler->delay(400);
        i--;
    }
}
Пример #2
0
void Plane::demo_servos(uint8_t i)
{
    while(i > 0) {
        gcs_send_text_P(SEVERITY_LOW,PSTR("Demo Servos!"));
        demoing_servos = true;
        servo_write(1, 1400);
        hal.scheduler->delay(400);
        servo_write(1, 1600);
        hal.scheduler->delay(200);
        servo_write(1, 1500);
        demoing_servos = false;
        hal.scheduler->delay(400);
        i--;
    }
}
Пример #3
0
int		main()
{
    t_firmata	*firmata;
    t_servo	*servo;

    firmata = firmata_new("/dev/ttyACM99");
    while(!firmata->isReady)
        firmata_pull(firmata);
    sleep(1);
    servo = servo_attach(firmata, 3);
    int val = 10;
    while (1)
    {
        sleep(1);
        if (val++ == 180)
            val = 10;
        servo_write(servo, val);
    }
}
Пример #4
0
int8_t Plane::test_passthru(uint8_t argc, const Menu::arg *argv)
{
    print_hit_enter();
    hal.scheduler->delay(1000);

    while(1) {
        hal.scheduler->delay(20);

        // New radio frame? (we could use also if((millis()- timer) > 20)
        if (hal.rcin->new_input()) {
            cliSerial->print_P(PSTR("CH:"));
            for(int16_t i = 0; i < 8; i++) {
                cliSerial->print(hal.rcin->read(i));        // Print channel values
                print_comma();
                servo_write(i, hal.rcin->read(i)); // Copy input to Servos
            }
            cliSerial->println();
        }
        if (cliSerial->available() > 0) {
            return (0);
        }
    }
    return 0;
}