From 85caee84eec03dd1f04ceb8d01494322e713fd65 Mon Sep 17 00:00:00 2001 From: James McKenzie Date: Mon, 3 Aug 2015 00:22:04 +0100 Subject: fish --- app/i2c2.c | 132 ------------------------------------------------------------- 1 file changed, 132 deletions(-) delete mode 100644 app/i2c2.c (limited to 'app/i2c2.c') diff --git a/app/i2c2.c b/app/i2c2.c deleted file mode 100644 index 77701cc..0000000 --- a/app/i2c2.c +++ /dev/null @@ -1,132 +0,0 @@ -#include "project.h" - - -#define GPIO_SCL GPIOA -#define GPIO_SDA GPIOB -#define SCL GPIO5 -#define SDA GPIO11 - -#define I2C_BB_DELAY do { delay_us(1); } while (0) - -int -i2c2_bb (int scl, int sda) -{ - if (scl) - gpio_set (GPIO_SCL, SCL); - else - gpio_clear (GPIO_SCL, SCL); - if (sda) - gpio_set (GPIO_SDA, SDA); - else - gpio_clear (GPIO_SDA, SDA); - - return ! !(gpio_get (GPIO_SDA, SDA) & SDA); - -} - - -void -i2c2_bb_start (void) -{ - i2c2_bb (1, 1); - I2C_BB_DELAY; - i2c2_bb (1, 0); - I2C_BB_DELAY; - i2c2_bb (0, 0); - I2C_BB_DELAY; -} - - -void -i2c2_bb_stop (void) -{ - i2c2_bb (0, 0); - I2C_BB_DELAY; - i2c2_bb (1, 0); - I2C_BB_DELAY; - i2c2_bb (1, 1); - I2C_BB_DELAY; -} - -int -i2c2_bb_send_data (uint8_t v) -{ - int c; - - - for (c = 0x80; c; c >>= 1) - { - i2c2_bb (0, c & v); - I2C_BB_DELAY; - i2c2_bb (1, c & v); - I2C_BB_DELAY; - i2c2_bb (0, c & v); - I2C_BB_DELAY; - } - - i2c2_bb (0, 1); - I2C_BB_DELAY; - i2c2_bb (1, 1); - I2C_BB_DELAY; - c = i2c2_bb (1, 1); - i2c2_bb (0, 1); - - return c; -} - - -int -i2c2_bb_start_transaction (uint8_t a, int wnr) -{ - int ret; - - i2c2_bb_start (); - ret = i2c2_bb_send_data (a << 1 | ! !(wnr)); - - - return ret; -} - -#if 0 -void -i2c2_bb_scan (void) -{ - int i, r; - - return; - i2cp_reset (); - - printf ("Probing bus\r\n"); - for (i = 0; i < 128; ++i) - { - while (i2cp_lock ()); - i2cp_start (); - i2cp_abort_start (); - i2cp_stop (); - i2cp_abort_stop (); - r = i2cp_start_transaction (i, I2C_WRITE); - i2cp_stop (); - i2cp_unlock (); - if (!r) - printf ("Found device at address 0x%x\r\n", i); - usart1_drain (); - } - printf ("Done\r\n"); - i2cp_reset (); - -} -#endif - -void -i2c2_bb_init (void) -{ - gpio_set_mode (GPIO_SCL, GPIO_MODE_OUTPUT_50_MHZ, - GPIO_CNF_OUTPUT_OPENDRAIN, SCL); - gpio_set_mode (GPIO_SDA, GPIO_MODE_OUTPUT_50_MHZ, - GPIO_CNF_OUTPUT_OPENDRAIN, SDA); - - i2c2_bb_start (); - i2c2_bb_stop (); - - -} -- cgit v1.2.3