mirror of
https://git.intern.spaceteamaachen.de/ALPAKA/sta-core.git
synced 2025-06-10 16:55:58 +00:00
67 lines
1.8 KiB
C++
67 lines
1.8 KiB
C++
#ifndef STA_CORE_SPATZ_HPP
|
|
#define STA_CORE_SPATZ_HPP
|
|
|
|
#include <sta/mutex.hpp>
|
|
|
|
#include <sta/config.hpp>
|
|
#ifdef STA_SPATZ_ENABLED
|
|
|
|
#include <sta/debug/debug.hpp>
|
|
#ifndef STA_DEBUGGING_ENABLED
|
|
# error "Cannot use SPATZ without debugging being enabled."
|
|
#endif // STA_DEBUGGING_ENABLED
|
|
|
|
namespace sta
|
|
{
|
|
namespace spatz
|
|
{
|
|
/**
|
|
* @brief Initialize SPATZ for in-the-loop testing.
|
|
*
|
|
* @param mutex A mutex used to make SPATZ thread-safe.
|
|
*/
|
|
void init(Mutex * mutex);
|
|
|
|
/**
|
|
* @brief Request bytes for a specific sensor id via the printable.
|
|
*
|
|
* @param id The id of the sensor to request data for.
|
|
* @param buffer The byte buffer to write the data to.
|
|
* @param length The number of the bytes to request.
|
|
*/
|
|
void request(uint8_t id, uint8_t * buffer, size_t length);
|
|
|
|
/**
|
|
* @brief Request floats for a specific sensor id via the printable.
|
|
*
|
|
* @param id The id of the sensor to request data for.
|
|
* @param buffer The float buffer to write the data to.
|
|
* @param length The number of floats to request.
|
|
*/
|
|
void request(uint8_t id, float * buffer, size_t length);
|
|
|
|
/**
|
|
* @brief Request doubles for a specific sensor id via the printable.
|
|
*
|
|
* @param id The id of the sensor to request data for.
|
|
* @param buffer The double buffer to write the data to.
|
|
* @param length The number of doubles to request.
|
|
*/
|
|
void request(uint8_t id, double * buffer, size_t length);
|
|
} // namespace spatz
|
|
} // namespace sta
|
|
|
|
#else
|
|
|
|
namespace sta
|
|
{
|
|
namespace spatz
|
|
{
|
|
void init(Mutex * mutex);
|
|
} // namespace spatz
|
|
} // namespace sta
|
|
|
|
#endif // STA_SPATZ_ENABLED
|
|
|
|
#endif // STA_CORE_SPATZ_HPP
|