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--; } }
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--; } }
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); } }
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; }