#84 Solve UART encoding corruption

Cerrada
abierta hace 4 años por Michael Schloh von Bennewitz · 1 comentarios

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 ha añadido la etiqueta
bug
hace 4 años
Michael Schloh von Bennewitz ha añadido la etiqueta
help wanted
hace 4 años
Michael Schloh von Bennewitz ha añadido esto al hito Conditional integration of samples hace 4 años ' issues.change_milestone_at=`modificó el hito de %!s(MISSING) a %!s(MISSING) %!s(MISSING)
Michael Schloh von Bennewitz ha añadido una nueva dependencia hace 4 años

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.
Inicie sesión para unirse a esta conversación.
No asignados
1 participantes
Fecha de vencimiento

Sin fecha de vencimiento.

Depende de
#83 Ensure power detour matches MLS
NLNetfound/dsendcomm
Cargando…
Cancelar
Guardar
Aún no existe contenido.