MIP_SDK  v3.0.0-425-g6df21bd
MicroStrain Communications Library for embedded systems
strings.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <stdarg.h>
4 #include <stdbool.h>
5 #include <stddef.h>
6 #include <stdint.h>
7 
8 #ifdef __cplusplus
9 namespace microstrain {
10 namespace C {
11 extern "C" {
12 #endif
13 
40 
47 
48 bool microstrain_string_concat(char* buffer, size_t buffer_size, size_t* index, const char* str, size_t str_len);
49 bool microstrain_string_concat_z(char* buffer, size_t buffer_size, size_t* index, const char* str);
50 
51 #define microstrain_string_concat_l(buffer, buffer_size, index, str_lit) microstrain_string_concat(buffer, buffer_size, index, str_lit, sizeof(str_lit)-1)
52 
53 #if MICROSTRAIN_ENABLE_LOGGING
54 // sprintf is too big for some embedded systems.
55 // Disable it when logging is disabled.
56 bool microstrain_string_format_v(char* buffer, size_t buffer_size, size_t* index, const char* fmt, va_list args);
57 bool microstrain_string_format(char* buffer, size_t buffer_size, size_t* index, const char* fmt, ...);
58 
59 #endif // MICROSTRAIN_ENABLE_LOGGING
60 
61 bool microstrain_string_bytes_to_hex_str(char* buffer, size_t buffer_size, size_t* index, const uint8_t* data, size_t data_size, unsigned int byte_grouping);
62 
66 
67 #ifdef __cplusplus
68 } // extern "C"
69 } // namespace C
70 } // namespace microstrain
71 #endif
microstrain::C::microstrain_string_format_v
bool microstrain_string_format_v(char *buffer, size_t buffer_size, size_t *index, const char *fmt, va_list args)
Wrapper for std::vsnprintf with a better interface.
Definition: strings.c:126
microstrain::C::microstrain_string_concat_z
bool microstrain_string_concat_z(char *buffer, size_t buffer_size, size_t *index, const char *str)
Concatenate a string into a buffer.
Definition: strings.c:94
microstrain::C::microstrain_string_bytes_to_hex_str
bool microstrain_string_bytes_to_hex_str(char *buffer, size_t buffer_size, size_t *index, const uint8_t *data, size_t data_size, unsigned int byte_grouping)
Formats a byte array to a text buffer in hexadecimal.
Definition: strings.c:242
microstrain::C::microstrain_string_concat
bool microstrain_string_concat(char *buffer, size_t buffer_size, size_t *index, const char *str, size_t str_len)
Concatenate a string into a buffer.
Definition: strings.c:35
microstrain::C::microstrain_string_format
bool microstrain_string_format(char *buffer, size_t buffer_size, size_t *index, const char *fmt,...)
Wrapper for std::snprintf with a better interface.
Definition: strings.c:186
microstrain
Definition: embedded_time.h:8