Larus glider flight sensor system 3.9.2024
Software-In-The-Loop test and validation system
Loading...
Searching...
No Matches
serial_io.cpp
Go to the documentation of this file.
1/***********************************************************************/
25#include "ascii_support.h"
26#include "serial_io.h"
27
28void serial_output::puti( int value, int base)
29{
30 char buffer[20];
31 itoa( value, buffer, base);
32 puts( buffer);
33}
35{
36 char buffer[20];
37 utox( buffer, value, digits);
38 puts( buffer);
39}
40void serial_output::putf( float value)
41{
42 char buffer[20];
43 my_ftoa( buffer, value);
44 puts( buffer);
45}
46void serial_output::puts( const char * data)
47{
48 while (*data != 0)
49 put( *data++);
50}
52{
53 puts((char *)"\r\n");
54}
56{
57 put( ' ');
58}
60{
61 int value;
62 bool negative = false;
63 char c;
64
65 while( true)
66 {
67 c=get_blocking();
68 if( c == '-')
69 negative = true;
70 else if(( c >= '0') && (c <= '9'))
71 break; // numbers starting
72 }
73
74 value = c - '0'; // ASCII -> bin
75
76 while((( c = get_blocking()) >= '0') && ( c <= '9'))
77 {
78 value = value * 10 + ( c - '0'); // add next digit
79
80 }
81 return negative ? -value : value;
82}
char * utox(char *result, uint32_t value, uint8_t nibbles)
char * my_ftoa(char *target, float value)
char * itoa(int value, char *result, int base)
Simple and fast ASCII converters.
virtual char get_blocking(void)
Definition serial_io.h:43
int geti(void)
Definition serial_io.cpp:59
virtual void put(char)
Definition serial_io.h:53
void putx(int32_t value, uint8_t digits=8)
Definition serial_io.cpp:34
void putf(float value)
Definition serial_io.cpp:40
void blank(void)
Definition serial_io.cpp:55
void puti(int value, int base=10)
Definition serial_io.cpp:28
virtual void puts(const char *data)
Definition serial_io.cpp:46
void newline(void)
Definition serial_io.cpp:51
mathematical vector of arbitrary type and size
Definition vector.h:40
serial input output abstract class (interface)