8000 Added comments to functions · ArduinoWorks/i2cdevlib@df92b18 · GitHub
[go: up one dir, main page]

Skip to content

Commit df92b18

Browse files
committed
Added comments to functions
1 parent 454b014 commit df92b18

File tree

1 file changed

+120
-23
lines changed

1 file changed

+120
-23
lines changed

STM32/I2Cdev.c

Lines changed: 120 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,13 @@ extern ARM_DRIVER_I2C I2CDev_Driver;
5656
#define i2c_receive_nack(dev_addr, data, len) _i2c_receive(dev_addr, data, len, false)
5757

5858

59-
59+
/** Read several byte from an 8-bit device register.
60+
* @param dev_addr I2C slave device address
61+
* @param reg_addr Register regAddr to read from
62+
* @param len How many bytes to read
63+
* @param data Buffer to save data into
64+
* @return Status of read operation (0 = success, <0 = error)
65+
*/
6066
int8_t I2Cdev_readBytes(uint8_t dev_addr, uint8_t reg_addr, uint8_t len, uint8_t *data) {
6167
int8_t err = 0;
6268
uint8_t reg_data[1] = {reg_addr};
@@ -73,17 +79,26 @@ int8_t I2Cdev_readBytes(uint8_t dev_addr, uint8_t reg_addr, uint8_t len, uint8_t
7379
}
7480

7581

82+
/** Read a single byte from a 8-bit device register.
83+
* @param dev_addr I2C slave device address
84+
* @param reg_addr Register reg_addr to read from
85+
* @param data Buffer to save data into
86+
* @return Status of read operation (0 = success, <0 = error)
87+
*/
7688
int8_t I2Cdev_readByte(uint8_t dev_addr, uint8_t reg_addr, uint8_t *data) {
77-
int8_t err;
78-
79-
err = I2Cdev_readBytes(dev_addr, reg_addr, 1, data);
80-
return err;
89+
return I2Cdev_readBytes(dev_addr, reg_addr, 1, data);
8190
}
8291

8392

93+
/** Read a several 16-bit words from a 16-bit device register.
94+
* @param dev_addr I2C slave device address
95+
* @param reg_addr Register reg_addr to read from
96+
* @param len Number of words to read
97+
* @param data Buffer to save data into
98+
* @return Status of read operation (true = success)
99+
*/
84100
int8_t I2Cdev_readWords(uint8_t dev_addr, uint8_t reg_addr, uint8_t len, uint16_t *data) {
85101
int8_t err;
86-
87102
uint16_t bytes_num = len*2;
88103

89104
uint8_t reg_info[1] = {reg_addr};
@@ -109,17 +124,25 @@ int8_t I2Cdev_readWords(uint8_t dev_addr, uint8_t reg_addr, uint8_t len, uint16
109124
}
110125

111126

127+
/** Read a single word from a 16-bit device register.
128+
* @param dev_addr I2C slave device address
129+
* @param reg_addr Register regAddr to read from
130+
* @param data Container for single word
131+
* @return Status of read operation (0 = success, <0 = error)
132+
*/
112133
int8_t I2Cdev_readWord(uint8_t dev_addr, uint8_t reg_addr, uint16_t *data) {
113-
int8_t err;
114-
115-
err = I2Cdev_readWords(dev_addr, reg_addr, 1, data);
116-
return err;
134+
return I2Cdev_readWords(dev_addr, reg_addr, 1, data);
117135
}
118136

119137

120-
int8_t
121-
I2Cdev_readBit(uint8_t dev_addr, uint8_t reg_addr, uint8_t bitn, uint8_t *data)
122-
{
138+
/** Read a single bit from a 8-bit device register.
139+
* @param dev_addr I2C slave device address
140+
* @param reg_addr Register regAddr to read from
141+
* @param bitn Bit position to read (0-15)
142+
* @param data Container for single bit value
143+
* @return Status of read operation (0 = success, <0 = error)
144+
*/
145+
int8_t I2Cdev_readBit(uint8_t dev_addr, uint8_t reg_addr, uint8_t bitn, uint8_t *data) {
123146
int8_t err;
124147

125148
err = I2Cdev_readByte(dev_addr, reg_addr, data);
@@ -129,9 +152,16 @@ I2Cdev_readBit(uint8_t dev_addr, uint8_t reg_addr, uint8_t bitn, uint8_t *data)
129152
}
130153

131154

132-
int8_t
133-
I2Cdev_readBits(uint8_t dev_addr, uint8_t reg_addr, uint8_t start_bit,
134-
uint8_t len, uint8_t *data)
155+
/** Read several bits from a 8-bit device register.
156+
* @param dev_addr I2C slave device address
157+
* @param reg_addr Register regAddr to read from
158+
* @param start_bit First bit position to read (0-7)
159+
* @param len Number of bits to read (<= 8)
160+
* @param data Container for right-aligned value
161+
* @return Status of read operation (0 = success, <0 = error)
162+
*/
163+
int8_t I2Cdev_readBits(uint8_t dev_addr, uint8_t reg_addr, uint8_t start_bit,
164+
uint8_t len, uint8_t *data)
135165
{
136166
int8_t err;
137167

@@ -147,6 +177,13 @@ I2Cdev_readBits(uint8_t dev_addr, uint8_t reg_addr, uint8_t start_bit,
147177
}
148178

149179

180+
/** Read a single bit from a 16-bit device register.
181+
* @param dev_addr I2C slave device address
182+
* @param reg_addr Register regAddr to read from
183+
* @param bit_n Bit position to read (0-15)
184+
* @param data Container for single bit value
185+
* @return Status of read operation (true = success)
186+
*/
150187
int8_t I2Cdev_readBitW(uint8_t dev_addr, uint8_t reg_addr, uint8_t bit_n, uint16_t *data) {
151188
int8_t err;
152189

9E81
@@ -157,8 +194,15 @@ int8_t I2Cdev_readBitW(uint8_t dev_addr, uint8_t reg_addr, uint8_t bit_n, uint1
157194
}
158195

159196

160-
int8_t
161-
I2Cdev_readBitsW(uint8_t dev_addr, uint8_t reg_addr, uint8_t start_bit,
197+
/** Read several bits from a 16-bit device register.
198+
* @param dev_addr I2C slave device address
199+
* @param reg_addr Register regAddr to read from
200+
* @param start_bit First bit position to read (0-15)
201+
* @param len Number of bits to read (<= 16)
202+
* @param data Container for right-aligned value
203+
* @return Status of read operation (0 = success, <0 = error)
204+
*/
205+
int8_t I2Cdev_readBitsW(uint8_t dev_addr, uint8_t reg_addr, uint8_t start_bit,
162206
uint8_t len, uint16_t *data)
163207
{
164208
int8_t err;
@@ -175,6 +219,13 @@ I2Cdev_readBitsW(uint8_t dev_addr, uint8_t reg_addr, uint8_t start_bit,
175219
}
176220

177221

222+
/** Write multiple bytes to an 8-bit device register.
223+
* @param dev_addr I2C slave device address
224+
* @param reg_addr First register address to write to
225+
* @param len Number of bytes to write
226+
* @param data Buffer to copy new data from
227+
* @return Status of operation (0 = success, <0 = error)
228+
*/
178229
int8_t I2Cdev_writeBytes(uint8_t dev_addr, uint8_t reg_addr, uint8_t len, uint8_t *data) {
179230
int8_t err;
180231
uint8_t ts_data[len+1];
@@ -183,11 +234,16 @@ int8_t I2Cdev_writeBytes(uint8_t dev_addr, uint8_t reg_addr, uint8_t len, uint8
183234
memcpy(ts_data+1, data, len);
184235

185236
err = i2c_transmit_nack(dev_addr, ts_data, len+1);
186-
187237
return err;
188238
}
189239

190240

241+
/** Write single byte to an 8-bit device register.
242+
* @param dev_addr I2C slave device address
243+
* @param reg_addr Register address to write to
244+
* @param data New byte value to write
245+
* @return Status of operation (0 = success, <0 = error)
246+
*/
191247
int8_t I2Cdev_writeByte(uint8_t dev_addr, uint8_t reg_addr, uint8_t data) {
192248
int8_t err;
193249

@@ -198,6 +254,12 @@ int8_t I2Cdev_writeByte(uint8_t dev_addr, uint8_t reg_addr, uint8_t data) {
198254
}
199255

200256

257+
/** Write single 16-bit word to an 16-bit device register.
258+
* @param dev_addr I2C slave device address
259+
* @param reg_addr Register address to write to
260+
* @param data New byte value to write
261+
* @return Status of operation (0 = success, <0 = error)
262+
*/
201263
int8_t I2Cdev_writeWord(uint8_t dev_addr, uint8_t reg_addr, uint16_t data) {
202264
int8_t err;
203265
uint8_t ts_data[3] = {reg_addr, (data >> 8) & 0xFF, data & 0xFF};
@@ -207,6 +269,13 @@ int8_t I2Cdev_writeWord(uint8_t dev_addr, uint8_t reg_addr, uint16_t data) {
207269
}
208270

209271

272+
/** Write multiple words to a 16-bit device register.
273+
* @param dev_addr I2C slave device address
274+
* @param reg_addr First register address to write to
275+
* @param len Number of words to write
276+
* @param data Buffer to copy new data from
277+
* @return Status of operation (0 = success, <0 = error)
278+
*/
210279
int8_t I2Cdev_writeWords(uint8_t dev_addr, uint8_t reg_addr, uint8_t len, uint16_t *data) {
211280
uint16_t bytes_num = len*2+1;
212281
uint8_t bytes[bytes_num];
@@ -225,6 +294,13 @@ int8_t I2Cdev_writeWords(uint8_t dev_addr, uint8_t reg_addr, uint8_t len, uint1
225294
}
226295

227296

297+
/** write a single bit in an 8-bit device register.
298+
* @param dev_addr I2C slave device address
299+
* @param reg_addr Register regAddr to write to
300+
* @param bit_n Bit position to write (0-7)
301+
* @param data New bit value to write
302+
* @return Status of operation (0 = success, <0 = error)
303+
*/
228304
int8_t I2Cdev_writeBit(uint8_t dev_addr, uint8_t reg_addr, uint8_t bit_n, uint8_t data) {
229305
uint8_t b;
230306
int8_t err;
@@ -240,6 +316,13 @@ int8_t I2Cdev_writeBit(uint8_t dev_addr, uint8_t reg_addr, uint8_t bit_n, uint8
240316
}
241317

242318

319+
/** write a single bit in a 16-bit device register.
320+
* @param dev_addr I2C slave device address
321+
* @param reg_addr Register regAddr to write to
322+
* @param bit_n Bit position to write (0-15)
323+
* @param data New bit value to write
324+
* @return Status of operation (0 = success, <0 = error)
325+
*/
243326
int8_t I2Cdev_writeBitW(uint8_t dev_addr, uint8_t reg_addr, uint8_t bit_n, uint16_t data) {
244327
uint16_t w;
245328
I2Cdev_readWord(dev_addr, reg_addr, &w);
@@ -250,8 +333,15 @@ int8_t I2Cdev_writeBitW(uint8_t dev_addr, uint8_t reg_addr, uint8_t bit_n, uint
250333
}
251334

252335

253-
int8_t
254-
I2Cdev_writeBits(uint8_t dev_addr, uint8_t reg_addr, uint8_t start_bit,
336+
/** Write multiple bits in an 8-bit device register.
337+
* @param dev_addr I2C slave device address
338+
* @param reg_addr Register regAddr to write to
339+
* @param start_bit First bit position to write (0-7)
340+
* @param len Number of bits to write (not more than 8)
341+
* @param data Right-aligned value to write
342+
* @return Status of operation (0 = success, <0 = error)
343+
*/
344+
int8_t I2Cdev_writeBits(uint8_t dev_addr, uint8_t reg_addr, uint8_t start_bit,
255345
uint8_t len, uint8_t data)
256346
{
257347
uint8_t b;
@@ -272,8 +362,15 @@ I2Cdev_writeBits(uint8_t dev_addr, uint8_t reg_addr, uint8_t start_bit,
272362
}
273363

274364

275-
int8_t
276-
I2Cdev_writeBitsW(uint8_t dev_addr, uint8_t reg_addr, uint8_t start_bit,
365+
/** Write multiple bits in a 16-bit device register.
366+
* @param dev_addr I2C slave device address
367+
* @param reg_addr Register regAddr to write to
368+
* @param start_bit First bit position to write (0-15)
369+
* @param len Number of bits to write (not more than 16)
370+
* @param data Right-aligned value to write
371+
* @return Status of operation (0 = success, <0 = error)
372+
*/
373+
int8_t I2Cdev_writeBitsW(uint8_t dev_addr, uint8_t reg_addr, uint8_t start_bit,
277374
uint8_t len, uint16_t data)
278375
{
279376
uint16_t w;

0 commit comments

Comments
 (0)
0