Error as described in MBs email to MS
Dependencies: SDFileSystem app epson mbed msp430 pl tests
mcp23s17.cpp@1:5874c1a074a7, 2018-01-11 (annotated)
- Committer:
- marcbax
- Date:
- Thu Jan 11 14:12:00 2018 +0000
- Revision:
- 1:5874c1a074a7
- Parent:
- 0:c643d398cdb6
Version 180111a with error as reported to Mark Symonds
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
marcbax | 0:c643d398cdb6 | 1 | // |
marcbax | 0:c643d398cdb6 | 2 | // Filename: mcp23s17.cpp |
marcbax | 0:c643d398cdb6 | 3 | // |
marcbax | 0:c643d398cdb6 | 4 | // Flexbook Hardware Abstraction Layer. |
marcbax | 0:c643d398cdb6 | 5 | // |
marcbax | 0:c643d398cdb6 | 6 | |
marcbax | 0:c643d398cdb6 | 7 | #include "mcp23s17.h" |
marcbax | 0:c643d398cdb6 | 8 | |
marcbax | 0:c643d398cdb6 | 9 | namespace HAL { |
marcbax | 0:c643d398cdb6 | 10 | |
marcbax | 0:c643d398cdb6 | 11 | MCP23S17::MCP23S17(int addressin, SPI &spiin, DigitalOut &csin) |
marcbax | 0:c643d398cdb6 | 12 | : address(addressin), spi(spiin), cs(csin) |
marcbax | 0:c643d398cdb6 | 13 | { |
marcbax | 0:c643d398cdb6 | 14 | spi.format(8, 1); |
marcbax | 0:c643d398cdb6 | 15 | } |
marcbax | 0:c643d398cdb6 | 16 | |
marcbax | 0:c643d398cdb6 | 17 | int MCP23S17::Read(REG_MCP23S17 reg) |
marcbax | 0:c643d398cdb6 | 18 | { |
marcbax | 0:c643d398cdb6 | 19 | cs = 0; |
marcbax | 0:c643d398cdb6 | 20 | spi.write(address | 0x41); |
marcbax | 0:c643d398cdb6 | 21 | spi.write(reg); |
marcbax | 0:c643d398cdb6 | 22 | int data = spi.write(0x00); // Write dummy value to read. |
marcbax | 0:c643d398cdb6 | 23 | cs = 1; |
marcbax | 0:c643d398cdb6 | 24 | |
marcbax | 0:c643d398cdb6 | 25 | return data; |
marcbax | 0:c643d398cdb6 | 26 | } |
marcbax | 0:c643d398cdb6 | 27 | |
marcbax | 0:c643d398cdb6 | 28 | void MCP23S17::Write(REG_MCP23S17 reg, int value) |
marcbax | 0:c643d398cdb6 | 29 | { |
marcbax | 0:c643d398cdb6 | 30 | cs = 0; |
marcbax | 0:c643d398cdb6 | 31 | spi.write(address | 0x40); |
marcbax | 0:c643d398cdb6 | 32 | spi.write(reg); |
marcbax | 0:c643d398cdb6 | 33 | spi.write(value); |
marcbax | 0:c643d398cdb6 | 34 | cs = 1; |
marcbax | 0:c643d398cdb6 | 35 | } |
marcbax | 0:c643d398cdb6 | 36 | |
marcbax | 0:c643d398cdb6 | 37 | } // End HAL namespace. |
marcbax | 0:c643d398cdb6 | 38 |