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: PCF8574.h
- Revision:
- 3:47c298d4a41b
- Parent:
- 2:e076d7b30aea
- Child:
- 4:f93baeb6119c
--- a/PCF8574.h Mon Jan 31 17:49:53 2022 +0000 +++ b/PCF8574.h Mon Jan 31 18:26:50 2022 +0000 @@ -1,6 +1,7 @@ /* mbed PCF8574 Library, for driving the I2C I/O Expander * Copyright (c) 2008-2010, cstyles, sford * 2022, 001: JohnnyK, Reworked Constructor to I2C object instead of I2C pins. I can be usefull with anoter I2C slave on same bus + * 2022, 002: JohnnyK, Added Namespace IO for compatibility with TextLCD library * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -26,31 +27,34 @@ #ifndef MBED_PCF8574_H #define MBED_PCF8574_H -/** Interface to the popular PCF8574 I2C 8 Bit IO expander */ -class PCF8574 { -public: - /** Create an instance of the PCF8574 connected I2C object, with the specified address. - * - * @param Mbed I2C object - * @param address The I2C address for this PCF8574 - */ - PCF8574(I2C *i2c, int address); +namespace IO{ - /** Read the IO pin level - * - * @return The byte read - */ - int read(); - - /** Write to the IO pins - * - * @param data The 8 bits to write to the IO port - */ - void write(int data); - -private: - I2C *_i2c; - int _address; -}; + /** Interface to the popular PCF8574 I2C 8 Bit IO expander */ + class PCF8574 { + public: + /** Create an instance of the PCF8574 connected I2C object, with the specified address. + * + * @param Mbed I2C object + * @param address The I2C address for this PCF8574 + */ + PCF8574(I2C *i2c, int address); + + /** Read the IO pin level + * + * @return The byte read + */ + int read(); + + /** Write to the IO pins + * + * @param data The 8 bits to write to the IO port + */ + void write(int data); + + private: + I2C *_i2c; + int _address; + }; +} #endif