Browse Source

AP_HAL_ChibiOS: make available/available_locked consistent with read/read_locked

apm_2208
Andy Piper 3 years ago committed by Andrew Tridgell
parent
commit
81aa5b9dc6
  1. 27
      libraries/AP_HAL_ChibiOS/UARTDriver.cpp

27
libraries/AP_HAL_ChibiOS/UARTDriver.cpp

@ -665,20 +665,12 @@ uint32_t UARTDriver::get_usb_baud() const @@ -665,20 +665,12 @@ uint32_t UARTDriver::get_usb_baud() const
return 0;
}
/* Empty implementations of Stream virtual methods */
uint32_t UARTDriver::available() {
if (!_rx_initialised || lock_read_key) {
if (!_rx_initialised || _uart_owner_thd != chThdGetSelfX()) {
return 0;
}
if (sdef.is_usb) {
#ifdef HAVE_USB_SERIAL
if (((SerialUSBDriver*)sdef.serial)->config->usbp->state != USB_ACTIVE) {
return 0;
}
#endif
}
return _readbuf.available();
return UARTDriver::available_locked(0);
}
uint32_t UARTDriver::available_locked(uint32_t key)
@ -746,22 +738,11 @@ ssize_t UARTDriver::read(uint8_t *buffer, uint16_t count) @@ -746,22 +738,11 @@ ssize_t UARTDriver::read(uint8_t *buffer, uint16_t count)
int16_t UARTDriver::read()
{
if (lock_read_key != 0 || _uart_owner_thd != chThdGetSelfX()){
if (_uart_owner_thd != chThdGetSelfX()) {
return -1;
}
if (!_rx_initialised) {
return -1;
}
uint8_t byte;
if (!_readbuf.read_byte(&byte)) {
return -1;
}
if (!_rts_is_active) {
update_rts_line();
}
return byte;
return UARTDriver::read_locked(0);
}
int16_t UARTDriver::read_locked(uint32_t key)

Loading…
Cancel
Save