From fb3b5e08f3c21c2f5f80d274b916e7dd5e548e67 Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Thu, 23 Mar 2017 23:43:42 +0000 Subject: [PATCH] stm32: i2c-v2: drop overly restrictive helpers. * didn't follow naming conventions * overly restricted to single byte register style commands. Will be replaced by freeform transfer functions --- .../libopencm3/stm32/common/i2c_common_v2.h | 4 - lib/stm32/common/i2c_common_v2.c | 75 ------------------- 2 files changed, 79 deletions(-) diff --git a/include/libopencm3/stm32/common/i2c_common_v2.h b/include/libopencm3/stm32/common/i2c_common_v2.h index 740de632..01ec643b 100644 --- a/include/libopencm3/stm32/common/i2c_common_v2.h +++ b/include/libopencm3/stm32/common/i2c_common_v2.h @@ -427,10 +427,6 @@ void i2c_enable_rxdma(uint32_t i2c); void i2c_disable_rxdma(uint32_t i2c); void i2c_enable_txdma(uint32_t i2c); void i2c_disable_txdma(uint32_t i2c); -void write_i2c(uint32_t i2c, uint8_t i2c_addr, uint8_t reg, - uint8_t size, uint8_t *data); -void read_i2c(uint32_t i2c, uint8_t i2c_addr, uint8_t reg, - uint8_t size, uint8_t *data); END_DECLS diff --git a/lib/stm32/common/i2c_common_v2.c b/lib/stm32/common/i2c_common_v2.c index 9f0d795c..ca393a96 100644 --- a/lib/stm32/common/i2c_common_v2.c +++ b/lib/stm32/common/i2c_common_v2.c @@ -375,79 +375,4 @@ void i2c_disable_txdma(uint32_t i2c) I2C_CR1(i2c) &= ~I2C_CR1_TXDMAEN; } -void write_i2c(uint32_t i2c, uint8_t i2c_addr, uint8_t reg, uint8_t size, - uint8_t *data) -{ - int wait; - int i; - while (i2c_busy(i2c) == 1); - while (i2c_is_start(i2c) == 1); - /*Setting transfer properties*/ - i2c_set_bytes_to_transfer(i2c, size + 1); - i2c_set_7bit_address(i2c, (i2c_addr & 0x7F)); - i2c_set_write_transfer_dir(i2c); - i2c_enable_autoend(i2c); - /*start transfer*/ - i2c_send_start(i2c); - - wait = true; - while (wait) { - if (i2c_transmit_int_status(i2c)) { - wait = false; - } - while (i2c_nack(i2c)); - } - - i2c_send_data(i2c, reg); - for (i = 0; i < size; i++) { - wait = true; - while (wait) { - if (i2c_transmit_int_status(i2c)) { - wait = false; - } - while (i2c_nack(i2c)); - } - i2c_send_data(i2c, data[i]); - } -} - -void read_i2c(uint32_t i2c, uint8_t i2c_addr, uint8_t reg, uint8_t size, - uint8_t *data) -{ - int wait; - int i; - while (i2c_busy(i2c) == 1); - while (i2c_is_start(i2c) == 1); - /*Setting transfer properties*/ - i2c_set_bytes_to_transfer(i2c, 1); - i2c_set_7bit_address(i2c, i2c_addr); - i2c_set_write_transfer_dir(i2c); - i2c_disable_autoend(i2c); - /*start transfer*/ - i2c_send_start(i2c); - - wait = true; - while (wait) { - if (i2c_transmit_int_status(i2c)) { - wait = false; - } - while (i2c_nack(i2c)); /* Some error */ - } - i2c_send_data(i2c, reg); - - while (i2c_is_start(i2c) == 1); - /*Setting transfer properties*/ - i2c_set_bytes_to_transfer(i2c, size); - i2c_set_7bit_address(i2c, i2c_addr); - i2c_set_read_transfer_dir(i2c); - i2c_enable_autoend(i2c); - /*start transfer*/ - i2c_send_start(i2c); - - for (i = 0; i < size; i++) { - while (i2c_received_data(i2c) == 0); - data[i] = i2c_get_data(i2c); - } -} - /**@}*/