mbed library sources. Supersedes mbed-src. Fixed broken STM32F1xx RTC on rtc_api.c
Dependents: Nucleo_F103RB_RTC_battery_bkup_pwr_off_okay
Fork of mbed-dev by
Diff: drivers/UARTSerial.h
- Revision:
- 168:9672193075cf
- Parent:
- 167:e84263d55307
- Child:
- 170:19eb464bc2be
--- a/drivers/UARTSerial.h Wed Jun 21 17:46:44 2017 +0100 +++ b/drivers/UARTSerial.h Thu Jul 06 15:42:05 2017 +0100 @@ -19,7 +19,7 @@ #include "platform/platform.h" -#if DEVICE_SERIAL +#if (DEVICE_SERIAL && DEVICE_INTERRUPTIN) || defined(DOXYGEN_ONLY) #include "FileHandle.h" #include "SerialBase.h" @@ -27,6 +27,7 @@ #include "PlatformMutex.h" #include "serial_api.h" #include "CircularBuffer.h" +#include "platform/NonCopyable.h" #ifndef MBED_CONF_DRIVERS_UART_SERIAL_RXBUF_SIZE #define MBED_CONF_DRIVERS_UART_SERIAL_RXBUF_SIZE 256 @@ -38,7 +39,7 @@ namespace mbed { -class UARTSerial : private SerialBase, public FileHandle { +class UARTSerial : private SerialBase, public FileHandle, private NonCopyable<UARTSerial> { public: @@ -58,7 +59,7 @@ /** Write the contents of a buffer to a file * * @param buffer The buffer to write from - * @param size The number of bytes to write + * @param length The number of bytes to write * @return The number of bytes written, negative error on failure */ virtual ssize_t write(const void* buffer, size_t length); @@ -72,17 +73,11 @@ * * If any data is available, call returns immediately * * @param buffer The buffer to read in to - * @param size The number of bytes to read + * @param length The number of bytes to read * @return The number of bytes read, 0 at end of file, negative error on failure */ virtual ssize_t read(void* buffer, size_t length); - /** Acquire mutex */ - virtual void lock(void); - - /** Release mutex */ - virtual void unlock(void); - /** Close a file * * @return 0 on success, negative error code on failure @@ -159,6 +154,18 @@ private: + /** SerialBase lock override */ + virtual void lock(void); + + /** SerialBase unlock override */ + virtual void unlock(void); + + /** Acquire mutex */ + virtual void api_lock(void); + + /** Release mutex */ + virtual void api_unlock(void); + /** Software serial buffers * By default buffer size is 256 for TX and 256 for RX. Configurable through mbed_app.json */ @@ -191,8 +198,9 @@ void wake(void); void dcd_irq(void); + }; } //namespace mbed -#endif //DEVICE_SERIAL +#endif //(DEVICE_SERIAL && DEVICE_INTERRUPTIN) || defined(DOXYGEN_ONLY) #endif //MBED_UARTSERIAL_H