Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Teensy35 Stream.timedRead() is protected #388

Closed
paulhayes opened this issue Aug 21, 2019 · 2 comments
Closed

Teensy35 Stream.timedRead() is protected #388

paulhayes opened this issue Aug 21, 2019 · 2 comments

Comments

@paulhayes
Copy link

This method is called by the following library: ArduinoHttpClient @ src\HttpClient.cpp:576:17

The method is public in the main arduino library and other compatables, shouldn't the Stream class be symmetrical across the different platforms? Could you modify this to match arduino framework?

ArduinoHttpClient is listed as being compatible with Teensy, and it is except for this one methods protection level.

@FrankBoesing
Copy link
Contributor

@herrfrei
Copy link

herrfrei commented Jan 7, 2021

I have the same problem, but in the code for Teensy3 and Teensy4 the method in declared private, not protected! Hence the different HttpClient libraries wont't compile.

KurtE added a commit to KurtE/cores that referenced this issue Oct 2, 2021
Probably not a big issue.  But came up again on forum:
https://forum.pjrc.com/threads/68345-TimedRead-is-private-in-Stream-h-for-Teensy-4

And there have been two issues on it:
PaulStoffregen#531
PaulStoffregen#388

I did a quick check in sources and found it was protected in all three of the Arduino code bases (avr, sam, samd), also with ESP, also with OpenCM/OpenCR...

There are some other changes in the Arduino ones which we could do but are not in the ESP sources

Their method:     int peekNextDigit(LookaheadMode lookahead, bool detectDecimal); // returns the next numeric digit in the stream or -1 if timeout

is different than the ones we have.  The ones we have are now marked private...  and they also added some defines:
enum LookaheadMode{
    SKIP_ALL,       // All invalid characters are ignored.
    SKIP_NONE,      // Nothing is skipped, and the stream is not touched unless the first waiting character is valid.
    SKIP_WHITESPACE // Only tabs, spaces, line feeds & carriage returns are skipped.
};

Probably not a big priority, but since I took a quick look thought I would make the change and PR...

Compiled program on T4.1 and T3.6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants