summaryrefslogtreecommitdiff
path: root/lib/lvgl/src/misc/lv_printf.h
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-06-01 15:41:47 +1000
committerjacqueline <me@jacqueline.id.au>2023-06-01 15:41:47 +1000
commitdd27c3530432ea0b09f01e604bf577f31d8ef841 (patch)
treebbf86cf81a78f0ff0b07f31f1c390db473f26fd3 /lib/lvgl/src/misc/lv_printf.h
parent6fd588e970470b15936187980829916d0dbe77bb (diff)
downloadtangara-fw-dd27c3530432ea0b09f01e604bf577f31d8ef841.tar.gz
convert lvgl from submodule to a plain old directory
Diffstat (limited to 'lib/lvgl/src/misc/lv_printf.h')
m---------lib/lvgl0
-rw-r--r--lib/lvgl/src/misc/lv_printf.h92
2 files changed, 92 insertions, 0 deletions
diff --git a/lib/lvgl b/lib/lvgl
deleted file mode 160000
-Subproject 0732400e7b564dd0e7dc4a924619d8e19c5b23a
diff --git a/lib/lvgl/src/misc/lv_printf.h b/lib/lvgl/src/misc/lv_printf.h
new file mode 100644
index 00000000..4cbbd84c
--- /dev/null
+++ b/lib/lvgl/src/misc/lv_printf.h
@@ -0,0 +1,92 @@
+///////////////////////////////////////////////////////////////////////////////
+// \author (c) Marco Paland (info@paland.com)
+// 2014-2019, PALANDesign Hannover, Germany
+//
+// \license The MIT License (MIT)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+//
+// \brief Tiny printf, sprintf and snprintf implementation, optimized for speed on
+// embedded systems with a very limited resources.
+// Use this instead of bloated standard/newlib printf.
+// These routines are thread safe and reentrant.
+//
+///////////////////////////////////////////////////////////////////////////////
+
+/*Original repository: https://github.com/mpaland/printf*/
+
+#ifndef _LV_PRINTF_H_
+#define _LV_PRINTF_H_
+
+#if defined(__has_include)
+ #if __has_include(<inttypes.h>)
+ #include <inttypes.h>
+ /* platform-specific printf format for int32_t, usually "d" or "ld" */
+ #define LV_PRId32 PRId32
+ #define LV_PRIu32 PRIu32
+ #else
+ #define LV_PRId32 "d"
+ #define LV_PRIu32 "u"
+ #endif
+#else
+ /* hope this is correct for ports without __has_include or without inttypes.h */
+ #define LV_PRId32 "d"
+ #define LV_PRIu32 "u"
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "../lv_conf_internal.h"
+
+#if LV_SPRINTF_CUSTOM == 0
+
+#include <stdarg.h>
+#include <stddef.h>
+
+#include "lv_types.h"
+
+typedef struct {
+ const char * fmt;
+ va_list * va;
+} lv_vaformat_t;
+
+/**
+ * Tiny snprintf/vsnprintf implementation
+ * \param buffer A pointer to the buffer where to store the formatted string
+ * \param count The maximum number of characters to store in the buffer, including a terminating null character
+ * \param format A string that specifies the format of the output
+ * \param va A value identifying a variable arguments list
+ * \return The number of characters that COULD have been written into the buffer, not counting the terminating
+ * null character. A value equal or larger than count indicates truncation. Only when the returned value
+ * is non-negative and less than count, the string has been completely written.
+ */
+int lv_snprintf(char * buffer, size_t count, const char * format, ...) LV_FORMAT_ATTRIBUTE(3, 4);
+int lv_vsnprintf(char * buffer, size_t count, const char * format, va_list va) LV_FORMAT_ATTRIBUTE(3, 0);
+
+#else
+#include LV_SPRINTF_INCLUDE
+#endif
+
+#ifdef __cplusplus
+} /*extern "C"*/
+#endif
+
+#endif // _LV_PRINTF_H_