Improved printable implementation; data reading with macro

This commit is contained in:
dario
2024-06-26 17:41:56 +02:00
committed by dario
parent b9ccb2d65f
commit ebb14896b8
7 changed files with 56 additions and 16 deletions

View File

@@ -35,16 +35,17 @@ namespace sta
*
* @param fmt See @ref sta::Printable::printf
* @param ... See @ref sta::Printable::printf
*
* @ingroup sta_core_debug
*/
# define STA_DEBUG_PRINTF(fmt, ...) sta::Debug->printf(fmt, __VA_ARGS__)
/**
* @brief Read string via printable.
* @brief Read data via printable.
*
* @param ... See @ref sta::Printable::read
*
* @ingroup sta_core_debug
*
*/
# define STA_DEBUG_READ(buffer, length) sta::Debug->read(buffer, length)

View File

@@ -170,13 +170,37 @@ namespace sta
*/
void println(const char * str, size_t length);
public:
/**
* @brief Read bytes.
*
* @param buffer Byte buffer
* @param length Buffer length
*/
virtual void read(uint8_t * buffer, size_t length) = 0;
/**
* @brief Read string.
*
* @param str String buffer
* @param length String length
*/
virtual void read(char* str, size_t length) = 0;
void read(char * str, size_t length);
/**
* @brief Read floats.
*
* @param buffer Float buffer
* @param length Buffer length
*/
void read(float * buffer, size_t length);
/**
* @brief Read doubles.
*
* @param buffer Double buffer
* @param length Buffer length
*/
void read(double * buffer, size_t length);
private:
/**

View File

@@ -28,12 +28,12 @@ namespace sta
void print(const char * str, size_t length, bool newline = false) override;
/**
* @brief Print string.
*
* @param str String buffer
* @param length String length
* @brief Read bytes.
*
* @param buffer Byte buffer
* @param length Buffer length
*/
void read(char * str, size_t length) override;
void read(uint8_t * buffer, size_t length) override;
};
} // namespace sta

View File

@@ -37,12 +37,12 @@ namespace sta
void print(const char * str, size_t length, bool newline = false) override;
/**
* @brief Read string.
*
* @param str String buffer
* @param length String length
* @brief Read bytes.
*
* @param buffer Byte buffer
* @param length Buffer length
*/
void read(char * str, size_t length) override;
void read(uint8_t * str, size_t length) override;
private:
UART * intf_;