I2C hang recover function added

Dependencies:   UniGraphic mbed vt100

In this version, check_i2c_pins function was added in edge_mgr.cpp.

プログラムの起動時、I2Cモジュールを初期化する前に、I2Cに使用するピンの電位を確認し
もし一方でも Low に張り付いていた場合、SCL を GPIO 出力に設定して 
所定回数 (I2C_UNLOCK_TRIAL_CYCLE) 反転させることにより、疑似リセットクロックを生成します。

その後は、通常の起動手順に復帰し、以降はこれまでと同様の動作をします。

Committer:
Rhyme
Date:
Tue Apr 03 08:30:29 2018 +0000
Revision:
0:d895cd1cd897
Initial I2C Pin force reset function added

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhyme 0:d895cd1cd897 1 #ifndef _EDGE_PIN_H_
Rhyme 0:d895cd1cd897 2 #define _EDGE_PIN_H_
Rhyme 0:d895cd1cd897 3
Rhyme 0:d895cd1cd897 4 #if defined (TARGET_KL25Z)
Rhyme 0:d895cd1cd897 5 #define PIN_INTR PTD4
Rhyme 0:d895cd1cd897 6 #define PIN_ASR_RESET PTA13
Rhyme 0:d895cd1cd897 7 #define PIN_SCK PTD1
Rhyme 0:d895cd1cd897 8 #define PIN_MOSI PTD2
Rhyme 0:d895cd1cd897 9 #define PIN_MISO PTD3
Rhyme 0:d895cd1cd897 10 #define PIN_CS PTD0
Rhyme 0:d895cd1cd897 11 /* ILI9341 */
Rhyme 0:d895cd1cd897 12 #define PIN_CS_TFT PTC7
Rhyme 0:d895cd1cd897 13 #define PIN_RESET_TFT PTC4
Rhyme 0:d895cd1cd897 14 #define PIN_DC_TFT PTC0
Rhyme 0:d895cd1cd897 15 #define PIN_BL_TFT PTC3
Rhyme 0:d895cd1cd897 16
Rhyme 0:d895cd1cd897 17 #define PIN_FRDM_LEDR PTB18
Rhyme 0:d895cd1cd897 18 #define PIN_FRDM_LEDG PTB19
Rhyme 0:d895cd1cd897 19 #define PIN_FRDM_LEDB PTD1 /* conflict with SCK orz */
Rhyme 0:d895cd1cd897 20 /* on board I2C0 */
Rhyme 0:d895cd1cd897 21 // #define PIN_I2C0_SCL PTE24
Rhyme 0:d895cd1cd897 22 // #define PIN_I2C0_SDA PTE25
Rhyme 0:d895cd1cd897 23 /* external I2C0 */
Rhyme 0:d895cd1cd897 24 #define PIN_I2C0_SCL PTC8
Rhyme 0:d895cd1cd897 25 #define PIN_I2C0_SDA PTC9
Rhyme 0:d895cd1cd897 26 #define PIN_I2C1_SCL PTE1
Rhyme 0:d895cd1cd897 27 #define PIN_I2C1_SDA PTE0
Rhyme 0:d895cd1cd897 28 #define PIN_AN0 PTB0
Rhyme 0:d895cd1cd897 29 #define PIN_AN1 PTB1
Rhyme 0:d895cd1cd897 30 #define PIN_AN2 PTB2
Rhyme 0:d895cd1cd897 31 #define PIN_LED_R PTA5
Rhyme 0:d895cd1cd897 32 #define PIN_LED_G PTA4
Rhyme 0:d895cd1cd897 33 #define PIN_LED_B PTA12
Rhyme 0:d895cd1cd897 34 #define PIN_PRESS_EN PTC5
Rhyme 0:d895cd1cd897 35 #endif /* TARGET_KL25Z */
Rhyme 0:d895cd1cd897 36
Rhyme 0:d895cd1cd897 37 #endif /* _EDGE_PIN_H_ */