Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: MCP/MCP.cpp
- Revision:
- 2:32d2cd7d744b
- Parent:
- 1:5b0303768126
--- a/MCP/MCP.cpp Tue Jan 21 11:10:33 2020 +0000
+++ b/MCP/MCP.cpp Thu Jan 23 09:16:38 2020 +0000
@@ -6,7 +6,7 @@
:i2c(sda, scl), mcp(i2c, device_address)
{
_iodir_data.all = 0xffff;
- _pull_data.all = 0x0000;
+ _pull_data.all = 0xffff;
_read_data.all = 0x0000;
_write_data.all = 0x0000;
}
@@ -37,14 +37,20 @@
return (_read_data.all >> pin) & 0x01;
}
-void MCP::Update(void)
-{
+void MCP::Update(void) {
+ char data[2] = {GPPUA, 0xff};
+ int lost = i2c.write(0x40, data, 2);
+ if(lost) {
+ i2c.start();
+ }
mcp.direction(PORT_A, _iodir_data.port.port_A);
mcp.direction(PORT_B, _iodir_data.port.port_B);
mcp.configurePullUps(PORT_A, _pull_data.port.port_A);
mcp.configurePullUps(PORT_B, _pull_data.port.port_B);
_read_data.port.port_A = mcp.read(PORT_A);
_read_data.port.port_B = mcp.read(PORT_B);
- // mcp.write(PORT_A, _write_data.port_A);
- // mcp.write(PORT_B, _write_data.port_B);
+ mcp.write(PORT_A, _write_data.port.port_A);
+ mcp.write(PORT_B, _write_data.port.port_B);
+
}
+
\ No newline at end of file