2 This file is part of Smoothie (http://smoothieware.org/). The motion control part is heavily based on Grbl (https://github.com/simen/grbl).
3 Smoothie is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
4 Smoothie is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
5 You should have received a copy of the GNU General Public License along with Smoothie. If not, see <http://www.gnu.org/licenses/>.
14 class StreamOutput
: public mbed::Stream
{
17 // virtual int puts(const char *str) = 0;
18 virtual int printf(const char* format
, ...) __attribute__ ((format(printf
, 2, 3))) {
22 va_start(args
, format
);
24 int size
= vsnprintf(NULL
, 0, format
, args
)
25 + 1; // we add one to take into account space for the terminating \0
27 buffer
= new char[size
];
28 vsnprintf(buffer
, size
, format
, args
);
36 virtual int _putc(int c
) { return 0; }
37 virtual int _getc(void) { return 0; }
38 virtual int puts(const char*) = 0;