#ifndef STA_CORE_SPATZ_HPP #define STA_CORE_SPATZ_HPP #include #ifdef STA_SPATZ_ENABLED #include #ifndef STA_DEBUGGING_ENABLED # error "Cannot use SPATZ without debugging being enabled." #endif // STA_DEBUGGING_ENABLED #include 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 #endif // STA_SPATZ_ENABLED #endif // STA_CORE_SPATZ_HPP