mirror of https://github.com/ArduPilot/ardupilot
34 lines
683 B
C++
34 lines
683 B
C++
#include "BetterStream.h"
|
|
|
|
#include "print_vprintf.h"
|
|
|
|
void AP_HAL::BetterStream::printf(const char *fmt, ...)
|
|
{
|
|
va_list ap;
|
|
va_start(ap, fmt);
|
|
vprintf(fmt, ap);
|
|
va_end(ap);
|
|
}
|
|
|
|
void AP_HAL::BetterStream::vprintf(const char *fmt, va_list ap)
|
|
{
|
|
print_vprintf(this, fmt, ap);
|
|
}
|
|
|
|
size_t AP_HAL::BetterStream::write(const char *str)
|
|
{
|
|
return write((const uint8_t *)str, strlen(str));
|
|
}
|
|
|
|
ssize_t AP_HAL::BetterStream::read(uint8_t *buffer, uint16_t count) {
|
|
uint16_t offset = 0;
|
|
while (count--) {
|
|
const int16_t x = read();
|
|
if (x == -1) {
|
|
return offset;
|
|
}
|
|
buffer[offset++] = (uint8_t)x;
|
|
}
|
|
return offset;
|
|
}
|