Added support for banked registers
Dependents: Component_Test_Interface FalconWing MX_Spoile_Test Simple_Power_Distribution ... more
Revision 2:2d4ee919e8a7, committed 2010-12-20
- Comitter:
- wim
- Date:
- Mon Dec 20 16:04:04 2010 +0000
- Parent:
- 1:e2edbd61f4d0
- Child:
- 3:72da9cd002bd
- Commit message:
Changed in this revision
| MCP23017.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/MCP23017.h Mon Dec 20 15:53:38 2010 +0000
+++ b/MCP23017.h Mon Dec 20 16:04:04 2010 +0000
@@ -50,24 +50,71 @@
class MCP23017 {
public:
+ /** Create an MCP23017 object connected to the specified I2C object and using the specified deviceAddress
+ *
+ * @param I2C &i2c the I2C port to connect to
+ * @param char deviceAddress the address of the MSC23017
+ */
MCP23017(I2C &i2c, char deviceAddress);
+
+ /** Set I/O direction of specified MCP23017 Port
+ *
+ * @param Port Port address (Port_A or Port_B)
+ * @param char direction pin direction (0 = output, 1 = input)
+ */
void direction(Port port, char direction);
+
+ /** Set Pull-Up Resistors on specified MCP23017 Port
+ *
+ * @param Port Port address (Port_A or Port_B)
+ * @param char offOrOn per pin (0 = off, 1 = on)
+ */
void configurePullUps(Port port, char offOrOn);
+
void interruptEnable(Port port, char interruptsEnabledMask);
void interruptPolarity(Polarity polarity);
void mirrorInterrupts(bool mirror);
void defaultValue(Port port, char valuesToCompare);
void interruptControl(Port port, char interruptControlBits);
+
+ /** Read from specified MCP23017 Port
+ *
+ * @param Port Port address (Port_A or Port_B)
+ * @returns data from Port
+ */
char read(Port port);
+
+ /** Write to specified MCP23017 Port
+ *
+ * @param Port Port address (Port_A or Port_B)
+ * @param char byte data to write
+ */
void write(Port port, char byte);
protected:
I2C &_i2c;
- void _init();
- void _write(char address, char byte);
- char _read(char address);
char _readOpcode;
char _writeOpcode;
+
+ /** Init MCP23017
+ *
+ * @param
+ * @returns
+ */
+ void _init();
+
+ /** Write to specified MCP23017 register
+ *
+ * @param char address the internal registeraddress of the MSC23017
+ */
+ void _write(char address, char byte);
+
+ /** Read from specified MCP23017 register
+ *
+ * @param char address the internal registeraddress of the MSC23017
+ * @returns data from register
+ */
+ char _read(char address);
};
#endif
\ No newline at end of file
MCP2317 I2C 16 bit I/O expander