@@ -27,7 +27,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2727
2828#pragma once
2929
30- #include " sfeTkError .h"
30+ #include " sfeToolkit .h"
3131#include < stddef.h>
3232
3333/* *
@@ -52,7 +52,7 @@ const sfeTkError_t kSTkErrBusTimeout = kSTkErrFail * (kSTkErrBaseBus + 2);
5252const sfeTkError_t kSTkErrBusNoResponse = kSTkErrFail * (kSTkErrBaseBus + 3 );
5353
5454/* *
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.
5656 */
5757const sfeTkError_t kSTkErrBusDataTooLong = kSTkErrFail * (kSTkErrBaseBus + 4 );
5858
@@ -86,6 +86,12 @@ const sfeTkError_t kSTkErrBusNotEnabled = kSTkErrBaseBus + 8;
8686class sfeTkIBus
8787{
8888 public:
89+ /* *
90+ * @brief Constructor
91+ */
92+ sfeTkIBus () {
93+ _byteOrder = sftk_system_byteorder ();
94+ }
8995 /* *--------------------------------------------------------------------------
9096 * @brief Send a single byte to the device*
9197 * @param data Data to write.
@@ -96,7 +102,7 @@ class sfeTkIBus
96102 virtual sfeTkError_t writeByte (uint8_t data) = 0;
97103
98104 /* *--------------------------------------------------------------------------
99- * @brief Send a word to the device.
105+ * @brief Send a word to the device.
100106 * @param data Data to write.
101107 *
102108 * @retval sfeTkError_t - kSTkErrOk on successful execution.
@@ -125,6 +131,12 @@ class sfeTkIBus
125131 */
126132 virtual sfeTkError_t writeRegisterByte (uint8_t devReg, uint8_t data) = 0;
127133
134+ // Overload version
135+ sfeTkError_t writeRegister (uint8_t devReg, uint8_t data)
136+ {
137+ return writeRegisterByte (devReg, data);
138+ }
139+
128140 /* *--------------------------------------------------------------------------
129141 * @brief Write a single word (16 bit) to the given register
130142 *
@@ -136,6 +148,12 @@ class sfeTkIBus
136148 */
137149 virtual sfeTkError_t writeRegisterWord (uint8_t devReg, uint16_t data) = 0;
138150
151+ // Overload version
152+ sfeTkError_t writeRegister (uint8_t devReg, uint16_t data)
153+ {
154+ return writeRegisterWord (devReg, data);
155+ }
156+
139157 /* *--------------------------------------------------------------------------
140158 * @brief Writes a number of bytes starting at the given register's address.
141159 *
@@ -148,6 +166,12 @@ class sfeTkIBus
148166 */
149167 virtual sfeTkError_t writeRegisterRegion (uint8_t devReg, const uint8_t *data, size_t length) = 0;
150168
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+
151175 /* *--------------------------------------------------------------------------
152176 * @brief Writes a number of bytes starting at the given register's 16-bit address.
153177 *
@@ -160,6 +184,29 @@ class sfeTkIBus
160184 */
161185 virtual sfeTkError_t writeRegister16Region (uint16_t devReg, const uint8_t *data, size_t length) = 0;
162186
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+ }
163210 /* *--------------------------------------------------------------------------
164211 * @brief Read a single byte from the given register
165212 *
@@ -171,6 +218,12 @@ class sfeTkIBus
171218 */
172219 virtual sfeTkError_t readRegisterByte (uint8_t devReg, uint8_t &data) = 0;
173220
221+ // Overload version
222+ sfeTkError_t readRegister (uint8_t devReg, uint8_t &data)
223+ {
224+ return readRegisterByte (devReg, data);
225+ }
226+
174227 /* *--------------------------------------------------------------------------
175228 * @brief Read a single word (16 bit) from the given register
176229 *
@@ -181,6 +234,12 @@ class sfeTkIBus
181234 */
182235 virtual sfeTkError_t readRegisterWord (uint8_t devReg, uint16_t &data) = 0;
183236
237+ // Overload version
238+ sfeTkError_t readRegister (uint8_t devReg, uint16_t &data)
239+ {
240+ return readRegisterWord (devReg, data);
241+ }
242+
184243 /* *--------------------------------------------------------------------------
185244 * @brief Reads a block of data from the given register.
186245 *
@@ -194,6 +253,12 @@ class sfeTkIBus
194253 */
195254 virtual sfeTkError_t readRegisterRegion (uint8_t reg, uint8_t *data, size_t numBytes, size_t &readBytes) = 0;
196255
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+
197262 /* *--------------------------------------------------------------------------
198263 * @brief Reads a block of data from the given 16-bit register address.
199264 *
@@ -206,6 +271,58 @@ class sfeTkIBus
206271 *
207272 */
208273 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;
209327};
210328
211- // };
0 commit comments