make it volatile

This commit is contained in:
Tristan Krause 2019-04-03 08:40:14 +02:00
parent 4d2ea6013c
commit de7143887d
25 changed files with 368 additions and 377 deletions

View file

@ -3,28 +3,31 @@
#include "spi.h"
constexpr uint8_t MCP23S17_DIRA = 0x00;
constexpr uint8_t MCP23S17_DIRB = 0x01;
constexpr uint8_t MCP23S17_PORTA = 0x12;
constexpr uint8_t MCP23S17_PORTB = 0x13;
constexpr uint8_t MCP23S17_READ = 0x01;
constexpr uint8_t MCP23S17_WRITE = 0x00;
constexpr uint8_t MCP23S17_OPCODE = 0x40;
class MCP23S17
{
public:
MCP23S17(SPI&, uint8_t);
void setDirA(uint8_t dir) const;
void setDirB(uint8_t dir) const;
void writePortA(uint8_t) const;
void writePortB(uint8_t) const;
uint8_t readPortA(void) const;
uint8_t readPortB(void) const;
MCP23S17(volatile SPI&, uint8_t);
void setDirA(uint8_t dir) const volatile;
void setDirB(uint8_t dir) const volatile;
void writePortA(uint8_t) const volatile;
void writePortB(uint8_t) const volatile;
uint8_t readPortA(void) const volatile;
uint8_t readPortB(void) const volatile;
private:
SPI& spi;
volatile SPI& spi;
const uint8_t adr;
// constants
constexpr static uint8_t MCP23S17_DIRA = 0x00;
constexpr static uint8_t MCP23S17_DIRB = 0x01;
constexpr static uint8_t MCP23S17_PORTA = 0x12;
constexpr static uint8_t MCP23S17_PORTB = 0x13;
constexpr static uint8_t MCP23S17_READ = 0x01;
constexpr static uint8_t MCP23S17_WRITE = 0x00;
constexpr static uint8_t MCP23S17_OPCODE = 0x40;
};
#endif // MCP23S17_H