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.
Dependents: Check_VL6180XA1_ToF
Fork of X_NUCLEO_6180XA1 by
Diff: Components/STMPE1600/STMPE1600.h
- Revision:
- 58:1e9a3a46f814
- Parent:
- 57:fa4c622b04a7
--- a/Components/STMPE1600/STMPE1600.h Mon Mar 13 19:08:10 2017 +0000
+++ b/Components/STMPE1600/STMPE1600.h Mon Aug 21 15:44:34 2017 +0000
@@ -104,7 +104,7 @@
* @param[in] lvl the default ot pin level
*/
STMPE1600DigiOut (DevI2C &i2c, exp_gpio_pin_name outpinname, uint8_t DevAddr=STMPE1600_DEF_DEVICE_ADDRESS, bool lvl=STMPE1600_DEF_DIGIOUT_LVL):
- _dev_i2c(i2c),
+ _dev_i2c(&i2c),
_expdevaddr(DevAddr),
_exppinname(outpinname)
{
@@ -113,11 +113,11 @@
return;
}
/* set the _exppinname as output */
- _dev_i2c.i2c_read(data, _expdevaddr, GPDR_0_7, 1);
- _dev_i2c.i2c_read(&data[1], _expdevaddr, GPDR_8_15, 1);
+ _dev_i2c->i2c_read(data, _expdevaddr, GPDR_0_7, 1);
+ _dev_i2c->i2c_read(&data[1], _expdevaddr, GPDR_8_15, 1);
*(uint16_t*)data = *(uint16_t*)data | (1<<(uint16_t)_exppinname); // set gpio as out
- _dev_i2c.i2c_write(data, _expdevaddr, GPDR_0_7, 1);
- _dev_i2c.i2c_write(&data[1], _expdevaddr, GPDR_8_15, 1);
+ _dev_i2c->i2c_write(data, _expdevaddr, GPDR_0_7, 1);
+ _dev_i2c->i2c_write(&data[1], _expdevaddr, GPDR_8_15, 1);
write (lvl);
}
@@ -131,10 +131,10 @@
uint8_t data[2];
if (_exppinname == NOT_CON) return;
/* set the _exppinname state to lvl */
- _dev_i2c.i2c_read(data, _expdevaddr, GPSR_0_7, 2);
+ _dev_i2c->i2c_read(data, _expdevaddr, GPSR_0_7, 2);
*(uint16_t*)data = *(uint16_t*)data & (uint16_t)(~(1<<(uint16_t)_exppinname)); // set pin mask
if (lvl) *(uint16_t*)data = *(uint16_t*)data | (uint16_t)(1<<(uint16_t)_exppinname);
- _dev_i2c.i2c_write(data, _expdevaddr, GPSR_0_7, 2);
+ _dev_i2c->i2c_write(data, _expdevaddr, GPSR_0_7, 2);
}
/**
@@ -147,7 +147,7 @@
}
private:
- DevI2C &_dev_i2c;
+ DevI2C *_dev_i2c;
uint8_t _expdevaddr;
exp_gpio_pin_name _exppinname;
};
@@ -163,14 +163,14 @@
* @param[in] inpinname the desired input pin name to be created
* @param[in] DevAddr the stmpe1600 I2C device addres (deft STMPE1600_DEF_DEVICE_ADDRESS)
*/
- STMPE1600DigiIn (DevI2C &i2c, exp_gpio_pin_name inpinname, uint8_t DevAddr=STMPE1600_DEF_DEVICE_ADDRESS): _dev_i2c(i2c), _expdevaddr(DevAddr), _exppinname(inpinname)
+ STMPE1600DigiIn (DevI2C &i2c, exp_gpio_pin_name inpinname, uint8_t DevAddr=STMPE1600_DEF_DEVICE_ADDRESS): _dev_i2c(&i2c), _expdevaddr(DevAddr), _exppinname(inpinname)
{
uint8_t data[2];
if (_exppinname == NOT_CON) return;
/* set the _exppinname as input pin direction */
- _dev_i2c.i2c_read(data, _expdevaddr, GPDR_0_7, 2);
+ _dev_i2c->i2c_read(data, _expdevaddr, GPDR_0_7, 2);
*(uint16_t*)data = *(uint16_t*)data & (uint16_t)(~(1<<(uint16_t) _exppinname)); // set gpio as in
- _dev_i2c.i2c_write(data, _expdevaddr, GPDR_0_7, 2);
+ _dev_i2c->i2c_write(data, _expdevaddr, GPDR_0_7, 2);
}
/**
@@ -184,7 +184,7 @@
}
/* read the _exppinname */
- _dev_i2c.i2c_read(data, _expdevaddr, GPMR_0_7, 2);
+ _dev_i2c->i2c_read(data, _expdevaddr, GPMR_0_7, 2);
*(uint16_t*)data = *(uint16_t*)data & (uint16_t)(1<<(uint16_t)_exppinname); // mask the in gpio
if (data[0] || data[1]) {
@@ -198,7 +198,7 @@
}
private:
- DevI2C &_dev_i2c;
+ DevI2C *_dev_i2c;
uint8_t _expdevaddr;
exp_gpio_pin_name _exppinname;
};
@@ -215,9 +215,9 @@
* @param[in] &i2c device I2C to be used for communication
* @param[in] DevAddr the stmpe1600 I2C device addres (deft STMPE1600_DEF_DEVICE_ADDRESS)
*/
- STMPE1600 (DevI2C &i2c, uint8_t DevAddr=STMPE1600_DEF_DEVICE_ADDRESS ) : _dev_i2c(i2c)
+ STMPE1600 (DevI2C &i2c, uint8_t DevAddr=STMPE1600_DEF_DEVICE_ADDRESS ) : _dev_i2c(&i2c)
{
- _dev_i2c = i2c;
+ _dev_i2c = &i2c;
_expdevaddr = DevAddr;
write_sys_ctrl (SOFT_RESET);
@@ -233,7 +233,7 @@
*/
void write_sys_ctrl (uint8_t data) // data = SOFT_RESET reset the device
{
- _dev_i2c.i2c_write((uint8_t*)SYS_CTRL, _expdevaddr, data, 1);
+ _dev_i2c->i2c_write((uint8_t*)SYS_CTRL, _expdevaddr, data, 1);
}
/**
@@ -303,7 +303,7 @@
*/
void read_16_bit_reg (uint8_t reg_16_addr, uint16_t *reg_16_data)
{
- _dev_i2c.i2c_read((uint8_t*)reg_16_data, _expdevaddr, reg_16_addr, 2);
+ _dev_i2c->i2c_read((uint8_t*)reg_16_data, _expdevaddr, reg_16_addr, 2);
}
/**
@@ -313,11 +313,11 @@
*/
void write_16_bit_reg (uint8_t reg_16_addr, uint16_t *reg_16_data)
{
- _dev_i2c.i2c_write((uint8_t*)reg_16_data, _expdevaddr, reg_16_addr, 2);
+ _dev_i2c->i2c_write((uint8_t*)reg_16_data, _expdevaddr, reg_16_addr, 2);
}
private:
- DevI2C &_dev_i2c;
+ DevI2C *_dev_i2c;
uint16_t _gpdro_15; // local copy of bit direction reg
uint16_t _gpsro_15; // local copy of bit status reg
uint8_t _expdevaddr; // expander device i2c addr
