From 9f24c45502435052c07cc8ad02b9fa1f1dcd983a Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 5 Oct 2013 18:32:00 +1000 Subject: [PATCH] AP_HAL: removed separate Console class the idea of a separate console class was never really used, and just added confusion in a HAL port. It also consumes some much needed ram and flash space on APM2 --- libraries/AP_HAL/AP_HAL.h | 1 - libraries/AP_HAL/AP_HAL_Namespace.h | 1 - libraries/AP_HAL/Console.cpp | 61 ----------------------------- libraries/AP_HAL/Console.h | 31 --------------- libraries/AP_HAL/HAL.h | 5 +-- 5 files changed, 2 insertions(+), 97 deletions(-) delete mode 100644 libraries/AP_HAL/Console.cpp delete mode 100644 libraries/AP_HAL/Console.h diff --git a/libraries/AP_HAL/AP_HAL.h b/libraries/AP_HAL/AP_HAL.h index ba220164f0..bf1740cfe7 100644 --- a/libraries/AP_HAL/AP_HAL.h +++ b/libraries/AP_HAL/AP_HAL.h @@ -15,7 +15,6 @@ #include "SPIDriver.h" #include "AnalogIn.h" #include "Storage.h" -#include "Console.h" #include "GPIO.h" #include "RCInput.h" #include "RCOutput.h" diff --git a/libraries/AP_HAL/AP_HAL_Namespace.h b/libraries/AP_HAL/AP_HAL_Namespace.h index 6308ac49e3..2d8d18fd1f 100644 --- a/libraries/AP_HAL/AP_HAL_Namespace.h +++ b/libraries/AP_HAL/AP_HAL_Namespace.h @@ -20,7 +20,6 @@ namespace AP_HAL { class AnalogSource; class AnalogIn; class Storage; - class ConsoleDriver; class DigitalSource; class GPIO; class RCInput; diff --git a/libraries/AP_HAL/Console.cpp b/libraries/AP_HAL/Console.cpp deleted file mode 100644 index 2ee509ebaa..0000000000 --- a/libraries/AP_HAL/Console.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*- -/* - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - */ - -#include -#include "utility/print_vprintf.h" -#include "Console.h" - -/* - BetterStream method implementations - These are implemented in AP_HAL to ensure consistent behaviour on - all boards, although they can be overridden by a port - */ -void AP_HAL::ConsoleDriver::print_P(const prog_char_t *s) -{ - char c; - while ('\0' != (c = pgm_read_byte((const prog_char *)s++))) - write(c); -} - -void AP_HAL::ConsoleDriver::println_P(const prog_char_t *s) -{ - print_P(s); - println(); -} - -void AP_HAL::ConsoleDriver::printf(const char *fmt, ...) { - va_list ap; - va_start(ap, fmt); - vprintf(fmt, ap); - va_end(ap); -} - -void AP_HAL::ConsoleDriver::_printf_P(const prog_char *fmt, ...) { - va_list ap; - va_start(ap, fmt); - vprintf_P(fmt, ap); - va_end(ap); -} - -void AP_HAL::ConsoleDriver::vprintf(const char *fmt, va_list ap) -{ - print_vprintf((AP_HAL::Print*)this, 0, fmt, ap); -} - -void AP_HAL::ConsoleDriver::vprintf_P(const prog_char *fmt, va_list ap) -{ - print_vprintf((AP_HAL::Print*)this, 1, fmt, ap); -} diff --git a/libraries/AP_HAL/Console.h b/libraries/AP_HAL/Console.h deleted file mode 100644 index 745333584d..0000000000 --- a/libraries/AP_HAL/Console.h +++ /dev/null @@ -1,31 +0,0 @@ - -#ifndef __AP_HAL_CONSOLE_DRIVER_H__ -#define __AP_HAL_CONSOLE_DRIVER_H__ - -#include "AP_HAL_Namespace.h" - -class AP_HAL::ConsoleDriver : public AP_HAL::BetterStream { -public: - virtual void init(void*implspecific) = 0; - virtual void backend_open() = 0; - virtual void backend_close() = 0; - virtual size_t backend_read(uint8_t *data, size_t len) = 0; - virtual size_t backend_write(const uint8_t *data, size_t len) = 0; - - - /* Implementations of BetterStream virtual methods. These are - * provided by AP_HAL to ensure consistency between ports to - * different boards - */ - void print_P(const prog_char_t *s); - void println_P(const prog_char_t *s); - void printf(const char *s, ...) - __attribute__ ((format(__printf__, 2, 3))); - void _printf_P(const prog_char *s, ...) - __attribute__ ((format(__printf__, 2, 3))); - - void vprintf(const char *s, va_list ap); - void vprintf_P(const prog_char *s, va_list ap); -}; - -#endif // __AP_HAL_CONSOLE_DRIVER_H__ diff --git a/libraries/AP_HAL/HAL.h b/libraries/AP_HAL/HAL.h index 2ea06f2a9a..8a0a6deb34 100644 --- a/libraries/AP_HAL/HAL.h +++ b/libraries/AP_HAL/HAL.h @@ -8,7 +8,6 @@ #include "../AP_HAL/SPIDriver.h" #include "../AP_HAL/AnalogIn.h" #include "../AP_HAL/Storage.h" -#include "../AP_HAL/Console.h" #include "../AP_HAL/GPIO.h" #include "../AP_HAL/RCInput.h" #include "../AP_HAL/RCOutput.h" @@ -22,7 +21,7 @@ public: AP_HAL::SPIDeviceManager* _spi, AP_HAL::AnalogIn* _analogin, AP_HAL::Storage* _storage, - AP_HAL::ConsoleDriver* _console, + AP_HAL::UARTDriver* _console, AP_HAL::GPIO* _gpio, AP_HAL::RCInput* _rcin, AP_HAL::RCOutput* _rcout, @@ -53,7 +52,7 @@ public: AP_HAL::SPIDeviceManager* spi; AP_HAL::AnalogIn* analogin; AP_HAL::Storage* storage; - AP_HAL::ConsoleDriver* console; + AP_HAL::UARTDriver* console; AP_HAL::GPIO* gpio; AP_HAL::RCInput* rcin; AP_HAL::RCOutput* rcout;