<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/12593">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">add button to force DFU bootloader<br><br>Change-Id: I163ab2de0fcbe13532c1992f6b78d49f4cda2d88<br>---<br>M atmel_start_pins.h<br>M driver_init.c<br>M usb_dfu_main.c<br>3 files changed, 12 insertions(+), 2 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/atmel_start_pins.h b/atmel_start_pins.h</span><br><span>index 23b8d33..86e1dfb 100644</span><br><span>--- a/atmel_start_pins.h</span><br><span>+++ b/atmel_start_pins.h</span><br><span>@@ -27,9 +27,12 @@</span><br><span> #define GPIO_PIN_FUNCTION_M 12</span><br><span> #define GPIO_PIN_FUNCTION_N 13</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/** LED pin to indicate system state (pull low to switch on */</span><br><span style="color: hsl(120, 100%, 40%);">+/** LED pin to indicate system state (pull low to switch on) */</span><br><span> #define LED_SYSTEM GPIO(GPIO_PORTC, 18)</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/** User button to force DFu bootloader (connected to ground when pressed) */</span><br><span style="color: hsl(120, 100%, 40%);">+#define BUTTON_FORCE_DFU GPIO(GPIO_PORTB, 31)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /** USB D+/D- pins */</span><br><span> #define PA24 GPIO(GPIO_PORTA, 24)</span><br><span> #define PA25 GPIO(GPIO_PORTA, 25)</span><br><span>diff --git a/driver_init.c b/driver_init.c</span><br><span>index 0b07cc1..a91b0eb 100644</span><br><span>--- a/driver_init.c</span><br><span>+++ b/driver_init.c</span><br><span>@@ -148,6 +148,11 @@</span><br><span>      gpio_set_pin_direction(LED_SYSTEM, GPIO_DIRECTION_OUT);</span><br><span>      gpio_set_pin_function(LED_SYSTEM, GPIO_PIN_FUNCTION_OFF);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ // configure force DFU user button</span><br><span style="color: hsl(120, 100%, 40%);">+    gpio_set_pin_direction(BUTTON_FORCE_DFU, GPIO_DIRECTION_IN);</span><br><span style="color: hsl(120, 100%, 40%);">+  gpio_set_pin_pull_mode(BUTTON_FORCE_DFU, GPIO_PULL_UP);</span><br><span style="color: hsl(120, 100%, 40%);">+       gpio_set_pin_function(BUTTON_FORCE_DFU, GPIO_PIN_FUNCTION_OFF);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>    USB_DEVICE_INSTANCE_init();</span><br><span>  FLASH_0_init();</span><br><span> }</span><br><span>diff --git a/usb_dfu_main.c b/usb_dfu_main.c</span><br><span>index 91748a5..449b311 100644</span><br><span>--- a/usb_dfu_main.c</span><br><span>+++ b/usb_dfu_main.c</span><br><span>@@ -48,6 +48,8 @@</span><br><span>  */</span><br><span> static bool check_force_dfu(void)</span><br><span> {</span><br><span style="color: hsl(120, 100%, 40%);">+        gpio_set_pin_pull_mode(BUTTON_FORCE_DFU, GPIO_PULL_UP); // pull button high</span><br><span style="color: hsl(120, 100%, 40%);">+   return (0 == gpio_get_pin_level(BUTTON_FORCE_DFU)); // signal is low when button is pressed</span><br><span> }</span><br><span> </span><br><span> /** Check if the application is valid</span><br><span>@@ -87,7 +89,7 @@</span><br><span>                    delay_ms(500);</span><br><span>               }</span><br><span>    }</span><br><span style="color: hsl(0, 100%, 40%);">-       if (check_application()) { // application is valid</span><br><span style="color: hsl(120, 100%, 40%);">+    if (!check_force_dfu() && check_application()) { // application is valid</span><br><span>             start_application(); // start application</span><br><span>    } else {</span><br><span>             usb_dfu(); // start DFU bootloader</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12593">change 12593</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/12593"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-asf4-dfu </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I163ab2de0fcbe13532c1992f6b78d49f4cda2d88 </div>
<div style="display:none"> Gerrit-Change-Number: 12593 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Kévin Redon <kredon@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>