Add doxygen docs

This commit is contained in:
Henrik Stickann
2022-05-10 15:36:48 +02:00
parent 8efed8802d
commit f4e3a0ae1c
8 changed files with 339 additions and 160 deletions

View File

@@ -1,9 +1,16 @@
/**
* @file
* @brief Helper macros for managing endian handling.
*/
#ifndef STA_ENDIAN_HPP
#define STA_ENDIAN_HPP
/**
* @defgroup staCoreEndian Endian
* @ingroup staCore
* @brief Endian handling.
*/
#include <sta/config.hpp>
#if !defined(STA_MCU_BIG_ENDIAN) && !defined(STA_MCU_LITTLE_ENDIAN)
@@ -16,6 +23,8 @@
*
* @param u16 16-bit input value
* @return 16-bit value w/ swapped byte order
*
* @ingroup staCoreEndian
*/
#define STA_UINT16_SWAP_BYTE_ORDER(u16) \
( \
@@ -28,6 +37,8 @@
*
* @param u32 32-bit input value
* @return 32-bit value w/ swapped byte order
*
* @ingroup staCoreEndian
*/
#define STA_UINT32_SWAP_BYTE_ORDER(u32) \
( \
@@ -42,6 +53,8 @@
*
* @param u16 16-bit input value
* @return Initializer list for uint8_t[2]
*
* @ingroup staCoreEndian
*/
#define STA_UINT16_TO_BYTES_BE(u16) \
{ \
@@ -54,6 +67,8 @@
*
* @param u16 16-bit input value
* @return Initializer list for uint8_t[2]
*
* @ingroup staCoreEndian
*/
#define STA_UINT16_TO_BYTES_LE(u16) \
{ \
@@ -66,6 +81,8 @@
*
* @param u32 32-bit input value
* @return Initializer list for uint8_t[4]
*
* @ingroup staCoreEndian
*/
#define STA_UINT32_TO_BYTES_BE(u32) \
{ \
@@ -80,6 +97,8 @@
*
* @param u32 32-bit input value
* @return Initializer list for uint8_t[4]
*
* @ingroup staCoreEndian
*/
#define STA_UINT32_TO_BYTES_LE(u32) \
{ \
@@ -90,132 +109,95 @@
}
/**
* @defe STA_UINT16_TO_BE(u16)
* @brief Convert 16-bit value to big-endian byte order.
*
* @param u16 16-bit input value
* @return 16-bit value w/ big-endian byte order
*/
/**
* @def STA_UINT16_TO_LE(u16)
* @brief Convert 16-bit value to little-endian byte order.
*
* @param u16 16-bit input value
* @return 16-bit value w/ little-endian byte order
*/
/**
* @def STA_UINT16_TO_BYTES(u16)
* @brief Get initializer list for byte array w/ MCU byte order from 16-bit value.
*
* @param u16 16-bit input value
* @return Initializer list for uint8_t[2]
*/
/**
* @def STA_UINT16_TO_BYTES_SWAP(u16)
* @brief Get initializer list for byte array w/ swapped MCU byte order from 16-bit value.
*
* @param u16 16-bit input value
* @return Initializer list for uint8_t[2]
*/
/**
* @def STA_UINT32_TO_BE(u32)
* @brief Convert 32-bit value to big-endian byte order.
*
* @param u32 32-bit input value
* @return 32-bit value w/ big-endian byte order
*/
/**
* @def STA_UINT32_TO_LE(u32)
* @brief Convert 32-bit value to little-endian byte order.
*
* @param u32 32-bit input value
* @return 32-bit value w/ little-endian byte order
*/
/**
* @def STA_UINT32_TO_BYTES(u32)
* @brief Get initializer list for byte array from 32-bit value.
*
* @param u32 32-bit input value
* @return Initializer list for uint8_t[4]
*/
/**
* @def STA_UINT32_TO_BYTES_SWAP(u32)
* @brief Get initializer list for byte array w/ swapped byte order from 32-bit value.
*
* @param u32 32-bit input value
* @return Initializer list for uint8_t[4]
*/
#ifdef STA_MCU_LITTLE_ENDIAN
/**
* @brief Convert 16-bit value to big-endian byte order.
*
* @param u16 16-bit input value
* @return 16-bit value w/ big-endian byte order
*/
# define STA_UINT16_TO_BE(u16) STA_UINT16_SWAP_BYTE_ORDER(u16)
/**
* @brief Convert 16-bit value to little-endian byte order.
*
* @param u16 16-bit input value
* @return 16-bit value w/ little-endian byte order
*/
# define STA_UINT16_TO_LE(u16) (u16)
/**
* @brief Get initializer list for byte array w/ MCU byte order from 16-bit value.
*
* @param u16 16-bit input value
* @return Initializer list for uint8_t[2]
*/
# define STA_UINT16_TO_BYTES(u16) STA_UINT16_TO_BYTES_LE(u16)
/**
* @brief Get initializer list for byte array w/ swapped MCU byte order from 16-bit value.
*
* @param u16 16-bit input value
* @return Initializer list for uint8_t[2]
*/
# define STA_UINT16_TO_BYTES_SWAP(u16) STA_UINT16_TO_BYTES_BE(u16)
# define STA_UINT16_TO_BYTES_SWAP(u16) STA_UINT16_TO_BYTES_BE(u16)
/**
* @brief Convert 32-bit value to big-endian byte order.
*
* @param u32 32-bit input value
* @return 32-bit value w/ big-endian byte order
*/
# define STA_UINT32_TO_BE(u32) STA_UINT32_SWAP_BYTE_ORDER(u32)
/**
* @brief Convert 32-bit value to little-endian byte order.
*
* @param u32 32-bit input value
* @return 32-bit value w/ little-endian byte order
*/
# define STA_UINT32_TO_LE(u32) (u32)
/**
* @brief Get initializer list for byte array from 32-bit value.
*
* @param u32 32-bit input value
* @return Initializer list for uint8_t[4]
*/
# define STA_UINT32_TO_BYTES(u32) STA_UINT32_TO_BYTES_LE(u32)
/**
* @brief Get initializer list for byte array w/ swapped byte order from 32-bit value.
*
* @param u32 32-bit input value
* @return Initializer list for uint8_t[4]
*/
# define STA_UINT32_TO_BYTES_SWAP(u32) STA_UINT32_TO_BYTES_BE(u32)
#elif STA_MCU_BIG_ENDIAN
/**
* @brief Convert 16-bit value to big-endian byte order.
*
* @param u16 16-bit input value
* @return 16-bit value w/ big-endian byte order
*/
# define STA_UINT16_TO_BE(u16) (u16)
/**
* @brief Convert 16-bit value to little-endian byte order.
*
* @param u16 16-bit input value
* @return 16-bit value w/ little-endian byte order
*/
# define STA_UINT16_TO_LE(u16) STA_UINT16_SWAP_BYTE_ORDER(u16)
/**
* @brief Get initializer list for byte array w/ MCU byte order from 16-bit value.
*
* @param u16 16-bit input value
* @return Initializer list for uint8_t[2]
*/
# define STA_UINT16_TO_BYTES(u16) STA_UINT16_TO_BYTES_BE(u16)
/**
* @brief Get initializer list for byte array w/ swapped MCU byte order from 16-bit value.
*
* @param u16 16-bit input value
* @return Initializer list for uint8_t[2]
*/
# define STA_UINT16_TO_BYTES_SWAP(u16) STA_UINT16_TO_BYTES_LE(u16)
/**
* @brief Convert 32-bit value to big-endian byte order.
*
* @param u32 32-bit input value
* @return 32-bit value w/ big-endian byte order
*/
# define STA_UINT32_TO_BE(u32) (u32)
/**
* @brief Convert 32-bit value to little-endian byte order.
*
* @param u32 32-bit input value
* @return 32-bit value w/ little-endian byte order
*/
# define STA_UINT32_TO_LE(u32) STA_UINT32_SWAP_BYTE_ORDER(u32)
/**
* @brief Get initializer list for byte array from 32-bit value.
*
* @param u32 32-bit input value
* @return Initializer list for uint8_t[4]
*/
# define STA_UINT32_TO_BYTES(u32) STA_UINT32_TO_BYTES_BE(u32)
/**
* @brief Get initializer list for byte array w/ swapped byte order from 32-bit value.
*
* @param u32 32-bit input value
* @return Initializer list for uint8_t[4]
*/
# define STA_UINT32_TO_BYTES_SWAP(u32) STA_UINT32_TO_BYTES_LE(u32)
#endif // STA_MCU_BIG_ENDIAN