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.
Revision 4:f93baeb6119c, committed 2022-01-31
- Comitter:
- JohnnyK
- Date:
- Mon Jan 31 18:39:48 2022 +0000
- Parent:
- 3:47c298d4a41b
- Commit message:
- Changed class name for compatibility with TextLCD library
Changed in this revision
PCF8574.cpp | Show annotated file Show diff for this revision Revisions of this file |
PCF8574.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/PCF8574.cpp Mon Jan 31 18:26:50 2022 +0000 +++ b/PCF8574.cpp Mon Jan 31 18:39:48 2022 +0000 @@ -1,7 +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 + * 2022, 002: JohnnyK, Changed class name 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 @@ -25,18 +25,18 @@ #include "PCF8574.h" #include "mbed.h" -IO::PCF8574::PCF8574(I2C *i2c, int address) +PCF8574IO::PCF8574IO(I2C *i2c, int address) : _i2c(i2c) { _address = address; } -int IO::PCF8574::read() { +int PCF8574IO::read() { char foo[1]; _i2c->read(_address, foo, 1); return foo[0]; } -void IO::PCF8574::write(int data) { +void PCF8574IO::write(int data) { char foo[1]; foo[0] = data; _i2c->write(_address, foo, 1);
--- a/PCF8574.h Mon Jan 31 18:26:50 2022 +0000 +++ b/PCF8574.h Mon Jan 31 18:39:48 2022 +0000 @@ -1,7 +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 + * 2022, 002: JohnnyK, Changed class name 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 @@ -27,34 +27,31 @@ #ifndef MBED_PCF8574_H #define MBED_PCF8574_H -namespace IO{ - - /** 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); +/** Interface to the popular PCF8574 I2C 8 Bit IO expander */ +class PCF8574IO { + 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 + */ + PCF8574IO(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); - /** 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; - }; -} + private: + I2C *_i2c; + int _address; +}; #endif