Merged from external project:
[bertos.git] / bertos / drv / i2c_bitbang.c
index 71374e98583c343dcbaf67978eb09cfae45a6195..1b7b787823f49ae52e202ae3b749a3ac3aea7061 100644 (file)
 #define LOG_FORMAT I2C_LOG_FORMAT
 
 #include <cfg/log.h>
+#include <cfg/macros.h>
 #include <cfg/module.h>
 
+#include <drv/timer.h>
+#include <cpu/irq.h>
+
 #include "hw/hw_i2c_bitbang.h"
 
 INLINE bool i2c_start(void)
@@ -54,6 +58,7 @@ INLINE bool i2c_start(void)
        I2C_HALFBIT_DELAY();
        SDA_LO;
        I2C_HALFBIT_DELAY();
+       ASSERT(!SDA_IN);
        return !SDA_IN;
 }
 
@@ -166,6 +171,7 @@ MOD_DEFINE(i2c);
  */
 void i2c_init(void)
 {
+       MOD_CHECK(timer);
        I2C_BITBANG_HW_INIT;
        SDA_HI;
        SCL_HI;