mbed library sources
Dependents: Freedman_v2 Nucleo_i2c_OLED_BME280_copy
Fork of mbed-src by
Diff: api/BusOut.h
- Revision:
- 455:8bc3a354916d
- Parent:
- 212:34d62c0b2af6
diff -r a07e52520545 -r 8bc3a354916d api/BusOut.h --- a/api/BusOut.h Tue Jan 27 07:15:07 2015 +0000 +++ b/api/BusOut.h Tue Jan 27 13:30:08 2015 +0000 @@ -56,12 +56,26 @@ */ int read(); + /** Binary mask of bus pins connected to actual pins (not NC pins) + * If bus pin is in NC state make corresponding bit will be cleared (set to 0), else bit will be set to 1 + * + * @returns + * Binary mask of connected pins + */ + int mask() { + return _nc_mask; + } + #ifdef MBED_OPERATORS /** A shorthand for write() */ BusOut& operator= (int v); BusOut& operator= (BusOut& rhs); + /** Access to particular bit in random-iterator fashion + */ + DigitalOut& operator[] (int index); + /** A shorthand for read() */ operator int(); @@ -70,6 +84,12 @@ protected: DigitalOut* _pin[16]; + /** Mask of bus's NC pins + * If bit[n] is set to 1 - pin is connected + * if bit[n] is cleared - pin is not connected (NC) + */ + int _nc_mask; + /* disallow copy constructor and assignment operators */ private: BusOut(const BusOut&);