Soldered SD Card Arduino Library
1.0.0
Easily read and write files to and form the SD card breakout! A fork of the original SDFat library by Bill Greiman.
Toggle main menu visibility
Loading...
Searching...
No Matches
ArduinoStream.h
Go to the documentation of this file.
1
25
#ifndef ArduinoStream_h
26
#define ArduinoStream_h
31
#include "
SdFatConfig.h
"
32
#include "
bufstream.h
"
33
//==============================================================================
38
class
ArduinoInStream
:
public
ibufstream
39
{
40
public
:
47
ArduinoInStream
(Stream &hws,
char
*buf,
size_t
size)
48
{
49
m_hw
= &hws;
50
m_line
= buf;
51
m_size
= size;
52
}
53
54
void
readline
()
55
{
56
size_t
i = 0;
57
uint32_t t;
58
m_line
[0] =
'\0'
;
59
while
(!
m_hw
->available())
60
{
61
SysCall::yield
();
62
}
63
64
while
(1)
65
{
66
t = millis();
67
while
(!
m_hw
->available())
68
{
69
if
((millis() - t) > 10)
70
{
71
goto
done;
72
}
73
}
74
if
(i >= (
m_size
- 1))
75
{
76
setstate
(
failbit
);
77
return
;
78
}
79
m_line
[i++] =
m_hw
->read();
80
m_line
[i] =
'\0'
;
81
}
82
done:
83
init
(
m_line
);
84
}
85
86
protected
:
92
bool
seekoff
(
off_type
off,
seekdir
way)
93
{
94
(void)off;
95
(void)way;
96
return
false
;
97
}
98
102
bool
seekpos
(
pos_type
pos)
103
{
104
(void)pos;
105
return
false
;
106
}
107
108
private
:
109
char
*
m_line
;
110
size_t
m_size
;
111
Stream *
m_hw
;
112
};
113
//==============================================================================
118
class
ArduinoOutStream
:
public
ostream
119
{
120
public
:
125
explicit
ArduinoOutStream
(Print &pr) :
m_pr
(&pr)
126
{
127
}
128
129
protected
:
131
135
void
putch(
char
c)
136
{
137
if
(c ==
'\n'
)
138
{
139
m_pr
->write(
'\r'
);
140
}
141
m_pr
->write(c);
142
}
143
void
putstr(
const
char
*str)
144
{
145
m_pr
->write(str);
146
}
147
bool
seekoff(
off_type
off,
seekdir
way)
148
{
149
(void)off;
150
(void)way;
151
return
false
;
152
}
153
bool
seekpos(
pos_type
pos)
154
{
155
(void)pos;
156
return
false
;
157
}
158
bool
sync()
159
{
160
return
true
;
161
}
162
pos_type
tellpos()
163
{
164
return
0;
165
}
167
private
:
168
ArduinoOutStream
()
169
{
170
}
171
Print *
m_pr
;
172
};
173
#endif
// ArduinoStream_h
SdFatConfig.h
configuration definitions
bufstream.h
ibufstream and obufstream classes
ArduinoInStream::m_hw
Stream * m_hw
Definition
ArduinoStream.h:111
ArduinoInStream::m_line
char * m_line
Definition
ArduinoStream.h:109
ArduinoInStream::m_size
size_t m_size
Definition
ArduinoStream.h:110
ArduinoInStream::ArduinoInStream
ArduinoInStream(Stream &hws, char *buf, size_t size)
Definition
ArduinoStream.h:47
ArduinoInStream::seekpos
bool seekpos(pos_type pos)
Definition
ArduinoStream.h:102
ArduinoInStream::seekoff
bool seekoff(off_type off, seekdir way)
Definition
ArduinoStream.h:92
ArduinoInStream::readline
void readline()
Definition
ArduinoStream.h:54
ArduinoOutStream::ArduinoOutStream
ArduinoOutStream()
Definition
ArduinoStream.h:168
ArduinoOutStream::ArduinoOutStream
ArduinoOutStream(Print &pr)
Definition
ArduinoStream.h:125
ArduinoOutStream::m_pr
Print * m_pr
Definition
ArduinoStream.h:171
SysCall::yield
static void yield()
Definition
SysCall.h:85
ibufstream::init
void init(const char *str)
Definition
bufstream.h:57
ibufstream::ibufstream
ibufstream()
Definition
bufstream.h:42
ios_base::failbit
static const iostate failbit
Definition
ios.h:63
ios_base::off_type
int32_t off_type
Definition
ios.h:73
ios_base::seekdir
seekdir
Definition
ios.h:87
ios_base::pos_type
uint32_t pos_type
Definition
ios.h:71
ios::setstate
void setstate(iostate state)
Definition
ios.h:488
ostream::ostream
ostream()
Definition
ostream.h:40
src
iostream
ArduinoStream.h
Generated on
for Soldered SD Card Arduino Library by
1.17.0. Dark theme by
Tilen Majerle
. All rights reserved. Copyright:
Soldered