From 23e5d273ef3e11c8ad463c632daa5a52684bc5bb Mon Sep 17 00:00:00 2001
From: James McKenzie <git@madingley.org>
Date: Mon, 3 Aug 2015 00:22:12 +0100
Subject: fish

---
 app/Makefile     |  2 +-
 app/i2c.c        | 48 ++++++++++++++++++++++++------------------------
 app/lcd.c        | 24 ++++++++++++------------
 app/main.c       | 15 +++++++--------
 app/prototypes.h | 17 +++++++++++------
 app/ticker.c     |  1 +
 6 files changed, 56 insertions(+), 51 deletions(-)

diff --git a/app/Makefile b/app/Makefile
index 3bdb8d4..f02196e 100644
--- a/app/Makefile
+++ b/app/Makefile
@@ -24,7 +24,7 @@ PROG=crypto
 V=1
 default: ${PROG}.elf
 
-CSRCS=dfu.c crypto.c main.c usb.c  led.c ticker.c i2c1.c i2c2.c lcd.c keypad.c
+CSRCS=dfu.c crypto.c main.c usb.c  led.c ticker.c i2c.c lcd.c keypad.c
 
 
 BINARY = ${PROG}
diff --git a/app/i2c.c b/app/i2c.c
index db60931..89249d0 100644
--- a/app/i2c.c
+++ b/app/i2c.c
@@ -9,7 +9,7 @@
 #define I2C_BB_DELAY do { delay_us(1); } while (0)
 
 int
-i2c1_bb (int scl, int sda)
+i2c_bb (int scl, int sda)
 {
   if (scl)
     gpio_set (GPIO_SCL, SCL);
@@ -26,62 +26,62 @@ i2c1_bb (int scl, int sda)
 
 
 void
-i2c1_bb_start (void)
+i2c_bb_start (void)
 {
-  i2c1_bb (1, 1);
+  i2c_bb (1, 1);
   I2C_BB_DELAY;
-  i2c1_bb (1, 0);
+  i2c_bb (1, 0);
   I2C_BB_DELAY;
-  i2c1_bb (0, 0);
+  i2c_bb (0, 0);
   I2C_BB_DELAY;
 }
 
 
 void
-i2c1_bb_stop (void)
+i2c_bb_stop (void)
 {
-  i2c1_bb (0, 0);
+  i2c_bb (0, 0);
   I2C_BB_DELAY;
-  i2c1_bb (1, 0);
+  i2c_bb (1, 0);
   I2C_BB_DELAY;
-  i2c1_bb (1, 1);
+  i2c_bb (1, 1);
   I2C_BB_DELAY;
 }
 
 int
-i2c1_bb_send_data (uint8_t v)
+i2c_bb_send_data (uint8_t v)
 {
   int c;
 
 
   for (c = 0x80; c; c >>= 1)
     {
-      i2c1_bb (0, c & v);
+      i2c_bb (0, c & v);
       I2C_BB_DELAY;
-      i2c1_bb (1, c & v);
+      i2c_bb (1, c & v);
       I2C_BB_DELAY;
-      i2c1_bb (0, c & v);
+      i2c_bb (0, c & v);
       I2C_BB_DELAY;
     }
 
-  i2c1_bb (0, 1);
+  i2c_bb (0, 1);
   I2C_BB_DELAY;
-  i2c1_bb (1, 1);
+  i2c_bb (1, 1);
   I2C_BB_DELAY;
-  c = i2c1_bb (1, 1);
-  i2c1_bb (0, 1);
+  c = i2c_bb (1, 1);
+  i2c_bb (0, 1);
 
   return c;
 }
 
 
 int
-i2c1_bb_start_transaction (uint8_t a, int wnr)
+i2c_bb_start_transaction (uint8_t a, int wnr)
 {
   int ret;
 
-  i2c1_bb_start ();
-  ret = i2c1_bb_send_data (a << 1 | ! !(wnr));
+  i2c_bb_start ();
+  ret = i2c_bb_send_data (a << 1 | ! !(wnr));
 
 
   return ret;
@@ -89,7 +89,7 @@ i2c1_bb_start_transaction (uint8_t a, int wnr)
 
 #if 0
 void
-i2c1_bb_scan (void)
+i2c_bb_scan (void)
 {
   int i, r;
 
@@ -118,15 +118,15 @@ i2c1_bb_scan (void)
 #endif
 
 void
-i2c1_bb_init (void)
+i2c_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);
 
-  i2c1_bb_start ();
-  i2c1_bb_stop ();
+  i2c_bb_start ();
+  i2c_bb_stop ();
 
 
 }
diff --git a/app/lcd.c b/app/lcd.c
index 5fc0b03..714e850 100644
--- a/app/lcd.c
+++ b/app/lcd.c
@@ -52,9 +52,9 @@ clock_nibble (uint8_t n)
 {
   if (backlight)
     n |= LINE_BACKLIGHT;
-  i2c1_bb_send_data (n);
-  i2c1_bb_send_data (LINE_EN | n);
-  i2c1_bb_send_data (n);
+  i2c_bb_send_data (n);
+  i2c_bb_send_data (LINE_EN | n);
+  i2c_bb_send_data (n);
 }
 
 
@@ -92,9 +92,9 @@ send_command (uint8_t c)
 static void
 send_one_command (uint8_t cmd, int delay)
 {
-  i2c1_bb_start_transaction (PCF8574_I2C_ADDRESS, I2C_WRITE);
+  i2c_bb_start_transaction (PCF8574_I2C_ADDRESS, I2C_WRITE);
   send_command (cmd);
-  i2c1_bb_stop ();
+  i2c_bb_stop ();
   if (delay)
     delay_ms (delay);
 }
@@ -150,7 +150,7 @@ lcd_refresh (void)
   int addr;
 
 
-  i2c1_bb_start_transaction (PCF8574_I2C_ADDRESS, I2C_WRITE);
+  i2c_bb_start_transaction (PCF8574_I2C_ADDRESS, I2C_WRITE);
 
 
   for (r = 0; r < LCD_H; ++r)
@@ -178,7 +178,7 @@ lcd_refresh (void)
         }
     }
 
