Functions | Variables

sersendf.c File Reference

Simplified printf implementation. More...

#include "sersendf.h"
#include <stdarg.h>
#include <avr/pgmspace.h>
#include "serial.h"
#include "sermsg.h"

Functions

void sersendf_P (PGM_P format,...)
 Simplified printf.

Variables

PGM_P str_ox = "0x"
 for sending hex data

Detailed Description

Simplified printf implementation.


Function Documentation

void sersendf_P ( PGM_P  format,
  ... 
)

Simplified printf.

Parameters:
formatpointer to output format specifier string stored in FLASH.
...output data

Implements only a tiny subset of printf's format specifiers :-

%[ls][udcx%]

l - following data is (32 bits)
s - following data is short (8 bits)
none - following data is 16 bits.

u - unsigned int
d - signed int
c - character
x - hex
% - send a literal % character

Example:

 sersendf_P(PSTR("X:%ld Y:%ld temp:%u.%d flags:%sx Q%su/%su%c\n"), target.X, target.Y, current_temp >> 2, (current_temp & 3) * 25, dda.allflags, mb_head, mb_tail, (queue_full()?'F':(queue_empty()?'E':' '))) 

Referenced by clock_250ms(), dda_create(), gcode_parse_char(), heater_print(), heater_set(), heater_tick(), print_queue(), process_gcode_command(), temp_print(), and temp_sensor_tick().

 All Data Structures Files Functions Variables Defines