LightHub 4.6.0
Open-source smart home controller firmware
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)
24class flashStream : public seekableStream
25{
26private:
27String filename;
28char openedMode;
29File fs;
30public:
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
52{
53protected:
54unsigned int pos;
55unsigned int startPos;
57
58public:
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
Definition flashstream.h:52
virtual int available() override
Definition flashstream.cpp:194
unsigned int pos
Definition flashstream.h:54
unsigned int startPos
Definition flashstream.h:55
virtual unsigned int seek(unsigned int _pos=0)
Definition flashstream.cpp:176
virtual int peek()
Definition flashstream.cpp:207
virtual void close() override
Definition flashstream.cpp:284
flashStream()
Definition flashstream.h:59
virtual size_t write(uint8_t ch)
Definition flashstream.cpp:230
virtual int read()
Definition flashstream.cpp:200
virtual void flush()
Definition flashstream.cpp:215
char openmode
Definition flashstream.h:56
int open(short fileNum, char mode='\0')
Definition flashstream.cpp:121
void setSize(unsigned int _size)
Definition flashstream.cpp:120
Definition seekablestream.h:10
virtual void putEOF()
Definition seekablestream.h:25
seekableStream(unsigned int size)
Definition seekablestream.h:17
#define MAX_STREAM_SIZE
Definition flashstream.h:50