mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/sta-core.git
synced 2025-06-10 16:55:58 +00:00
Moved simultaneous reading and writing into SPI; removed it from I2C and UART
This commit is contained in:
parent
8ffba482de
commit
4c157bbe52
@ -53,15 +53,6 @@ namespace sta
|
||||
*/
|
||||
void transfer(const uint8_t * buffer, size_t size);
|
||||
|
||||
/**
|
||||
* @brief Send and receive data simultaneously.
|
||||
*
|
||||
* @param txBuffer Send buffer
|
||||
* @param rxBuffer Receive buffer
|
||||
* @param size Number of bytes to transfer
|
||||
*/
|
||||
void transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size);
|
||||
|
||||
/**
|
||||
* @brief Read incoming data to buffer.
|
||||
*
|
||||
@ -95,4 +86,4 @@ namespace sta
|
||||
};
|
||||
} // namespace sta
|
||||
|
||||
#endif // STA_CORE_BUS_SERIAL_DEVICE_HPP
|
||||
#endif // STA_CORE_BUS_SERIAL_DEVICE_HPP
|
||||
|
@ -35,14 +35,6 @@ namespace sta
|
||||
* @param size Number of bytes to transfer
|
||||
*/
|
||||
virtual void transfer(const uint8_t * buffer, size_t size) = 0;
|
||||
/**
|
||||
* @brief Send and receive data simultaneously.
|
||||
*
|
||||
* @param txBuffer Send buffer
|
||||
* @param rxBuffer Receive buffer
|
||||
* @param size Number of bytes to transfer
|
||||
*/
|
||||
virtual void transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size) = 0;
|
||||
/**
|
||||
* @brief Read incoming data to buffer.
|
||||
*
|
||||
|
@ -29,6 +29,15 @@ namespace sta
|
||||
*/
|
||||
SPIDevice(SPI * intf, GpioPin * csPin);
|
||||
|
||||
/**
|
||||
* @brief Send and receive data simultaneously.
|
||||
*
|
||||
* @param txBuffer Send buffer
|
||||
* @param rxBuffer Receive buffer
|
||||
* @param size Number of bytes to transfer
|
||||
*/
|
||||
void transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size);
|
||||
|
||||
/**
|
||||
* @brief Get %SPI interface settings.
|
||||
*
|
||||
|
@ -31,6 +31,15 @@ namespace sta
|
||||
*/
|
||||
SPI(const SPISettings & settings, Mutex * mutex = nullptr);
|
||||
|
||||
/**
|
||||
* @brief Send and receive data simultaneously.
|
||||
*
|
||||
* @param txBuffer Send buffer
|
||||
* @param rxBuffer Receive buffer
|
||||
* @param size Number of bytes to transfer
|
||||
*/
|
||||
virtual void transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size) = 0;
|
||||
|
||||
/**
|
||||
* @brief Get %SPI interface settings.
|
||||
*
|
||||
|
@ -26,7 +26,6 @@ namespace sta
|
||||
void transfer(uint8_t value) override;
|
||||
void transfer16(uint16_t value) override;
|
||||
void transfer(const uint8_t * buffer, size_t size) override;
|
||||
void transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size) override;
|
||||
void receive(uint8_t * buffer, size_t size) override;
|
||||
|
||||
void acquire() override;
|
||||
@ -48,4 +47,4 @@ namespace sta
|
||||
|
||||
#endif // STA_PLATFORM_RASPI
|
||||
|
||||
#endif // STA_I2C_HPP
|
||||
#endif // STA_I2C_HPP
|
||||
|
@ -24,7 +24,6 @@ namespace sta
|
||||
void transfer(uint8_t value) override;
|
||||
void transfer16(uint16_t value) override;
|
||||
void transfer(const uint8_t * buffer, size_t size) override;
|
||||
void transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size) override;
|
||||
void receive(uint8_t * buffer, size_t size) override;
|
||||
|
||||
void fill(uint8_t value, size_t count) override;
|
||||
|
@ -46,7 +46,6 @@ namespace sta
|
||||
void transfer(uint8_t value) override;
|
||||
void transfer16(uint16_t value) override;
|
||||
void transfer(const uint8_t * buffer, size_t size) override;
|
||||
void transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size) override;
|
||||
void receive(uint8_t * buffer, size_t size) override;
|
||||
|
||||
void fill(uint8_t value, size_t count) override;
|
||||
|
@ -48,16 +48,6 @@ namespace sta
|
||||
intf_->transfer(buffer, size);
|
||||
}
|
||||
|
||||
void Device::transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size)
|
||||
{
|
||||
STA_ASSERT(intf_->isAcquired());
|
||||
STA_ASSERT(selected_);
|
||||
STA_ASSERT(txBuffer != nullptr);
|
||||
STA_ASSERT(rxBuffer != nullptr);
|
||||
|
||||
intf_->transfer(txBuffer, rxBuffer, size);
|
||||
}
|
||||
|
||||
void Device::receive(uint8_t * buffer, size_t size)
|
||||
{
|
||||
STA_ASSERT(intf_->isAcquired());
|
||||
|
@ -12,6 +12,15 @@ namespace sta
|
||||
STA_ASSERT(csPin != nullptr);
|
||||
}
|
||||
|
||||
void SPIDevice::transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size)
|
||||
{
|
||||
STA_ASSERT(intf_->isAcquired());
|
||||
STA_ASSERT(txBuffer != nullptr);
|
||||
STA_ASSERT(rxBuffer != nullptr);
|
||||
|
||||
intf_->transfer(txBuffer, rxBuffer, size);
|
||||
}
|
||||
|
||||
const SPISettings & SPIDevice::settings() const
|
||||
{
|
||||
return intf_->settings();
|
||||
|
@ -58,13 +58,6 @@ namespace sta
|
||||
write(i2cfd_, buffer, size);
|
||||
}
|
||||
|
||||
void RaspiI2C::transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size)
|
||||
{
|
||||
STA_ASSERT(open_);
|
||||
|
||||
// TODO: Is this even possible in i2c?
|
||||
}
|
||||
|
||||
void RaspiI2C::receive(uint8_t * buffer, size_t size)
|
||||
{
|
||||
STA_ASSERT(open_);
|
||||
@ -118,4 +111,4 @@ namespace sta
|
||||
}
|
||||
} // namespace sta
|
||||
|
||||
#endif // STA_PLATFORM_RASPI
|
||||
#endif // STA_PLATFORM_RASPI
|
||||
|
@ -83,11 +83,6 @@ namespace sta
|
||||
STA_ASSERT(res == HAL_OK);
|
||||
}
|
||||
|
||||
void STM32I2C::transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size)
|
||||
{
|
||||
// TODO: Is this even something necessary for I2C?
|
||||
}
|
||||
|
||||
void STM32I2C::receive(uint8_t * buffer, size_t size)
|
||||
{
|
||||
HAL_StatusTypeDef res;
|
||||
|
@ -29,11 +29,6 @@ namespace sta
|
||||
HAL_UART_Transmit(handle_, const_cast<uint8_t *>(buffer), size, HAL_MAX_DELAY);
|
||||
}
|
||||
|
||||
void STM32UART::transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size)
|
||||
{
|
||||
// IS THIS A THING HERE?
|
||||
}
|
||||
|
||||
void STM32UART::receive(uint8_t * buffer, size_t size)
|
||||
{
|
||||
STA_ASSERT(buffer != nullptr);
|
||||
|
Loading…
x
Reference in New Issue
Block a user