This are general defs and base class interfaces. ( DACInterface, I2CInterface) to be used with I2C devices
Dependents: MCP23009tst AT30TSE752TST MCP4728setaddrProg mbedSerialInterface_talkback2 ... more
The DevInterfaces class is used for a more general support of a number of I2C devices.
For the moment this is MCP4728 Quad DAC.
The idea is to write a libs for the I2C devices (and perhaps later SPI , ... devices) not restricted to a certain hardware platform.
So there is the I2CInterface. This is a ( not pure) virtual class. A pointer to this class is used for the I2C device lib (like the MCP4728 class https://developer.mbed.org/users/wbeaumont/code/MCP4728/ ) to communicate with the I2C interface. The I2C interface is kept simple as possible. So it has to be applied for "tested environments". I2C Bus timeouts etc. are hard to debug with such a simple interface. This kind of interface is also not suitable for optimal performance. The user has to take care of issues of blocking devices, parallel processes etc. This can be dealt with in the implementation of the I2CInterface class
The aim of this project is to generate code for these devices on different platforms without doing the painstaking work of looking up all the register details.
There is an implementation of the I2CInterface for the MBED , tested with the FRDM-KL05Z platform. https://developer.mbed.org/users/wbeaumont/code/I2Cinterfaces/
A very simple application on a MBED can be found in https://developer.mbed.org/users/wbeaumont/code/MCP4728test/
getVersion.h
- Committer:
- wbeaumont
- Date:
- 2015-10-23
- Revision:
- 0:da1fb7dd363f
- Child:
- 2:58f1d5a3f850
File content as of revision 0:da1fb7dd363f:
#ifndef GETVERSION_H #define GETVERSION_H /* getVersion class * to get version number ( compile date etc) of a module * to be used to verify module version used by a main program * can be used as inheritance class * written for the SOLID SM1 control module firmware * * author Wim.Beaumont@Uantwerpen.be * (C) Universiteit Antwerpen 5 October 2014 * * version history * v 0.10 intial development vesion * */ #define GETVERSION_HDR_VER "0.10" class getVersion { const char* hver; const char* sver; const char* ctime; const char* cdate; public: getVersion(const char* ver_h,const char* ver_s=0, const char* time=0,const char* date=0) { sver=ver_s; hver=ver_h; ctime=time;cdate=date; } ; getVersion(){sver=0; hver=0; ctime=0;cdate=0;}; // returns the version number of hdr of the module in hex code unsigned short getHdrVersion(); // returns the version number of the src of the module in hex code unsigned short getSrcVersion(); // returns the compile time using __TIME__ in hex code 0xHHMM ver 0.1 returns always 0 unsigned short getCompileTime(); // returns the compile date using __DATE__ 0xMMDD ver 0.1 returns always 0 unsigned short getCompileDate(); // returns the compile year using __DATE__ 2014 0x140C ver 0.1 returns always 0 unsigned short getCompileYear(); // takes a version nr of the type "2.32" and convert it to a hex nr 0x0220 ( 0x20== 33 dec) void get_dec_version( unsigned short hexversion , unsigned char & version, unsigned char& subversion); // translate "2.32" to 0x0222 unsigned short get_hex_version_nr(const char * vers); }; #endif