#84 Solve UART encoding corruption

クローズ
Michael Schloh von Bennewitz4年前に作成 · 1件のコメント

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 がラベル
bug
を追加 4年前
Michael Schloh von Bennewitz がラベル
help wanted
を追加 4年前
Michael Schloh von Bennewitz がマイルストーン Conditional integration of samples に追加 4年前
Michael Schloh von Bennewitz4年前 にコメント
オーナー

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.
サインインしてこの会話に参加。
マイルストーンなし
担当者なし
1 人の参加者
期日

期日は未設定です。

依存先
#83 Ensure power detour matches MLS
NLNetfound/dsendcomm
読み込み中…
キャンセル
保存
まだ内容がありません