@@ -27,7 +27,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27
27
28
28
#pragma once
29
29
30
- #include " sfeTkError .h"
30
+ #include " sfeToolkit .h"
31
31
#include < stddef.h>
32
32
33
33
/* *
@@ -52,7 +52,7 @@ const sfeTkError_t kSTkErrBusTimeout = kSTkErrFail * (kSTkErrBaseBus + 2);
52
52
const sfeTkError_t kSTkErrBusNoResponse = kSTkErrFail * (kSTkErrBaseBus + 3 );
53
53
54
54
/* *
55
- * @brief Returned when the data to be sent is too long or recieved is too short.
55
+ * @brief Returned when the data to be sent is too long or received is too short.
56
56
*/
57
57
const sfeTkError_t kSTkErrBusDataTooLong = kSTkErrFail * (kSTkErrBaseBus + 4 );
58
58
@@ -86,6 +86,12 @@ const sfeTkError_t kSTkErrBusNotEnabled = kSTkErrBaseBus + 8;
86
86
class sfeTkIBus
87
87
{
88
88
public:
89
+ /* *
90
+ * @brief Constructor
91
+ */
92
+ sfeTkIBus () {
93
+ _byteOrder = sftk_system_byteorder ();
94
+ }
89
95
/* *--------------------------------------------------------------------------
90
96
* @brief Send a single byte to the device*
91
97
* @param data Data to write.
@@ -96,7 +102,7 @@ class sfeTkIBus
96
102
virtual sfeTkError_t writeByte (uint8_t data) = 0;
97
103
98
104
/* *--------------------------------------------------------------------------
99
- * @brief Send a word to the device.
105
+ * @brief Send a word to the device.
100
106
* @param data Data to write.
101
107
*
102
108
* @retval sfeTkError_t - kSTkErrOk on successful execution.
@@ -125,6 +131,12 @@ class sfeTkIBus
125
131
*/
126
132
virtual sfeTkError_t writeRegisterByte (uint8_t devReg, uint8_t data) = 0;
127
133
134
+ // Overload version
135
+ sfeTkError_t writeRegister (uint8_t devReg, uint8_t data)
136
+ {
137
+ return writeRegisterByte (devReg, data);
138
+ }
139
+
128
140
/* *--------------------------------------------------------------------------
129
141
* @brief Write a single word (16 bit) to the given register
130
142
*
@@ -136,6 +148,12 @@ class sfeTkIBus
136
148
*/
137
149
virtual sfeTkError_t writeRegisterWord (uint8_t devReg, uint16_t data) = 0;
138
150
151
+ // Overload version
152
+ sfeTkError_t writeRegister (uint8_t devReg, uint16_t data)
153
+ {
154
+ return writeRegisterWord (devReg, data);
155
+ }
156
+
139
157
/* *--------------------------------------------------------------------------
140
158
* @brief Writes a number of bytes starting at the given register's address.
141
159
*
@@ -148,6 +166,12 @@ class sfeTkIBus
148
166
*/
149
167
virtual sfeTkError_t writeRegisterRegion (uint8_t devReg, const uint8_t *data, size_t length) = 0;
150
168
169
+ // Overload version
170
+ sfeTkError_t writeRegister (uint8_t devReg, const uint8_t *data, size_t length)
171
+ {
172
+ return writeRegisterRegion (devReg, data, length);
173
+ }
174
+
151
175
/* *--------------------------------------------------------------------------
152
176
* @brief Writes a number of bytes starting at the given register's 16-bit address.
153
177
*
@@ -160,6 +184,29 @@ class sfeTkIBus
160
184
*/
161
185
virtual sfeTkError_t writeRegister16Region (uint16_t devReg, const uint8_t *data, size_t length) = 0;
162
186
187
+ // Overload version
188
+ sfeTkError_t writeRegister (uint16_t devReg, const uint8_t *data, size_t length)
189
+ {
190
+ return writeRegister16Region (devReg, data, length);
191
+ }
192
+
193
+ /* *--------------------------------------------------------------------------
194
+ * @brief Writes a number of uint16's starting at the given register's 16-bit address.
195
+ *
196
+ * @param devReg The device's register's address.
197
+ * @param data Data to write.
198
+ * @param length - length of data
199
+ *
200
+ * @retval sfeTkError_t kSTkErrOk on successful execution
201
+ *
202
+ */
203
+ virtual sfeTkError_t writeRegister16Region16 (uint16_t devReg, const uint16_t *data, size_t length) = 0;
204
+
205
+ // Overload version
206
+ sfeTkError_t writeRegister (uint16_t devReg, const uint16_t *data, size_t length)
207
+ {
208
+ return writeRegister16Region16 (devReg, data, length);
209
+ }
163
210
/* *--------------------------------------------------------------------------
164
211
* @brief Read a single byte from the given register
165
212
*
@@ -171,6 +218,12 @@ class sfeTkIBus
171
218
*/
172
219
virtual sfeTkError_t readRegisterByte (uint8_t devReg, uint8_t &data) = 0;
173
220
221
+ // Overload version
222
+ sfeTkError_t readRegister (uint8_t devReg, uint8_t &data)
223
+ {
224
+ return readRegisterByte (devReg, data);
225
+ }
226
+
174
227
/* *--------------------------------------------------------------------------
175
228
* @brief Read a single word (16 bit) from the given register
176
229
*
@@ -181,6 +234,12 @@ class sfeTkIBus
181
234
*/
182
235
virtual sfeTkError_t readRegisterWord (uint8_t devReg, uint16_t &data) = 0;
183
236
237
+ // Overload version
238
+ sfeTkError_t readRegister (uint8_t devReg, uint16_t &data)
239
+ {
240
+ return readRegisterWord (devReg, data);
241
+ }
242
+
184
243
/* *--------------------------------------------------------------------------
185
244
* @brief Reads a block of data from the given register.
186
245
*
@@ -194,6 +253,12 @@ class sfeTkIBus
194
253
*/
195
254
virtual sfeTkError_t readRegisterRegion (uint8_t reg, uint8_t *data, size_t numBytes, size_t &readBytes) = 0;
196
255
256
+ // Overload version
257
+ sfeTkError_t readRegister (uint8_t reg, uint8_t *data, size_t numBytes, size_t &readBytes)
258
+ {
259
+ return readRegisterRegion (reg, data, numBytes, readBytes);
260
+ }
261
+
197
262
/* *--------------------------------------------------------------------------
198
263
* @brief Reads a block of data from the given 16-bit register address.
199
264
*
@@ -206,6 +271,58 @@ class sfeTkIBus
206
271
*
207
272
*/
208
273
virtual sfeTkError_t readRegister16Region (uint16_t reg, uint8_t *data, size_t numBytes, size_t &readBytes) = 0;
274
+
275
+ // Overload version
276
+ sfeTkError_t readRegister (uint16_t reg, uint8_t *data, size_t numBytes, size_t &readBytes)
277
+ {
278
+ return readRegister16Region (reg, data, numBytes, readBytes);
279
+ }
280
+ /* *--------------------------------------------------------------------------
281
+ * @brief Reads a block of data from the given 16-bit register address.
282
+ *
283
+ * @param reg The device's 16 bit register's address.
284
+ * @param data Data to write.
285
+ * @param numBytes - length of data
286
+ * @param[out] readBytes - number of bytes read
287
+ *
288
+ * @retval int returns kSTkErrOk on success, or kSTkErrFail code
289
+ *
290
+ */
291
+ virtual sfeTkError_t readRegister16Region16 (uint16_t reg, uint16_t *data, size_t numBytes, size_t &readBytes) = 0;
292
+
293
+ // Overload version
294
+ sfeTkError_t readRegister (uint16_t reg, uint16_t *data, size_t numBytes, size_t &readBytes)
295
+ {
296
+ return readRegister16Region16 (reg, data, numBytes, readBytes);
297
+ }
298
+
299
+ virtual uint8_t type (void )
300
+ {
301
+ return 0 ;
302
+ }
303
+ /* *
304
+ * @brief Set the byte order for multi-byte data transfers
305
+ *
306
+ * @param order The byte order to set - set to either SFTK_MSBFIRST or SFTK_LSBFIRST. The default is SFTK_LSBFIRST
307
+ *
308
+ */
309
+ void setByteOrder (sfeTKByteOrder order)
310
+ {
311
+ _byteOrder = order;
312
+ }
313
+
314
+ /* *
315
+ * @brief Get the current byte order
316
+ *
317
+ * @retval The current byte order
318
+ */
319
+ sfeTKByteOrder byteOrder (void )
320
+ {
321
+ return _byteOrder;
322
+ }
323
+
324
+ protected:
325
+ /* * flag to manage byte swapping */
326
+ sfeTKByteOrder _byteOrder;
209
327
};
210
328
211
- // };
0 commit comments