OSDN Git Service

LCDがリセットされて表示が更新されなくなる問題に対応
authorNaoya Takamura <ntaka206@users.sourceforge.jp>
Wed, 24 Feb 2016 02:34:13 +0000 (11:34 +0900)
committerNaoya Takamura <ntaka206@users.sourceforge.jp>
Wed, 24 Feb 2016 02:34:13 +0000 (11:34 +0900)
thread_disp.c 毎分1回 LCD初期化する
i2cLCD基板の自動初期化機能は、2行設定で初期化されるので使用しない

lcd.c
scilog.c
thread_disp.c

diff --git a/lcd.c b/lcd.c
index 1c8f5bc..639c2d4 100644 (file)
--- a/lcd.c
+++ b/lcd.c
@@ -77,8 +77,8 @@ static void i2clcd_init(void)
                return;
        }
        ioctl(fh, I2C_SLAVE, I2CLCD_ADDRESS >> 1);
-       // LCD自動初期化ON
-       cfg = 1;
+       // LCD自動初期化ONにしても2行設定で初期化されるのでやらない
+       cfg = 0;
        data[0] = I2CLCD_CFG_ENABLE | (cfg & 0x1f);
        data[1] = 0;
        write(fh, data, 2);
index 8375928..119ac56 100644 (file)
--- a/scilog.c
+++ b/scilog.c
@@ -3,15 +3,15 @@
  * sciLogger Logger Program
  * NT System Design
  * 
- * Ver1.0.1
+ **** Ver1.0.1
  * conf_linux_time_set_XXX() add?
  * thread_disp.cでGPS時刻をlinuxにset
  * 
- * Ver1.0.2
+ **** Ver1.0.2
  * 2015/09/22
  * lcd.c i2clcd_init() i2cLCD基板のConfig変更 LCD自動初期化ON
  *
- * Ver1.0.3
+ **** Ver1.0.3
  * Kernel 3.18.18 対応
  * i2cデバイス名変更
  * spiデバイス名変更 ->/dev/spikead spikeadデバイス側で変更したため
  *     avg[][]
  * thread_rcv.c b3_to_long32() 返り値long->int32_tにした
  * 
+ * LCDがリセットされて表示が更新されなくなる問題に対応
+ * thread_disp.c 毎分1回 LCD初期化する
+ * i2cLCD基板の自動初期化機能は、2行設定で初期化されるので使用しない
+ * 
  * ●コンパイル方法
  * . environment-setup-cortexa8hf-vfp-neon-poky-linux-gnueabi
  * make
index 2246ab5..8246216 100644 (file)
@@ -112,6 +112,10 @@ void* thread_disp(void* pParam)
                        i = ad_ring_latest_get();
                        // データ取得
                        d = ad_ring_get(i);
+                       // LCDリセット対策
+                       if (d->t.tm_sec == 5) {
+                               lcd_init();
+                       }
                        // 時刻表示
                        scr_disp_time(d);
                        // AD表示