Fork of I2C_LEDs by Matthias Hemmer

Revision:
1:97a7e9e9a229
Parent:
0:d7de08989175
--- a/I2C.h	Mon Feb 29 12:06:30 2016 +0000
+++ b/I2C.h	Sun Apr 24 08:29:05 2016 +0000
@@ -1,39 +1,48 @@
-#include "mbed.h"
+/*
+*       Lib for the Bertl 2014 Bulme
+*       Creator: Matthias Hemmer
+*
+*/  
+#define Addrs   0x40    // A2 = A1 = A0 = 0
+#define FREQUENCY   100000  // f in Hz
 
-// LED-Defines
-#define LED_FL_WHITE    0x01 // 0b0000 0001
-#define LED_FR_WHITE    0x04 // 0b0000 0100
-#define LED_FL_ORANGE   0x02 // 0b0000 0010
-#define LED_FR_ORANGE   0x08 // 0b0000 1000
-#define LED_BL_ORANGE   0x20 // 0b0010 0000
-#define LED_BR_ORANGE   0x80 // 0b1000 0000
-#define LED_BL_RED      0x10 // 0b0001 0000
-#define LED_BR_RED      0x40 // 0b0100 0000
-
-#define LED_L_ORANGE (LED_FL_ORANGE | LED_BL_ORANGE) // 0b0000 0010 | 0b0010 0000 = 0b0010 0010
-#define LED_R_ORANGE (LED_FR_ORANGE | LED_BR_ORANGE) // right blinkers    
-#define LED_WHITE    (LED_FL_WHITE  | LED_FR_WHITE)  // front light
-#define LED_RED      (LED_BL_RED    | LED_BR_RED)    //back light
+// Configurate Ports at the PCA9555
+#define Input0  (0)
+#define Input1  (1)
+#define Output0 (2)
+#define Output1 (3)
+#define Invers0 (4) // must be configurated
+#define Invers1 (5) // must be configurated 
+#define Config0 (6) // must be configurated
+#define Config1 (7) // must be configurated
 
-#define SW_FM 0x04
-#define SW_FL
-#define SW_FR
-#define SW_F (SW_FM|SW_FL|SW_FR)
+// Confiurate LEDs
+#define d1 0x01
+#define d2 0x02
+#define d4 0x04
+#define d5 0x08
+#define d6 0x10
+#define d7 0x20
+#define d8 0x40     // not working
+#define d9 0x80
 
-// PC9555-defines
-#define PC9555_ADDR 0x40 // A2 = A1 = A0 = 0
-#define PC9555_FREQUENCY 100000 // f in Hz
+#define WHITE (d1|d4)
+#define ORANGE (d2|d5|d7|d9)
+#define RED (d6|d8)
 
-//PC9555 Commands
-#define PC9555_Port0_IN (0)
-#define PC9555_Port1_IN (1)
-#define PC9555_Port0_OUT (2)
-#define PC9555_Port1_OUT (3)
-#define PC9555_Port0_INV (4)
-#define PC9555_Port1_INV (5)
-#define PC9555_Port0_DIR_IN (6)
-#define PC9555_Port1_DIR_IN (7)
+// Configurate buttons
+#define TA1 1
+#define TA2 2
+#define TA3 4
+#define TA4 8
+#define TA5 16
+#define TA6 32
+#define TA7 64
+#define TA8 128
 
-void bertl_PC9555_init();
-void bertl_PC9555_leds(unsigned char leds);
-unsigned char bertl_PC9555_switches();
\ No newline at end of file
+#define front (TA3|TA1|TA4|TA7|TA8)
+#define back (TA5|TA2|TA6)
+
+void init();
+void leds(unsigned char leds);
+unsigned char buttons();
\ No newline at end of file