diff --git a/main/i2c_bitaxe.c b/main/i2c_bitaxe.c index ca8a0ae..494c48b 100644 --- a/main/i2c_bitaxe.c +++ b/main/i2c_bitaxe.c @@ -5,8 +5,12 @@ #define I2C_MASTER_SCL_IO 48 /*!< GPIO number used for I2C master clock */ #define I2C_MASTER_SDA_IO 47 /*!< GPIO number used for I2C master data */ #define I2C_MASTER_FREQ_HZ 100000 /*!< I2C master clock frequency */ -#define I2C_MASTER_TX_BUF_DISABLE 0 /*!< I2C master doesn't need buffer */ -#define I2C_MASTER_RX_BUF_DISABLE 0 /*!< I2C master doesn't need buffer */ + +#define I2C_MASTER_NUM 0 /*!< I2C master i2c port number, the number of i2c peripheral interfaces available will depend on the chip */ +#define I2C_MASTER_TIMEOUT_MS 1000 + +//#define I2C_DEFAULT_TIMEOUT ( I2C_MASTER_TIMEOUT_MS / portTICK_PERIOD_MS ) +#define I2C_DEFAULT_TIMEOUT -1 //-1 means wait forever static i2c_master_bus_handle_t i2c_bus_handle; @@ -55,7 +59,7 @@ esp_err_t i2c_bitaxe_register_read(i2c_master_dev_handle_t dev_handle, uint8_t r // return i2c_master_write_read_device(I2C_MASTER_NUM, device_address, ®_addr, 1, data, len, I2C_MASTER_TIMEOUT_MS / portTICK_PERIOD_MS); //ESP_LOGI("I2C", "Reading %d bytes from register 0x%02X", len, reg_addr); - return i2c_master_transmit_receive(dev_handle, ®_addr, 1, read_buf, len, I2C_MASTER_TIMEOUT_MS / portTICK_PERIOD_MS); + return i2c_master_transmit_receive(dev_handle, ®_addr, 1, read_buf, len, I2C_DEFAULT_TIMEOUT); } /** @@ -70,7 +74,7 @@ esp_err_t i2c_bitaxe_register_write_byte(i2c_master_dev_handle_t dev_handle, uin //return i2c_master_write_to_device(I2C_MASTER_NUM, device_address, write_buf, sizeof(write_buf), I2C_MASTER_TIMEOUT_MS / portTICK_PERIOD_MS); - return i2c_master_transmit(dev_handle, write_buf, 2, I2C_MASTER_TIMEOUT_MS / portTICK_PERIOD_MS); + return i2c_master_transmit(dev_handle, write_buf, 2, I2C_DEFAULT_TIMEOUT); } /** @@ -81,7 +85,7 @@ esp_err_t i2c_bitaxe_register_write_byte(i2c_master_dev_handle_t dev_handle, uin */ esp_err_t i2c_bitaxe_register_write_bytes(i2c_master_dev_handle_t dev_handle, uint8_t * data, uint8_t len) { - return i2c_master_transmit(dev_handle, data, len, I2C_MASTER_TIMEOUT_MS / portTICK_PERIOD_MS); + return i2c_master_transmit(dev_handle, data, len, I2C_DEFAULT_TIMEOUT); } /** @@ -96,5 +100,5 @@ esp_err_t i2c_bitaxe_register_write_word(i2c_master_dev_handle_t dev_handle, uin //return i2c_master_write_to_device(I2C_MASTER_NUM, device_address, write_buf, sizeof(write_buf), I2C_MASTER_TIMEOUT_MS / portTICK_PERIOD_MS); - return i2c_master_transmit(dev_handle, write_buf, 3, I2C_MASTER_TIMEOUT_MS / portTICK_PERIOD_MS); + return i2c_master_transmit(dev_handle, write_buf, 3, I2C_DEFAULT_TIMEOUT); } diff --git a/main/i2c_bitaxe.h b/main/i2c_bitaxe.h index 399e010..67521bc 100644 --- a/main/i2c_bitaxe.h +++ b/main/i2c_bitaxe.h @@ -4,9 +4,6 @@ #include "driver/i2c_master.h" //#include "driver/i2c.h" -#define I2C_MASTER_NUM 0 /*!< I2C master i2c port number, the number of i2c peripheral interfaces available will depend on the chip */ -#define I2C_MASTER_TIMEOUT_MS 1000 - esp_err_t i2c_bitaxe_init(void); esp_err_t i2c_bitaxe_add_device(uint8_t device_address, i2c_master_dev_handle_t * dev_handle);