37#include <stdnoreturn.h> 
   41#define FLOAT_PRECISION 100000 
   81  for (
uint32_t n = 
b; n > 1; n--) { c *= a; }
 
  131#if CHPRINTF_USE_FLOAT 
  175#if CHPRINTF_USE_FLOAT 
  185    if (buffer != 
NULL) {
 
  189        return (--size == 0);
 
  193    } 
else if (chp != 
NULL) {
 
  207      if (buffer != 
NULL) {
 
  222    } 
else if (*fmt == 
'+') {
 
  230#if CHPRINTF_USE_FLOAT 
  237      if (c >= 
'0' && c <= 
'9') {
 
  239      } 
else if (c == 
'*') {
 
  244      width = width * 10 + c;
 
  250        if (c >= 
'0' && c <= 
'9') {
 
  252#if CHPRINTF_USE_FLOAT 
  255        } 
else if (c == 
'*') {
 
  265    if (c == 
'l' || c == 
'L') {
 
  271      is_long = (c >= 
'A') && (c <= 
'Z');
 
  282        if ((
s = 
va_arg(ap, 
char *)) == 0) {
 
  304#if CHPRINTF_USE_FLOAT 
  340    if ((width -= i) < 0) {
 
  347      if (*
s == 
'-' && 
filler == 
'0') {
 
  353      while (++width != 0);
 
 
  377void chsnprintf(
char *buffer, 
size_t size, 
const char *fmt, ...)
 
 
static thread_t * printThreadPtr
static char * long_to_string_with_divisor(char *p, long num, unsigned radix, long divisor)
void smchsnprintf(char *buffer, size_t size, const char *fmt,...)
void chvsnprintf(char *buffer, size_t size, const char *fmt, va_list ap)
static char * ltoa(char *p, long num, unsigned radix)
void directchvprintf(BaseSequentialStream *chp, const char *fmt, va_list ap)
void directchprintf(BaseSequentialStream *chp, const char *fmt,...)
void smchvsnprintf(char *buffer, size_t size, const char *fmt, va_list ap)
static void _chvsnprintf(char *buffer, BaseSequentialStream *chp, size_t size, const char *fmt, va_list ap)
System formatted output function.
static THD_WORKING_AREA(waSerialPrint, 512)
void chsnprintf(char *buffer, size_t size, const char *fmt,...)
void chprintf(BaseSequentialStream *lchp, const char *fmt,...)
void chvprintf(BaseSequentialStream *lchp, const char *fmt, va_list ap)
static noreturn void serialPrint(void *arg)
Mini printf-like functionality.
unsigned int uint32_t
Typedef defining 32 bit unsigned int type.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.