mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-21 07:13:56 -04:00
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
This commit is contained in:
parent
39bfd809c2
commit
9f24c45502
@ -15,7 +15,6 @@
|
|||||||
#include "SPIDriver.h"
|
#include "SPIDriver.h"
|
||||||
#include "AnalogIn.h"
|
#include "AnalogIn.h"
|
||||||
#include "Storage.h"
|
#include "Storage.h"
|
||||||
#include "Console.h"
|
|
||||||
#include "GPIO.h"
|
#include "GPIO.h"
|
||||||
#include "RCInput.h"
|
#include "RCInput.h"
|
||||||
#include "RCOutput.h"
|
#include "RCOutput.h"
|
||||||
|
@ -20,7 +20,6 @@ namespace AP_HAL {
|
|||||||
class AnalogSource;
|
class AnalogSource;
|
||||||
class AnalogIn;
|
class AnalogIn;
|
||||||
class Storage;
|
class Storage;
|
||||||
class ConsoleDriver;
|
|
||||||
class DigitalSource;
|
class DigitalSource;
|
||||||
class GPIO;
|
class GPIO;
|
||||||
class RCInput;
|
class RCInput;
|
||||||
|
@ -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 <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <AP_HAL.h>
|
|
||||||
#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);
|
|
||||||
}
|
|
@ -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__
|
|
@ -8,7 +8,6 @@
|
|||||||
#include "../AP_HAL/SPIDriver.h"
|
#include "../AP_HAL/SPIDriver.h"
|
||||||
#include "../AP_HAL/AnalogIn.h"
|
#include "../AP_HAL/AnalogIn.h"
|
||||||
#include "../AP_HAL/Storage.h"
|
#include "../AP_HAL/Storage.h"
|
||||||
#include "../AP_HAL/Console.h"
|
|
||||||
#include "../AP_HAL/GPIO.h"
|
#include "../AP_HAL/GPIO.h"
|
||||||
#include "../AP_HAL/RCInput.h"
|
#include "../AP_HAL/RCInput.h"
|
||||||
#include "../AP_HAL/RCOutput.h"
|
#include "../AP_HAL/RCOutput.h"
|
||||||
@ -22,7 +21,7 @@ public:
|
|||||||
AP_HAL::SPIDeviceManager* _spi,
|
AP_HAL::SPIDeviceManager* _spi,
|
||||||
AP_HAL::AnalogIn* _analogin,
|
AP_HAL::AnalogIn* _analogin,
|
||||||
AP_HAL::Storage* _storage,
|
AP_HAL::Storage* _storage,
|
||||||
AP_HAL::ConsoleDriver* _console,
|
AP_HAL::UARTDriver* _console,
|
||||||
AP_HAL::GPIO* _gpio,
|
AP_HAL::GPIO* _gpio,
|
||||||
AP_HAL::RCInput* _rcin,
|
AP_HAL::RCInput* _rcin,
|
||||||
AP_HAL::RCOutput* _rcout,
|
AP_HAL::RCOutput* _rcout,
|
||||||
@ -53,7 +52,7 @@ public:
|
|||||||
AP_HAL::SPIDeviceManager* spi;
|
AP_HAL::SPIDeviceManager* spi;
|
||||||
AP_HAL::AnalogIn* analogin;
|
AP_HAL::AnalogIn* analogin;
|
||||||
AP_HAL::Storage* storage;
|
AP_HAL::Storage* storage;
|
||||||
AP_HAL::ConsoleDriver* console;
|
AP_HAL::UARTDriver* console;
|
||||||
AP_HAL::GPIO* gpio;
|
AP_HAL::GPIO* gpio;
|
||||||
AP_HAL::RCInput* rcin;
|
AP_HAL::RCInput* rcin;
|
||||||
AP_HAL::RCOutput* rcout;
|
AP_HAL::RCOutput* rcout;
|
||||||
|
Loading…
Reference in New Issue
Block a user