#84 Solve UART encoding corruption

Kapalı
Michael Schloh von Bennewitz tarafından 4 yıl önce açıldı · 1 yorum

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 4 yıl önce
bug
etiketini ekledi
Michael Schloh von Bennewitz 4 yıl önce
help wanted
etiketini ekledi
Michael Schloh von Bennewitz 4 yıl önce Conditional integration of samples kilometre taşına ekledi

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.
Bu konuşmaya katılmak için oturum aç.
Atanan Kişi Yok
1 Katılımcı
Bitiş Tarihi

Bitiş tarihi atanmadı.

Bağımlılıklar
#83 Ensure power detour matches MLS
NLNetfound/dsendcomm
Yükleniyor…
İptal
Kaydet
Henüz bir içerik yok.