Skip to content
This repository was archived by the owner on Feb 4, 2023. It is now read-only.

Commit c84c146

Browse files
authored
Update Packages_Patches
1 parent 8a258d6 commit c84c146

File tree

13 files changed

+2550
-2
lines changed

13 files changed

+2550
-2
lines changed
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
/*
2+
Stream.h - base class for character-based streams.
3+
Copyright (c) 2010 David A. Mellis. All right reserved.
4+
5+
This library is free software; you can redistribute it and/or
6+
modify it under the terms of the GNU Lesser General Public
7+
License as published by the Free Software Foundation; either
8+
version 2.1 of the License, or (at your option) any later version.
9+
10+
This library is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13+
Lesser General Public License for more details.
14+
15+
You should have received a copy of the GNU Lesser General Public
16+
License along with this library; if not, write to the Free Software
17+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18+
19+
parsing functions based on TextFinder library by Michael Margolis
20+
*/
21+
22+
#ifndef Stream_h
23+
#define Stream_h
24+
25+
#include <inttypes.h>
26+
#include "Print.h"
27+
28+
// compatability macros for testing
29+
/*
30+
#define getInt() parseInt()
31+
#define getInt(ignore) parseInt(ignore)
32+
#define getFloat() parseFloat()
33+
#define getFloat(ignore) parseFloat(ignore)
34+
#define getString( pre_string, post_string, buffer, length)
35+
readBytesBetween( pre_string, terminator, buffer, length)
36+
*/
37+
38+
// This enumeration provides the lookahead options for parseInt(), parseFloat()
39+
// The rules set out here are used until either the first valid character is found
40+
// or a time out occurs due to lack of input.
41+
enum LookaheadMode{
42+
SKIP_ALL, // All invalid characters are ignored.
43+
SKIP_NONE, // Nothing is skipped, and the stream is not touched unless the first waiting character is valid.
44+
SKIP_WHITESPACE // Only tabs, spaces, line feeds & carriage returns are skipped.
45+
};
46+
47+
#define NO_IGNORE_CHAR '\x01' // a char not found in a valid ASCII numeric field
48+
49+
class Stream : public Print
50+
{
51+
protected:
52+
unsigned long _timeout; // number of milliseconds to wait for the next char before aborting timed read
53+
unsigned long _startMillis = 0; // used for timeout measurement
54+
int timedRead(); // read stream with timeout
55+
int timedPeek(); // peek stream with timeout
56+
int peekNextDigit(LookaheadMode lookahead, bool detectDecimal); // returns the next numeric digit in the stream or -1 if timeout
57+
58+
public:
59+
virtual int available() = 0;
60+
virtual int read() = 0;
61+
virtual int peek() = 0;
62+
63+
Stream() {_timeout=1000;}
64+
65+
// parsing methods
66+
67+
void setTimeout(unsigned long timeout); // sets maximum milliseconds to wait for stream data, default is 1 second
68+
unsigned long getTimeout(void) { return _timeout; }
69+
70+
bool find(char *target); // reads data from the stream until the target string is found
71+
bool find(uint8_t *target) { return find ((char *)target); }
72+
// returns true if target string is found, false if timed out (see setTimeout)
73+
74+
bool find(char *target, size_t length); // reads data from the stream until the target string of given length is found
75+
bool find(uint8_t *target, size_t length) { return find ((char *)target, length); }
76+
// returns true if target string is found, false if timed out
77+
78+
bool find(char target) { return find (&target, 1); }
79+
80+
bool findUntil(char *target, char *terminator); // as find but search ends if the terminator string is found
81+
bool findUntil(uint8_t *target, char *terminator) { return findUntil((char *)target, terminator); }
82+
83+
bool findUntil(char *target, size_t targetLen, char *terminate, size_t termLen); // as above but search ends if the terminate string is found
84+
bool findUntil(uint8_t *target, size_t targetLen, char *terminate, size_t termLen) {return findUntil((char *)target, targetLen, terminate, termLen); }
85+
86+
long parseInt(LookaheadMode lookahead = SKIP_ALL, char ignore = NO_IGNORE_CHAR);
87+
// returns the first valid (long) integer value from the current position.
88+
// lookahead determines how parseInt looks ahead in the stream.
89+
// See LookaheadMode enumeration at the top of the file.
90+
// Lookahead is terminated by the first character that is not a valid part of an integer.
91+
// Once parsing commences, 'ignore' will be skipped in the stream.
92+
93+
float parseFloat(LookaheadMode lookahead = SKIP_ALL, char ignore = NO_IGNORE_CHAR);
94+
// float version of parseInt
95+
96+
size_t readBytes( char *buffer, size_t length); // read chars from stream into buffer
97+
size_t readBytes( uint8_t *buffer, size_t length) { return readBytes((char *)buffer, length); }
98+
// terminates if length characters have been read or timeout (see setTimeout)
99+
// returns the number of characters placed in the buffer (0 means no valid data found)
100+
101+
size_t readBytesUntil( char terminator, char *buffer, size_t length); // as readBytes with terminator character
102+
size_t readBytesUntil( char terminator, uint8_t *buffer, size_t length) { return readBytesUntil(terminator, (char *)buffer, length); }
103+
// terminates if length characters have been read, timeout, or if the terminator character detected
104+
// returns the number of characters placed in the buffer (0 means no valid data found)
105+
106+
// Arduino String functions to be added here
107+
String readString();
108+
String readStringUntil(char terminator);
109+
110+
protected:
111+
long parseInt(char ignore) { return parseInt(SKIP_ALL, ignore); }
112+
float parseFloat(char ignore) { return parseFloat(SKIP_ALL, ignore); }
113+
// These overload exists for compatibility with any class that has derived
114+
// Stream and used parseFloat/Int with a custom ignore character. To keep
115+
// the public API simple, these overload remains protected.
116+
117+
struct MultiTarget {
118+
const char *str; // string you're searching for
119+
size_t len; // length of string you're searching for
120+
size_t index; // index used by the search routine.
121+
};
122+
123+
// This allows you to search for an arbitrary number of strings.
124+
// Returns index of the target that is found first or -1 if timeout occurs.
125+
int findMulti(struct MultiTarget *targets, int tCount);
126+
};
127+
128+
#undef NO_IGNORE_CHAR
129+
#endif
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
/*
2+
Stream.h - base class for character-based streams.
3+
Copyright (c) 2010 David A. Mellis. All right reserved.
4+
5+
This library is free software; you can redistribute it and/or
6+
modify it under the terms of the GNU Lesser General Public
7+
License as published by the Free Software Foundation; either
8+
version 2.1 of the License, or (at your option) any later version.
9+
10+
This library is distributed in the hope that it will be useful,
11+
but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13+
Lesser General Public License for more details.
14+
15+
You should have received a copy of the GNU Lesser General Public
16+
License along with this library; if not, write to the Free Software
17+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18+
19+
parsing functions based on TextFinder library by Michael Margolis
20+
*/
21+
22+
#ifndef Stream_h
23+
#define Stream_h
24+
25+
#include <inttypes.h>
26+
#include "Print.h"
27+
28+
// compatability macros for testing
29+
/*
30+
#define getInt() parseInt()
31+
#define getInt(ignore) parseInt(ignore)
32+
#define getFloat() parseFloat()
33+
#define getFloat(ignore) parseFloat(ignore)
34+
#define getString( pre_string, post_string, buffer, length)
35+
readBytesBetween( pre_string, terminator, buffer, length)
36+
*/
37+
38+
// This enumeration provides the lookahead options for parseInt(), parseFloat()
39+
// The rules set out here are used until either the first valid character is found
40+
// or a time out occurs due to lack of input.
41+
enum LookaheadMode{
42+
SKIP_ALL, // All invalid characters are ignored.
43+
SKIP_NONE, // Nothing is skipped, and the stream is not touched unless the first waiting character is valid.
44+
SKIP_WHITESPACE // Only tabs, spaces, line feeds & carriage returns are skipped.
45+
};
46+
47+
#define NO_IGNORE_CHAR '\x01' // a char not found in a valid ASCII numeric field
48+
49+
class Stream : public Print
50+
{
51+
protected:
52+
unsigned long _timeout; // number of milliseconds to wait for the next char before aborting timed read
53+
unsigned long _startMillis = 0; // used for timeout measurement
54+
int timedRead(); // read stream with timeout
55+
int timedPeek(); // peek stream with timeout
56+
int peekNextDigit(LookaheadMode lookahead, bool detectDecimal); // returns the next numeric digit in the stream or -1 if timeout
57+
58+
public:
59+
virtual int available() = 0;
60+
virtual int read() = 0;
61+
virtual int peek() = 0;
62+
63+
Stream() {_timeout=1000;}
64+
65+
// parsing methods
66+
67+
void setTimeout(unsigned long timeout); // sets maximum milliseconds to wait for stream data, default is 1 second
68+
unsigned long getTimeout(void) { return _timeout; }
69+
70+
bool find(char *target); // reads data from the stream until the target string is found
71+
bool find(uint8_t *target) { return find ((char *)target); }
72+
// returns true if target string is found, false if timed out (see setTimeout)
73+
74+
bool find(char *target, size_t length); // reads data from the stream until the target string of given length is found
75+
bool find(uint8_t *target, size_t length) { return find ((char *)target, length); }
76+
// returns true if target string is found, false if timed out
77+
78+
bool find(char target) { return find (&target, 1); }
79+
80+
bool findUntil(char *target, char *terminator); // as find but search ends if the terminator string is found
81+
bool findUntil(uint8_t *target, char *terminator) { return findUntil((char *)target, terminator); }
82+
83+
bool findUntil(char *target, size_t targetLen, char *terminate, size_t termLen); // as above but search ends if the terminate string is found
84+
bool findUntil(uint8_t *target, size_t targetLen, char *terminate, size_t termLen) {return findUntil((char *)target, targetLen, terminate, termLen); }
85+
86+
long parseInt(LookaheadMode lookahead = SKIP_ALL, char ignore = NO_IGNORE_CHAR);
87+
// returns the first valid (long) integer value from the current position.
88+
// lookahead determines how parseInt looks ahead in the stream.
89+
// See LookaheadMode enumeration at the top of the file.
90+
// Lookahead is terminated by the first character that is not a valid part of an integer.
91+
// Once parsing commences, 'ignore' will be skipped in the stream.
92+
93+
float parseFloat(LookaheadMode lookahead = SKIP_ALL, char ignore = NO_IGNORE_CHAR);
94+
// float version of parseInt
95+
96+
size_t readBytes( char *buffer, size_t length); // read chars from stream into buffer
97+
size_t readBytes( uint8_t *buffer, size_t length) { return readBytes((char *)buffer, length); }
98+
// terminates if length characters have been read or timeout (see setTimeout)
99+
// returns the number of characters placed in the buffer (0 means no valid data found)
100+
101+
size_t readBytesUntil( char terminator, char *buffer, size_t length); // as readBytes with terminator character
102+
size_t readBytesUntil( char terminator, uint8_t *buffer, size_t length) { return readBytesUntil(terminator, (char *)buffer, length); }
103+
// terminates if length characters have been read, timeout, or if the terminator character detected
104+
// returns the number of characters placed in the buffer (0 means no valid data found)
105+
106+
// Arduino String functions to be added here
107+
String readString();
108+
String readStringUntil(char terminator);
109+
110+
protected:
111+
long parseInt(char ignore) { return parseInt(SKIP_ALL, ignore); }
112+
float parseFloat(char ignore) { return parseFloat(SKIP_ALL, ignore); }
113+
// These overload exists for compatibility with any class that has derived
114+
// Stream and used parseFloat/Int with a custom ignore character. To keep
115+
// the public API simple, these overload remains protected.
116+
117+
struct MultiTarget {
118+
const char *str; // string you're searching for
119+
size_t len; // length of string you're searching for
120+
size_t index; // index used by the search routine.
121+
};
122+
123+
// This allows you to search for an arbitrary number of strings.
124+
// Returns index of the target that is found first or -1 if timeout occurs.
125+
int findMulti(struct MultiTarget *targets, int tCount);
126+
};
127+
128+
#undef NO_IGNORE_CHAR
129+
#endif

Packages_Patches/STM32/hardware/stm32/2.1.0/system/STM32F4xx/stm32f4xx_hal_conf_default.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ in voltage and temperature. */
237237
//#define LAN8742A_PHY_ADDRESS 0x00U
238238
/* Section 2: PHY configuration section */
239239
#if !defined (LAN8742A_PHY_ADDRESS)
240-
/* LAN8742A PHY Address*/
240+
/* KH, LAN8742A PHY Address*/
241241
#define LAN8742A_PHY_ADDRESS 0x00U
242242
#endif
243243
////////////////////////////////

Packages_Patches/STM32/hardware/stm32/2.1.0/system/STM32F7xx/stm32f7xx_hal_conf_default.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ in voltage and temperature. */
232232
//#define LAN8742A_PHY_ADDRESS 0x00U
233233
/* Section 2: PHY configuration section */
234234
#if !defined (LAN8742A_PHY_ADDRESS)
235-
/* LAN8742A PHY Address*/
235+
/* KH, LAN8742A PHY Address*/
236236
#define LAN8742A_PHY_ADDRESS 0x00U
237237
#endif
238238
////////////////////////////////

0 commit comments

Comments
 (0)