LightHub
4.6.0
Open-source smart home controller firmware
Toggle main menu visibility
Loading...
Searching...
No Matches
flashstream.h
Go to the documentation of this file.
1
#pragma once
2
//#ifndef _FLASHSTREAM_H_
3
//#define _FLASHSTREAM_H_
4
5
6
7
#include <Stream.h>
8
#include <Arduino.h>
9
#include "
seekablestream.h
"
10
//#include "config.h"
11
12
#if defined(FS_STORAGE)
13
#include <FS.h>
14
#if defined ARDUINO_ARCH_ESP32
15
#include <SPIFFS.h>
16
#endif
17
#endif
18
19
#define FN_CONFIG_JSON 1
20
#define FN_CONFIG_BIN 2
21
22
23
#if defined(FS_STORAGE)
24
class
flashStream
:
public
seekableStream
25
{
26
private
:
27
String filename;
28
char
openedMode;
29
File fs;
30
public
:
31
flashStream
():
seekableStream
(65535)
32
{
33
openedMode=
'\0'
;
34
filename =
""
;
35
};
36
virtual
int
open
(String _filename,
char
mode)
override
;
37
virtual
int
available
()
override
;
38
virtual
int
read
()
override
;
39
virtual
int
peek
()
override
;
40
virtual
unsigned
int
seek
(
unsigned
int
_pos = 0)
override
;
41
virtual
void
close
()
override
;
42
virtual
void
flush
()
override
;
43
virtual
size_t
write
(uint8_t ch);
44
using
Print::write;
45
virtual
void
putEOF
()
override
{};
46
virtual
~flashStream
();
47
};
48
49
#else
50
#define MAX_STREAM_SIZE 4096
51
class
flashStream
:
public
seekableStream
52
{
53
protected
:
54
unsigned
int
pos
;
55
unsigned
int
startPos
;
56
char
openmode
;
57
58
public
:
59
flashStream
():
seekableStream
(
MAX_STREAM_SIZE
),
pos
(0),
startPos
(0),
openmode
(
'\0'
){};
60
void
setSize
(
unsigned
int
_size);
61
int
open
(
short
fileNum,
char
mode=
'\0'
) ;
62
virtual
int
open
(String _filename,
char
mode=
'\0'
)
override
;
63
virtual
unsigned
int
seek
(
unsigned
int
_pos = 0);
64
virtual
int
available
()
override
;
65
virtual
int
read
() ;
66
virtual
int
peek
() ;
67
virtual
void
flush
();
68
virtual
size_t
write
(uint8_t ch) ;
69
70
//#if defined(__SAM3X8E__)
71
//virtual size_t write(const uint8_t *buffer, size_t size) override;
72
//#else
73
using
Print::write;
//(const uint8_t *buffer, size_t size);
74
//#endif
75
76
#if defined(ESP8266) || defined(ESP32)
77
virtual
void
putEOF
()
override
;
78
#endif
79
80
virtual
void
close
()
override
;
81
};
82
#endif
83
84
//#endif
flashStream
Definition
flashstream.h:52
flashStream::available
virtual int available() override
Definition
flashstream.cpp:194
flashStream::pos
unsigned int pos
Definition
flashstream.h:54
flashStream::startPos
unsigned int startPos
Definition
flashstream.h:55
flashStream::seek
virtual unsigned int seek(unsigned int _pos=0)
Definition
flashstream.cpp:176
flashStream::peek
virtual int peek()
Definition
flashstream.cpp:207
flashStream::close
virtual void close() override
Definition
flashstream.cpp:284
flashStream::flashStream
flashStream()
Definition
flashstream.h:59
flashStream::write
virtual size_t write(uint8_t ch)
Definition
flashstream.cpp:230
flashStream::read
virtual int read()
Definition
flashstream.cpp:200
flashStream::flush
virtual void flush()
Definition
flashstream.cpp:215
flashStream::openmode
char openmode
Definition
flashstream.h:56
flashStream::open
int open(short fileNum, char mode='\0')
Definition
flashstream.cpp:121
flashStream::setSize
void setSize(unsigned int _size)
Definition
flashstream.cpp:120
seekableStream
Definition
seekablestream.h:10
seekableStream::putEOF
virtual void putEOF()
Definition
seekablestream.h:25
seekableStream::seekableStream
seekableStream(unsigned int size)
Definition
seekablestream.h:17
MAX_STREAM_SIZE
#define MAX_STREAM_SIZE
Definition
flashstream.h:50
seekablestream.h
lighthub
flashstream.h
Generated by
1.18.0