Skip to content

Remove "Board Recovery" section from datasheets of boards without feature #629

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

Merged
merged 1 commit into from
Nov 22, 2022
Merged

Remove "Board Recovery" section from datasheets of boards without feature #629

merged 1 commit into from
Nov 22, 2022

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Nov 3, 2022

What This PR Changes

Some Arduino boards have a bootloader that allows them to be recovered from a "soft bricked" state by pressing the reset button twice.

The bootloader on the boards which do not have a native USB capability don't recognize this double reset. The reason is because the "soft bricked" state is specific to the native USB boards, so boards without native USB have no need for this recovery capability.

Previously, bootloader support for double reset was claimed for several boards which do not have such a bootloader. Since these boards do not have or need any sort of "board recovery" system, the "Board Recovery" section is removed entirely from their datasheets.

Contribution Guidelines

…ture

Some Arduino boards have a bootloader that allows them to be recovered from a "soft bricked" state by pressing the reset
button twice.

The bootloader on the boards which do not have a native USB capability don't recognize this double reset. The reason is
because the "soft bricked" state is specific to the native USB boards, so boards without native USB have no need for
this recovery capability.

Previously, bootloader support for double reset was claimed for several boards which do not have such a bootloader.
Since these boards do not have or need any sort of "board recovery" system, the "Board Recovery" section is removed
entirely from their datasheets
@per1234 per1234 added bug Something isn't working Datasheet arduino Bugs and fixes added by the Arduino Team labels Nov 3, 2022
@karlsoderby
Copy link
Contributor

@marqdevx @jcarolinares since this is in datasheet, I don't think I am the right person to review! Can you check this out?

@marqdevx
Copy link
Member

marqdevx commented Nov 17, 2022

I think this section does not only point to soft-bricked cases
Could be due to a sketch that has something weird going on, should it be better to reword it instead of deleting it?
@per1234 @aliphys @jcarolinares

@per1234
Copy link
Contributor Author

per1234 commented Nov 17, 2022

Could be due to a sketch that has something weird going on

It is impossible for the sketch to interfere with the upload on the Uno, Mega, and Nano boards.

I'm not so knowledgeable about the Nano Every, but I am also not aware of any way it could interfere and I have never seen a single example of this happening. Even though it uses a different type of programming, the Nano Every is similar to those other boards in having a dedicated USB interface chip. By the nature of this design, the sketch program can't directly affect the USB chip.

Even if there was some rare case where resetting the Nano Every at the right time could recover the board from some state where the sketch is interfering with the correct functioning of the ATSAMD11D14A USB chip, the board does not have any special treatment of a double reset, and that reset would need to be timed very precisely, so the current information is false and harmful to the customers regardless. So I think it is better to simply remove it. If eventually we see that there is some case where the board can be soft bricked and recovered by some procedure, that accurate information can be added to the datasheet.

Information must be personally verified by the author before adding it to Arduino's documentation. Unless someone is able to verify that some recovery technique is available, such a section should not be present in the datasheet.

@jcarolinares
Copy link
Contributor

Could be due to a sketch that has something weird going on

It is impossible for the sketch to interfere with the upload on the Uno, Mega, and Nano boards.

I'm not so knowledgeable about the Nano Every, but I am also not aware of any way it could interfere and I have never seen a single example of this happening. Even though it uses a different type of programming, the Nano Every is similar to those other boards in having a dedicated USB interface chip. By the nature of this design, the sketch program can't directly affect the USB chip.

Even if there was some rare case where resetting the Nano Every at the right time could recover the board from some state where the sketch is interfering with the correct functioning of the ATSAMD11D14A USB chip, the board does not have any special treatment of a double reset, and that reset would need to be timed very precisely, so the current information is false and harmful to the customers regardless. So I think it is better to simply remove it. If eventually we see that there is some case where the board can be soft bricked and recovered by some procedure, that accurate information can be added to the datasheet.

Information must be personally verified by the author before adding it to Arduino's documentation. Unless someone is able to verify that some recovery technique is available, such a section should not be present in the datasheet.

Thank you for the comment @per1234 you are right in this case. Those blocks of the datasheet are generic at this moment but they should be edited taking into account the particularities of each board.

@i-herrera maybe we need to review the pro family too?

@jcarolinares
Copy link
Contributor

@marqdevx do you know if we have a way to discover that those changes are not destroying the format? (undesirables page breaks)

@marqdevx
Copy link
Member

@jcarolinares It is not going to "destroy" anything, the page breaking is separate thing :D (It could be fixed before merging anyway)
They are automatically done from puppetteer .

@per1234
Copy link
Contributor Author

per1234 commented Nov 21, 2022

I'm happy to make any modifications that are needed. Just let me know. I am not familiar with the Markdown to PDF conversion system used for the datasheets but welcome an opportunity to learn about it.

@marqdevx
Copy link
Member

I'll make a video and a doc on how to use it once we publish the new npm package for the renderer, now is a little bit tricky and we are removing that "trickyness" :)

@per1234
Copy link
Contributor Author

per1234 commented Nov 21, 2022

Thanks @marqdevx. I didn't intend to place any burden on you to assist me in learning about this subject. So please don't go to any trouble on my account. I am sure the information would be useful for contributors to these documents, so I'm certainly in favor of any additional documentation of the content system you might choose to add.

@marqdevx
Copy link
Member

Yeah no worries, I was gonna make it anyway :D atleast internally

@per1234 per1234 merged commit bbef59b into arduino:main Nov 22, 2022
@marqdevx
Copy link
Member

Shouldn't we add this change to th changelog?
@aliphys @jcarolinares

Serjlee pushed a commit that referenced this pull request Mar 21, 2024
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 bug Something isn't working Datasheet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants