Skip to content

Commit

Permalink
type cleanups and API fixes to make sure toolkit compiles
Browse files Browse the repository at this point in the history
  • Loading branch information
gigapod committed Mar 15, 2024
1 parent 02bc0f1 commit 15dbb5f
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 25 deletions.
7 changes: 2 additions & 5 deletions src/sfeTk/sfeTkIBus.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ class sfeTkIBus
*/
virtual sfeTkError_t writeRegisterWord(uint8_t devReg, uint16_t data) = 0;


/*--------------------------------------------------------------------------
@brief Writes a number of bytes starting at the given register's address.
Expand All @@ -101,8 +100,7 @@ class sfeTkIBus
@retval sfeTkError_t kSTkErrOk on successful execution
*/
virtual sfeTkError_t writeRegister16Region(uint16_t devReg, uint8_t *data, size_t length) = 0;

virtual sfeTkError_t writeRegister16Region(uint16_t devReg, const uint8_t *data, size_t length) = 0;

/*--------------------------------------------------------------------------
@brief Read a single byte from the given register
Expand Down Expand Up @@ -150,8 +148,7 @@ class sfeTkIBus
@retval int returns kSTkErrOk on success, or kSTkErrFail code
*/
virtual sfeTkError_t readRegister16Region(uint16_t reg, uint8_t *data, size_t numBytes) = 0;

virtual sfeTkError_t readRegister16Region(uint16_t reg, uint8_t *data, size_t numBytes, size_t &readBytes) = 0;
};

//};
22 changes: 11 additions & 11 deletions src/sfeTkArdI2C.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -139,12 +139,13 @@ sfeTkError_t sfeTkArdI2C::writeRegisterWord(uint8_t devReg, uint16_t dataToWrite
//---------------------------------------------------------------------------------
// writeRegisterRegionAddress()
//
// Writes an array of bytes of specified length to a given register on the
// Writes an array of bytes of specified length to a given register on the
// target address
//
// Returns the number of bytes written, < 0 is an error
//
sfeTkError_t sfeTkArdI2C::writeRegisterRegionAddress(uint8_t *devReg, size_t regLength, const uint8_t *data, size_t length)
sfeTkError_t sfeTkArdI2C::writeRegisterRegionAddress(uint8_t *devReg, size_t regLength, const uint8_t *data,
size_t length)
{
if (!_i2cPort)
return kSTkErrBusNotInit;
Expand Down Expand Up @@ -175,10 +176,10 @@ sfeTkError_t sfeTkArdI2C::writeRegisterRegion(uint8_t devReg, const uint8_t *dat
//
// Returns the number of bytes written, < 0 is an error
//
sfeTkError_t sfeTkArdI2C::writeRegister16Region(uint16_t devReg, uint8_t *data, size_t length)
sfeTkError_t sfeTkArdI2C::writeRegister16Region(uint16_t devReg, const uint8_t *data, size_t length)
{
devReg = ((devReg << 8) & 0xff00) | ((devReg >> 8) & 0x00ff);
return writeRegisterRegionAddress((uint8_t*)&devReg, 2, data, length);
return writeRegisterRegionAddress((uint8_t *)&devReg, 2, data, length);
}

//---------------------------------------------------------------------------------
Expand All @@ -188,7 +189,8 @@ sfeTkError_t sfeTkArdI2C::writeRegister16Region(uint16_t devReg, uint8_t *data,
//
// Returns the number of bytes written, < 0 is an error
//
sfeTkError_t sfeTkArdI2C::readRegisterRegionAnyAddress(uint8_t *devReg, size_t regLength, uint8_t *data, size_t numBytes, size_t &readBytes)
sfeTkError_t sfeTkArdI2C::readRegisterRegionAnyAddress(uint8_t *devReg, size_t regLength, uint8_t *data,
size_t numBytes, size_t &readBytes)
{

// got port
Expand All @@ -198,7 +200,7 @@ sfeTkError_t sfeTkArdI2C::readRegisterRegionAnyAddress(uint8_t *devReg, size_t r
// Buffer valid?
if (!data)
return kSTkErrBusNullBuffer;

readBytes = 0;

uint16_t nOrig = numBytes; // original number of bytes.
Expand Down Expand Up @@ -245,7 +247,6 @@ sfeTkError_t sfeTkArdI2C::readRegisterRegionAnyAddress(uint8_t *devReg, size_t r
return (readBytes == nOrig) ? kSTkErrOk : kSTkErrBusUnderRead; // Success
}


//---------------------------------------------------------------------------------
// readRegisterByte()
//
Expand Down Expand Up @@ -317,9 +318,8 @@ sfeTkError_t sfeTkArdI2C::readRegisterRegion(uint8_t devReg, uint8_t *data, size
//
// Returns the number of bytes read, < 0 is an error
//
sfeTkError_t sfeTkArdI2C::readRegister16Region(uint16_t devReg, uint8_t *data, size_t numBytes)
sfeTkError_t sfeTkArdI2C::readRegister16Region(uint16_t devReg, uint8_t *data, size_t numBytes, size_t &readBytes)
{
size_t readBytes = 0;
devReg = ((devReg << 8) & 0xff00) | ((devReg >> 8) & 0x00ff);
return readRegisterRegionAnyAddress((uint8_t*)&devReg, 2, data, numBytes, readBytes);
devReg = ((devReg << 8) & 0xff00) | ((devReg >> 8) & 0x00ff);
return readRegisterRegionAnyAddress((uint8_t *)&devReg, 2, data, numBytes, readBytes);
}
12 changes: 6 additions & 6 deletions src/sfeTkArdI2C.h
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ class sfeTkArdI2C : public sfeTkII2C
@retval kStkErrOk on success
*/
virtual sfeTkError_t writeRegisterRegion(uint8_t devReg, const uint8_t *data, size_t length);
sfeTkError_t writeRegisterRegion(uint8_t devReg, const uint8_t *data, size_t length);

/*--------------------------------------------------------------------------
@brief Writes a number of bytes starting at the given register's 16-bit address.
Expand All @@ -147,8 +147,7 @@ class sfeTkArdI2C : public sfeTkII2C
@retval sfeTkError_t kSTkErrOk on successful execution
*/
sfeTkError_t writeRegister16Region(uint16_t devReg, uint8_t *data, size_t length);

sfeTkError_t writeRegister16Region(uint16_t devReg, const uint8_t *data, size_t length);

/*--------------------------------------------------------------------------
@brief Reads a byte of data from the given register.
Expand Down Expand Up @@ -200,8 +199,8 @@ class sfeTkArdI2C : public sfeTkII2C
@retval int returns kSTkErrOk on success, or kSTkErrFail code
*/
sfeTkError_t readRegister16Region(uint16_t reg, uint8_t *data, size_t numBytes);
*/
sfeTkError_t readRegister16Region(uint16_t reg, uint8_t *data, size_t numBytes, size_t &readBytes);

// Buffer size chunk getter/setter
/*--------------------------------------------------------------------------
Expand Down Expand Up @@ -239,7 +238,8 @@ class sfeTkArdI2C : public sfeTkII2C
private:
sfeTkError_t writeRegisterRegionAddress(uint8_t *devReg, size_t regLength, const uint8_t *data, size_t length);

sfeTkError_t readRegisterRegionAnyAddress(uint8_t *devReg, size_t regLength, uint8_t *data, size_t numBytes, size_t &readBytes);
sfeTkError_t readRegisterRegionAnyAddress(uint8_t *devReg, size_t regLength, uint8_t *data, size_t numBytes,
size_t &readBytes);

static constexpr size_t kDefaultBufferChunk = 32;

Expand Down
5 changes: 2 additions & 3 deletions src/sfeTkArdSPI.h
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ class sfeTkArdSPI : public sfeTkISPI
@retval sfeTkError_t - kSTkErrOk on success
*/
virtual sfeTkError_t writeRegisterRegion(uint8_t devReg, const uint8_t *data, size_t length);
sfeTkError_t writeRegisterRegion(uint8_t devReg, const uint8_t *data, size_t length);

/*--------------------------------------------------------------------------
@brief Writes a number of bytes starting at the given register's address.
Expand All @@ -131,7 +131,7 @@ class sfeTkArdSPI : public sfeTkISPI
@retval sfeTkError_t - kSTkErrOk on success
*/
virtual sfeTkError_t writeRegister16Region(uint16_t devReg, const uint8_t *data, size_t length);
sfeTkError_t writeRegister16Region(uint16_t devReg, const uint8_t *data, size_t length);

/*--------------------------------------------------------------------------
@brief Read a single byte from the given register
Expand Down Expand Up @@ -179,7 +179,6 @@ class sfeTkArdSPI : public sfeTkISPI
*/
virtual sfeTkError_t readRegister16Region(uint16_t reg, uint8_t *data, size_t numBytes, size_t &readBytes);


protected:
// note: The instance data is protected, allowing access if a sub-class is
// created to implement a special read/write routine
Expand Down

0 comments on commit 15dbb5f

Please sign in to comment.