-
-
Notifications
You must be signed in to change notification settings - Fork 82
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
WiFiS3 WiFiServer operator bool #140
Conversation
Please elaborate a bit more in detail about what you have observed, where
you have observed it, what is the problem with it if any, why it is a
problem and the proposal you have to a solution.
Beware that just changing libraries is not a solution because if you change
the library then code makers will code to the new library while the
firmware may still be the same thereby force product owners of products
which has a Uno R4 inside to being back their product for update of
firmware.
Therefore while it appears that you have a point it can be a good idea to
look into both backwards compatibility and also into that not all Arduino
boards are being used as hobby boards, hence a professional approach to
configuration management plus establishing a standard would be good to do
as a beginning.
Well. Am new here so just airing my thoughts. I have some 41 years of
experience in software development.
Sincerely
David Svarrer
…On Wed, 20 Sep 2023, 22:12 Juraj Andrássy, ***@***.***> wrote:
Server implementation in the Ethernet library has operator bool.
WiFiNINA and WiFi101 have status(), but in WiFi101 it just returns 0.
WiFiServer in esp32 Arduino WiFi library has bool operator , but esp8266
has status().
Proper server.status() can't be implemented in most libraries. A fake
which just returns CLOSED or LiSTEN is of course possible.
Since the esp32 WiFi library doesn't have server.status() I thought WiFiS3
should have at least the bool operator.
I plan to make a PR for bool operator and maybe server.end() to the other
WiFi libraries.
------------------------------
You can view, comment on, or merge this pull request online at:
#140
Commit Summary
- c12b35f
<c12b35f>
WiFiS3 WiFiServer operator bool
File Changes
(2 files <https://github.com/arduino/ArduinoCore-renesas/pull/140/files>)
- *M* libraries/WiFiS3/src/WiFiServer.cpp
<https://github.com/arduino/ArduinoCore-renesas/pull/140/files#diff-7606508d41bf14f8c04907dbc8781221061c6ec848a7fe920619796b18a1c89f>
(7)
- *M* libraries/WiFiS3/src/WiFiServer.h
<https://github.com/arduino/ArduinoCore-renesas/pull/140/files#diff-45d96d3f049c9838f8a62c328fe1acea2b41aef22d590d96d63ad510e6632b3d>
(1)
Patch Links:
- https://github.com/arduino/ArduinoCore-renesas/pull/140.patch
- https://github.com/arduino/ArduinoCore-renesas/pull/140.diff
—
Reply to this email directly, view it on GitHub
<#140>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AUI6JVQNNL2AZY5RPYUB6N3X3M52FANCNFSM6AAAAAA5AM2NSU>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Dear Juraj Andrassy, and everyone else here,
This may be the wrong place, and if so, please guide me to the right
place...
*Request For Comments*
I guess it would be a great idea if we had a conference call or a shared
written conference (maybe here) where we discuss light weight strategy for
how to develop the Arduino library further in such a way so that all the
great contributors pull in the same direction and such that we discuss and
maybe agree to overall plan for how we together can build an excellent
library not only for the R4 but also for other boards.
I have followed Arduino development for some 6 years but on the sideline.
And I see that it appears that things constantly start from scratch. And I
see that while there indeed is certain congruence between implementations,
we have too much Mushroom pop ups.
I am indeed not saying the development is bad, in fact it is good, but, it
is largely not coordinated.
It appears that the very same function during the development of a library,
across boards, have different parameter set, different name and different
preconditions, invariance and postcondition.
As an example therefore, there exists many different libraries for the same
function, depending on the board.
That ought not being the case.
Example: The WiFi has been with us for decades. Yet, depending on boards
and configurations, we have a Wifi101, WifiS3, WiFic3 and many other
libraries.
And. Then the functions differ: While there is agreement that begin(said,
password) is a good start, the rest spreads out in a plethora of names and
parameters and inner functions.
When looking into the very code too, of these different libraries they are,
as you say, Juraj, developed by very skilled people like you, I and plenty
of other seriously professional developers where each their process shines.
But as also mentioned: It is apparently largely uncoordinated.
Furthermore we have this great champ Mr. Facchin from Arduino who appear to
act as the configuration manager, who seem to coordinate the pushes and
merges. Now, we cannot push all this coordination onto him, in all
fairness?
So I propose that we invite to a very informal conference, but with a
formul purpose of establishing selfguided and voluntary coordination of the
vast range of libraries in existence with respect to naming and available
functionality.
It is naturally obvious that with the enormous span of functionality on the
hardware side and with the enormous span of differences between hardware
configurations, then this work is not something which we will start on one
meeting and then complete upon within weeks or months.
It is naturally also obvious that with the enormous amount of already
existing software out there we would also need to fare with ease, because,
if we make changes to libraries which are in use everywhere then we need to
provide mechanisms such that the users (which are the programmers in this
case) of the libraries can select particular revisions of the libraries -
or the latest revision - such that they can work without this disease which
has spread all over the windows world as an example - that developers spend
up to half of their time updating libraries days after days, weeks after
weeks.
With proper development agreements we can therefore for instance also plan
with Faccine or those who are in charge of the library how we deal with
releases, such that we can have releases planned well in advance, have
features planned well, and have the development of all of us with all of
our volunteer time, really matter, and really provide powerful and
coordinated effect on the body of all the codes developed.
It is my take that we would all save maybe 50% of our efforts and thereby
put those into development of core common application libraries for all of
our uses.
I am myself planning to contribute to the Arduino work on the Uno R4
platform (as a beginning) with a generic communication and control library
such that everyone who fancy it can start their business application, their
model application or maker works on a platform.
However, you can surely all see that porting this to any other of the
Arduino platforms would take the average developer weeks.
If now we got these many libraries synchronized then porting our codes
across the many platforms would be a breeze and we would be able to focus
on either libraries or our application codes while we are working together
and not doing much repeat work.
I hope that we can begin this dialogue somewhere. I have spotted at least
40 different developers of extremely senior experience, and I am sure that
we are so many that we cannot avoid success if we find ways to get
organized.
I am myself a senior developer having worked 41 years in software
development. Am now managing and doing architecture and solutions but I am
still very keen on doing core development. My focus as architect and
solutions provider is to add to software quality, to help making software
production lines, to structure and organize development so that we can
build on what we made yesterday instead of constantly tearing down and
building new which is a very time consuming and wasteful process.
What is also forgotten, and what I have not seen here, is a structured
approach to mutual education of each other.
It appears that there is no document anywhere telling the newcomers how you
who have been here for long time have organized your development, which
ways you go about it, who is in charge of which roles, how you agree to
releases. It may all be very simple, ie maybe Faccine is doing the major
part of this, but in order for us to grow a great and diverse community of
developers of all ages, including the very new ones, we must structure how
we open up the community, how we educate newcomers etc.
I am such a newcomer. I am experienced in version control etc but each
community has their own ways and these ought being documented somewhere
like in a readme file or PDF or similar.
Well. Let me hear what you think.
Sincerely
David
…On Thu, 21 Sep 2023, 07:28 Juraj Andrássy, ***@***.***> wrote:
I have 30 years of experience as programmer and 20 from it in maintaining
(proprietary java) libraries ant their API with backward compatibility. All
my PR are well thought out and always consider compatibility with the
firmware part of the library and with existing sketches.
—
Reply to this email directly, view it on GitHub
<#140 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AUI6JVXBU4I5XCR6EHSDRM3X3O66RANCNFSM6AAAAAA5AM2NSU>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Dear Juraj,
Indeed. Especially in the R4 it become relevant as one would do bluetooth
at one time and WiFi at another time due to the shared radio circuit.
How can I contribute? Can you direct me into your line of thoughts of what
needs to be done then I may be able to do some few small things?
Sincerely
David
…On Thu, 21 Sep 2023, 08:38 Juraj Andrássy, ***@***.***> wrote:
users ask about server.end() because sometimes they want to activate the
server only for some time and then operator bool is useful to query the
state of the server.
part of my research about differences between networking libraries:
server bool/staus and server.end/stop
library bool status
Ethernet ✓
WiFi ✓
WiFiNINA ✓
WiFi101
WiFiS3
mbed core ✓
LwIP wrapper
esp8266 ✓
esp32 ✓
WiFiEspAT ✓ ✓
EthernetENC ✓
library end() stop()
Ethernet
WiFi
WiFiNINA
WiFi101
WiFiS3 ✓
mbed core
LwIP wrapper
esp8266 ✓
esp32 ✓ ✓
WiFiEspAT ✓
EthernetENC ✓
—
Reply to this email directly, view it on GitHub
<#140 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AUI6JVRBQ2WRCC4PXPU3QMLX3PHDTANCNFSM6AAAAAA5AM2NSU>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Hi @Fashion-Corp. Thanks for your interest in contributing to the Arduino project.
I think so. We expect the pull request and issue threads to be very tightly focused on the given specific subject. If the discussion in these threads increases in scope beyond what is directly related to that subject, or when the discussion becomes unstructured or rambling, it greatly increases the burden on the reviewers. The appropriate communication channel to used for broadly scoped discussions related to the development of official Arduino projects such as you have initiated is the Arduino developers mailing list: https://groups.google.com/a/arduino.cc/forum/#!forum/developers For less structured discussion of any subject related to Arduino, or when you want to include the user community in the conversation, the appropriate communication channel is Arduino Forum: We look forward to talking with you more on these subjects over there. |
Juraj,
Welcome to send me an invitation in those repositories, then I would be
happy if I can assist. I am like you having very limited time, but if all
of us put our efforts together, surely we will achieve...
|
c12b35f
to
cdb22f2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested and LGTM 👍
Server implementation in the Ethernet library for W5x00 has operator bool.
WiFiServer in esp8266 and esp32 Arduino WiFi library has bool operator.