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

[hal] Fixes Argon cannot be reset by external gpio #1870

Merged
merged 1 commit into from Aug 1, 2019

Conversation

@YutingYou
Copy link
Contributor

commented Aug 1, 2019

Problem

The reset pin (RST) on the side of the Argon is unable to reset the board by another board using a GPIO (e.g. a Xenon).

We saw two kinds of symptoms of this issue:

  1. Argon cannot be reset
  2. Argon can be reset, but the reset pin on Argon goes from 3.3V to 1.6V and wait for around 500ms, then it goes to 0V.

Solution

image

As we can see from the picture, if we configure WIFI_EN(ESPEN) pin to OUTPUT high, the voltage decline a little after the D2 diode, given there is a pull-up resistor R30 100k, we should configuration WIFI_EN(ESPEN) pin to open drain.

Steps to Test

failed case

  1. Configure WIFI_EN(ESPEN) as output mode
  2. Download below application to two Argon, connect Argon-A's D8 pin to Argon-B's reset pin
  3. Observe the symptoms

Successful case

  1. Configure WIFI_EN(ESPEN) as the open-drain mode
  2. Repeat the above steps

Example App

void setup() {
    pinMode(D8, OUTPUT);
    digitalWrite(D8, 0);
}

References

[CH36349]


Completeness

  • [bugfix] [Argon] Fixes the issue being unable to reset the device through RST pin by changing the
    ESPEN mode to OUTPUT_OPEN_DRAIN

@YutingYou YutingYou requested a review from avtolstoy Aug 1, 2019

@avtolstoy avtolstoy added this to the 1.3.1-rc.1 milestone Aug 1, 2019

@avtolstoy avtolstoy merged commit 5e678b9 into develop Aug 1, 2019

3 checks passed

Codacy/PR Quality Review Up to standards. A positive pull request.
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details

@avtolstoy avtolstoy deleted the fix/argon_cannot_be_reset_by_reset_pin branch Aug 1, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.