* \param[in] Length Length of the data to send, in bytes.
*/
void Serial_SendData(USART_t* const USART,
- const void* Buffer, uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
+ const void* Buffer,
+ uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
/** Creates a standard character stream from the USART so that it can be used with all the regular functions
* in the avr-libc \c <stdio.h> library that accept a \c FILE stream as a destination (e.g. \c fprintf). The created
*
* \pre The USART must first be configured via a call to \ref Serial_Init() before the stream is used.
*/
- void Serial_CreateStream(FILE* Stream);
+ void Serial_CreateStream(FILE* const Stream);
/** Identical to \ref Serial_CreateStream(), except that reads are blocking until the calling stream function terminates
* the transfer.
*
* \pre The USART must first be configured via a call to \ref Serial_Init() before the stream is used.
*/
- void Serial_CreateBlockingStream(FILE* Stream);
+ void Serial_CreateBlockingStream(FILE* const Stream);
/* Inline Functions: */
/** Initializes the USART, ready for serial data transmission and reception. This initializes the interface to
*/
static inline void Serial_Init(USART_t* const USART,
const uint32_t BaudRate,
+ const bool DoubleSpeed) ATTR_NON_NULL_PTR_ARG(1);
+ static inline void Serial_Init(USART_t* const USART,
+ const uint32_t BaudRate,
const bool DoubleSpeed)
{
uint16_t BaudValue = (DoubleSpeed ? SERIAL_2X_UBBRVAL(BaudRate) : SERIAL_UBBRVAL(BaudRate));
*
* \param[in,out] USART Pointer to the base of the USART peripheral within the device.
*/
+ static inline void Serial_Disable(USART_t* const USART) ATTR_ALWAYS_INLINE ATTR_NON_NULL_PTR_ARG(1);
static inline void Serial_Disable(USART_t* const USART)
{
USART->CTRLA = 0;
*
* \return Boolean \c true if a character has been received, \c false otherwise.
*/
- static inline bool Serial_IsCharReceived(USART_t* const USART) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
+ static inline bool Serial_IsCharReceived(USART_t* const USART) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(1);
static inline bool Serial_IsCharReceived(USART_t* const USART)
{
return ((USART->STATUS & USART_RXCIF_bm) ? true : false);
* \param[in] DataByte Byte to transmit through the USART.
*/
static inline void Serial_SendByte(USART_t* const USART,
- const char DataByte) ATTR_ALWAYS_INLINE;
+ const char DataByte) ATTR_ALWAYS_INLINE ATTR_NON_NULL_PTR_ARG(1);
static inline void Serial_SendByte(USART_t* const USART,
const char DataByte)
{
*
* \return Next byte received from the USART, or a negative value if no byte has been received.
*/
- static inline int16_t Serial_ReceiveByte(USART_t* const USART) ATTR_ALWAYS_INLINE;
+ static inline int16_t Serial_ReceiveByte(USART_t* const USART) ATTR_ALWAYS_INLINE ATTR_NON_NULL_PTR_ARG(1);
static inline int16_t Serial_ReceiveByte(USART_t* const USART)
{
if (!(Serial_IsCharReceived(USART)))