#include #include #include #include #include #include #include #include #include // ArduPilot GPS library #include // ArduPilot Mega Analog to Digital Converter Library #include #include #include // ArduPilot Mega Magnetometer Library #include // ArduPilot Mega Vector/Matrix math Library #include // Curve used to linearlise throttle pwm to thrust #include // ArduPilot Mega Inertial Sensor (accel & gyro) Library // (only included for makefile libpath to work) #include #include // PI library #include // PID library #include // RC Channel Library #include // AP Motors library #include #include // Range finder library #include // Optical Flow library #include // Filter library #include // APM FIFO Buffer #include // APM relay #include // Photo or video camera #include // Camera/Antenna mount #include // needed for AHRS build #include // needed for AHRS build #include #include #include // ArduPilot Mega inertial navigation library #include #include #if CONFIG_HAL_BOARD == HAL_BOARD_APM2 const AP_HAL::HAL& hal = AP_HAL_AVR_APM2; #elif CONFIG_HAL_BOARD == HAL_BOARD_APM1 const AP_HAL::HAL& hal = AP_HAL_AVR_APM1; #endif void stream_loopback(AP_HAL::Stream* s, uint32_t time) { uint32_t end = hal.scheduler->millis() + time; for(;;) { if (hal.scheduler->millis() >= end && time != 0) { return; } if (s->available() > 0) { int c; c = s->read(); if (-1 != c) { s->write((uint8_t)c); } } } } void setup(void) { // // Test printing things // hal.console->print("test"); hal.console->println(" begin"); hal.console->println(1000); hal.console->println(1000, 8); hal.console->println(1000, 10); hal.console->println(1000, 16); hal.console->println_P(PSTR("progmem")); hal.console->printf("printf %d %u %#x %p %f %S\n", -1000, 1000, 1000, 1000, 1.2345, PSTR("progmem")); hal.console->printf_P(PSTR("printf_P %d %u %#x %p %f %S\n"), -1000, 1000, 1000, 1000, 1.2345, PSTR("progmem")); hal.console->println("done."); for(;;); } void loop(void){} AP_HAL_MAIN();