-
-
Notifications
You must be signed in to change notification settings - Fork 217
Open
Description
MbedSPI and MbedI2C methods are declared as virtual methods.
However the UART methods are not.
Since we want to create our own driver by inheriting from UART, it would be nice if the UART methods were also declared as virtual methods.
ArduinoCore-mbed/libraries/Wire/Wire.h
Lines 34 to 68 in 1399d64
| class MbedI2C : public HardwareI2C | |
| { | |
| public: | |
| MbedI2C(int sda, int scl); | |
| MbedI2C(PinName sda, PinName scl); | |
| virtual void begin(); | |
| #ifndef DEVICE_I2CSLAVE | |
| virtual void __attribute__ ((error("I2C Slave mode is not supported"))) begin(uint8_t address); | |
| #else | |
| virtual void begin(uint8_t address); | |
| #endif | |
| virtual void end(); | |
| virtual void setClock(uint32_t freq); | |
| virtual void beginTransmission(uint8_t address); | |
| virtual uint8_t endTransmission(bool stopBit); | |
| virtual uint8_t endTransmission(void); | |
| virtual size_t requestFrom(uint8_t address, size_t len, bool stopBit); | |
| virtual size_t requestFrom(uint8_t address, size_t len); | |
| virtual void onReceive(void(*)(int)); | |
| virtual void onRequest(void(*)(void)); | |
| virtual size_t write(uint8_t data); | |
| virtual size_t write(int data) { | |
| return write ((uint8_t)data); | |
| }; | |
| virtual size_t write(const uint8_t* data, int len); | |
| using Print::write; | |
| virtual int read(); | |
| virtual int peek(); | |
| virtual void flush(); | |
| virtual int available(); |
ArduinoCore-mbed/libraries/SPI/SPI.h
Lines 28 to 48 in 1399d64
| class MbedSPI : public SPIClass | |
| { | |
| public: | |
| MbedSPI(int miso, int mosi, int sck); | |
| MbedSPI(PinName miso, PinName mosi, PinName sck); | |
| virtual uint8_t transfer(uint8_t data); | |
| virtual uint16_t transfer16(uint16_t data); | |
| virtual void transfer(void *buf, size_t count); | |
| // Transaction Functions | |
| virtual void usingInterrupt(int interruptNumber); | |
| virtual void notUsingInterrupt(int interruptNumber); | |
| virtual void beginTransaction(SPISettings settings); | |
| virtual void endTransaction(void); | |
| // SPI Configuration methods | |
| virtual void attachInterrupt(); | |
| virtual void detachInterrupt(); | |
| virtual void begin(); | |
| virtual void end(); |
ArduinoCore-mbed/cores/arduino/Serial.h
Lines 39 to 67 in 1399d64
| class UART : public HardwareSerial { | |
| public: | |
| UART(int tx, int rx, int rts = -1, int cts = -1); | |
| UART(PinName tx, PinName rx, PinName rts = NC, PinName cts = NC) : _tx(tx), _rx(rx), _rts(rts), _cts(cts) {} | |
| UART() { | |
| is_usb = true; | |
| } | |
| void begin(unsigned long); | |
| void begin(unsigned long baudrate, uint16_t config); | |
| void begin(unsigned long baudrate, uint16_t config, bool no_rx_pullup); | |
| void end(); | |
| int available(void); | |
| int peek(void); | |
| int read(void); | |
| void flush(void); | |
| size_t write(uint8_t c); | |
| size_t write(const uint8_t*, size_t); | |
| using Print::write; // pull in write(str) and write(buf, size) from Print | |
| operator bool(); | |
| operator mbed::FileHandle*(); // exposes the internal mbed object | |
| #if defined(SERIAL_CDC) | |
| uint32_t baud(); | |
| uint8_t stopbits(); | |
| uint8_t paritytype(); | |
| uint8_t numbits(); | |
| bool dtr(); | |
| bool rts(); | |
| #endif |
Metadata
Metadata
Assignees
Labels
No labels