#84 Solve UART encoding corruption

zavřený
otevřeno před 4 roky uživatelem Michael Schloh von Bennewitz · 1 komentářů

Solve UART encoding corruption

Problem environment

When routing log output to the UART serial pins, the connection is decoded by the connecting device.

Steps to reproduce

  1. Program an EVK with the serial io (uart) demo
  2. Program the same firmware to a sendcomm
  3. Read text output from each device
  4. Compare the decoded signals in TTY

Expected result

In each case, the decoded text is ASCII readable.

Actual result

Only the EVK device produces readable characters, while the sendcomm is corrupted.

Workaround A

Use the ASF SERCOM USART callback driver instead of Serial I/O.

Workaround B

--- src/config/config_clocks.h.orig	2020-11-17 23:35:01.389451806 +0100
+++ src/config/config_clocks.h	2020-11-17 23:35:23.279607582 +0100
@@ -1,4 +1,4 @@
 #define CONF_CLOCK_GCLK_0_RUN_IN_STANDBY false
-#define CONF_CLOCK_GCLK_0_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_DFLL
-#define CONF_CLOCK_GCLK_0_PRESCALER 6
+#define CONF_CLOCK_GCLK_0_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_OSC16M
+#define CONF_CLOCK_GCLK_0_PRESCALER 1
 #define CONF_CLOCK_GCLK_0_OUTPUT_ENABLE false

Severity level

This is high priority because clear UART decoded text is mandatory.

# Solve UART encoding corruption ## Problem environment When routing log output to the UART serial pins, the connection is decoded by the connecting device. ## Steps to reproduce 1. Program an EVK with the serial io (uart) demo 1. Program the same firmware to a sendcomm 1. Read text output from each device 1. Compare the decoded signals in TTY ## Expected result In each case, the decoded text is ASCII readable. ## Actual result Only the EVK device produces readable characters, while the sendcomm is corrupted. ## Workaround A Use the ASF SERCOM USART callback driver instead of Serial I/O. ## Workaround B ``` --- src/config/config_clocks.h.orig 2020-11-17 23:35:01.389451806 +0100 +++ src/config/config_clocks.h 2020-11-17 23:35:23.279607582 +0100 @@ -1,4 +1,4 @@ #define CONF_CLOCK_GCLK_0_RUN_IN_STANDBY false -#define CONF_CLOCK_GCLK_0_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_DFLL -#define CONF_CLOCK_GCLK_0_PRESCALER 6 +#define CONF_CLOCK_GCLK_0_CLOCK_SOURCE SYSTEM_CLOCK_SOURCE_OSC16M +#define CONF_CLOCK_GCLK_0_PRESCALER 1 #define CONF_CLOCK_GCLK_0_OUTPUT_ENABLE false ``` ## Severity level This is **high priority** because clear UART decoded text is mandatory.
Michael Schloh von Bennewitz přidal(a) štítek
bug
před 4 roky
Michael Schloh von Bennewitz přidal(a) štítek
help wanted
před 4 roky
Michael Schloh von Bennewitz přidal(a) toto do milníku Conditional integration of samples před 4 roky

This bug was not dependent on power supply choice as falsely indicated (reference to #83) but rather it is dependent on #118 relating to choice of external low frequency crystal and its load capacitance.

This bug is resolved by the same changes that resolved #118.

This bug was not dependent on power supply choice as falsely indicated (reference to #83) but rather it is dependent on #118 relating to choice of external low frequency crystal and its load capacitance. This bug is resolved by the same changes that resolved #118.
Přihlaste se pro zapojení do konverzace.
Bez zpracovatelů
1 účastníků
Termín dokončení

Žádný termín dokončení.

Závisí na
#83 Ensure power detour matches MLS
NLNetfound/dsendcomm
Načítá se…
Zrušit
Uložit
Není zde žádný obsah.