-  i2c1_bb_stop ();
+  i2c_bb_stop ();
 }
 
 void
@@ -299,9 +299,9 @@ lcd_backlight (int i)
 {
   backlight = i;
 
-  i2c1_bb_start_transaction (PCF8574_I2C_ADDRESS, I2C_WRITE);
-  i2c1_bb_send_data (backlight ? LINE_BACKLIGHT : 0);
-  i2c1_bb_stop ();
+  i2c_bb_start_transaction (PCF8574_I2C_ADDRESS, I2C_WRITE);
+  i2c_bb_send_data (backlight ? LINE_BACKLIGHT : 0);
+  i2c_bb_stop ();
 }
 
 
@@ -312,7 +312,7 @@ lcd_backlight (int i)
 void
 lcd_reset (void)
 {
-  i2c1_bb_start_transaction (PCF8574_I2C_ADDRESS, I2C_WRITE);
+  i2c_bb_start_transaction (PCF8574_I2C_ADDRESS, I2C_WRITE);
   clock_nibble (0x30);
   delay_ms (5);
   clock_nibble (0x30);
@@ -322,7 +322,7 @@ lcd_reset (void)
   clock_nibble (0x20);
 
   send_command (LCD_FUNC | LCD_FUNC_4BIT | LCD_FUNC_2ROWS | LCD_FUNC_5X7);
-  i2c1_bb_stop ();
+  i2c_bb_stop ();
   on ();
   cls ();
 }
diff --git a/app/main.c b/app/main.c
index 0d683e7..edca1e6 100644
--- a/app/main.c
+++ b/app/main.c
@@ -17,22 +17,21 @@ main (void)
 
   ticker_init ();
   led_init ();
-  i2c1_bb_init ();
+  i2c_bb_init ();
   lcd_init ();
-  i2c2_bb_init ();
-  keypad_init();
+  keypad_init ();
 
 
   lcd_backlight (1);
 
 #if 0
   {
-   char buf[16];
-	sprintf(buf,"%x",dfu_flag);
-	lcd_write(buf,0,1);
-}
+    char buf[16];
+    sprintf (buf, "%x", dfu_flag);
+    lcd_write (buf, 0, 1);
+  }
 #endif
-	
+
 
   lcd_write ("hello world", 0, 0);
 
diff --git a/app/prototypes.h b/app/prototypes.h
index 78a0e8b..7f5498a 100644
--- a/app/prototypes.h
+++ b/app/prototypes.h
@@ -31,12 +31,12 @@ extern void delay_ms(uint32_t d);
 extern int timed_out(uint32_t then, unsigned int ms);
 extern void ticker_init(void);
 /* i2c.c */
-extern int i2c1_bb(int scl, int sda);
-extern void i2c1_bb_start(void);
-extern void i2c1_bb_stop(void);
-extern int i2c1_bb_send_data(uint8_t v);
-extern int i2c1_bb_start_transaction(uint8_t a, int wnr);
-extern void i2c1_bb_init(void);
+extern int i2c_bb(int scl, int sda);
+extern void i2c_bb_start(void);
+extern void i2c_bb_stop(void);
+extern int i2c_bb_send_data(uint8_t v);
+extern int i2c_bb_start_transaction(uint8_t a, int wnr);
+extern void i2c_bb_init(void);
 /* lcd.c */
 extern uint8_t fb[2][16];
 extern uint8_t shadow[2][16];
@@ -51,3 +51,8 @@ extern void lcd_backlight(int i);
 extern void lcd_reset(void);
 extern void lcd_init(void);
 extern void lcd_shutdown(void);
+/* keypad.c */
+extern int i2c2_bb(int scl, int sda);
+extern uint16_t keypad_read(void);
+extern void keypad_tick(void);
+extern void keypad_init(void);
diff --git a/app/ticker.c b/app/ticker.c
index dcba0d1..c9d12ec 100644
--- a/app/ticker.c
+++ b/app/ticker.c
@@ -29,6 +29,7 @@ sys_tick_handler (void)
 
   led_tick ();
   lcd_tick ();
+  keypad_tick();
 }
 
 
-- 
cgit v1.2.3