Browse Source

HAL_SITL: implement a dummy buffered write

master
Andrew Tridgell 12 years ago
parent
commit
c035eef845
  1. 3
      libraries/AP_HAL_AVR_SITL/Console.cpp
  2. 1
      libraries/AP_HAL_AVR_SITL/Console.h
  3. 9
      libraries/AP_HAL_AVR_SITL/UARTDriver.cpp
  4. 1
      libraries/AP_HAL_AVR_SITL/UARTDriver.h

3
libraries/AP_HAL_AVR_SITL/Console.cpp

@ -59,5 +59,8 @@ size_t SITLConsoleDriver::write(uint8_t c) @@ -59,5 +59,8 @@ size_t SITLConsoleDriver::write(uint8_t c)
return _base_uart->write(c);
}
size_t SITLConsoleDriver::write(const uint8_t *buffer, size_t size) {
return _base_uart->write(buffer, size);
}
#endif

1
libraries/AP_HAL_AVR_SITL/Console.h

@ -24,6 +24,7 @@ public: @@ -24,6 +24,7 @@ public:
/* Implementations of Print virtual methods */
size_t write(uint8_t c);
size_t write(const uint8_t *buffer, size_t size);
private:
AP_HAL::UARTDriver* _base_uart;

9
libraries/AP_HAL_AVR_SITL/UARTDriver.cpp

@ -174,6 +174,15 @@ size_t SITLUARTDriver::write(uint8_t c) @@ -174,6 +174,15 @@ size_t SITLUARTDriver::write(uint8_t c)
return send(_fd, &c, 1, flags);
}
size_t SITLUARTDriver::write(const uint8_t *buffer, size_t size)
{
size_t n = 0;
while (size--) {
n += write(*buffer++);
}
return n;
}
/*
start a TCP connection for the serial port. If wait_for_connection
is true then block until a client connects

1
libraries/AP_HAL_AVR_SITL/UARTDriver.h

@ -46,6 +46,7 @@ public: @@ -46,6 +46,7 @@ public:
/* Implementations of Print virtual methods */
size_t write(uint8_t c);
size_t write(const uint8_t *buffer, size_t size);
// file descriptor, exposed so SITL_State::loop_hook() can use it
int _fd;

Loading…
Cancel
Save