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

Add information re: SoftwareSerial pins for all supported boards #1884

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Apr 19, 2024

What This PR Changes

Since the time the SoftwareSerial library documentation was written, Arduino has created several new products supported by the library. The information about which pins can be used on these board must be documented.

Although reasonable in the context of only needing to cover a few boards as was the case at the time the documentation was established, the previous prose format of the information does not scale well with the addition of information for more boards. For this reason, the information is migrated to a table.

Contribution Guidelines

Additional Context

Since the website preview system is currently broken, I generated the website locally and took a screenshot of it to provide a preview of how the new content will be rendered:

image


Despite quite some efforts, I was not able to get transmit working on any pin on the Arduino 101, but I didn't find any information about whether or not that is expected (apart from the statement that the 101's variant of the library is "a work in progress"). For this reason, it would be irresponsible for me to add a claim that any pin can be used as TX on this board so I intentionally left that cell in the table empty.

I was able to verify that receive works as stated.


After this, the only currently active product with SoftwareSerial library support not included in the table is the Portenta C33. I was not able to determine which pins are supported on this board due to not having the hardware on hand. I created an issue to track that task: #1885


Related:

Previously, the information about which pins could be used with the SoftwareSerial library was documented in prose form.

Although reasonable in the context of only needing to cover a few boards as was the case at the time the documentation
was established, this approach does not scale as it is necessary to add information for more boards over time. For this
reason, the information is migrated to a table in preparation for addition of the missing documentation for the newer
boards.
Some board names (e.g., "Nano") are potentially ambiguous to the reader. This is avoided without the introduction of
verbosity by linking to the specific hardware page.
Since the time the SoftwareSerial library documentation was written, Arduino has created several new products supported
by the library. The information about which pins can be used on these board must be documented.

After this, the only currently active product with SoftwareSerial library support not included in the table is the
Portenta C33. From the information in the library's "SerialEcho" example, it might be inferred that the same limitations
as the UNO R4 boards apply to this board as well, but I was not able to verify this due to not having the hardware on
hand.
@jhansson-ard
Copy link
Contributor

This looks good to me, however I will leave the approval to the writers in the PX team 🙏🏼 cc @jacobhylen @Hannes7eicher @BenjaminDannegard

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arduino Bugs and fixes added by the Arduino Team fix/update A small fix or update
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants