BERTL library, Kevin Heinrich
Dependents: BertlPingPong_UEbung3_EB
bertl14.h@3:4326e2654adb, 2016-02-01 (annotated)
- Committer:
- heinrich_kevin
- Date:
- Mon Feb 01 10:48:40 2016 +0000
- Revision:
- 3:4326e2654adb
- Parent:
- 2:d9f2452ba88d
- Child:
- 4:066936e2c097
Test;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
heinrich_kevin | 0:f40ab7184c3f | 1 | #include <mbed.h> |
heinrich_kevin | 1:01bc0c86f111 | 2 | //LED-Defines |
heinrich_kevin | 3:4326e2654adb | 3 | #define LED_OFF 0x00 // 0b0000 0000, All Leds are off |
heinrich_kevin | 1:01bc0c86f111 | 4 | #define LED_FL_WHITE 0x01 // 0b0000 0001, BERTL FORWARD Left-Side WHITE-LED |
heinrich_kevin | 1:01bc0c86f111 | 5 | #define LED_FL_YELLOW 0x02 // 0b0000 0010, BERTL FORWARD Left-Side YELLOW-LED |
heinrich_kevin | 1:01bc0c86f111 | 6 | #define LED_FR_WHITE 0x04 // 0b0000 0100, BERTL FORWARD Right-Side WHITE-LED |
heinrich_kevin | 1:01bc0c86f111 | 7 | #define LED_FR_YELLOW 0x08 // 0b0000 1000, BERTL FORWARD Right-Side YELLOW-LED |
heinrich_kevin | 1:01bc0c86f111 | 8 | #define LED_BL_RED 0x10 // 0b0001 0000, BERTL BACKWARD Left-Side RED-LED |
heinrich_kevin | 1:01bc0c86f111 | 9 | #define LED_BL_YELLOW 0x20 // 0b0010 0000, BERTL BACKWARD Left-Side YELLOW-LED |
heinrich_kevin | 1:01bc0c86f111 | 10 | #define LED_BR_RED 0x40 // 0b0100 0000, BERTL BACKWARD Right-Side RED-LED |
heinrich_kevin | 1:01bc0c86f111 | 11 | #define LED_BR_YELLOW 0x80 // 0b1000 0000, BERTL BACKWARD Right-Side YELLOW-LED |
heinrich_kevin | 3:4326e2654adb | 12 | #define LED_ON 0xFF // 0b1111 1111, All Leds are on |
heinrich_kevin | 0:f40ab7184c3f | 13 | |
heinrich_kevin | 3:4326e2654adb | 14 | #define LED_R_YELLOW (LED_FR_YELLOW|LED_BR_YELLOW) // 0b1000 1000, BERTL Right Side, YELLOW-LEDs are on |
heinrich_kevin | 3:4326e2654adb | 15 | #define LED_L_YELLOW (LED_FL_YELLOW|LED_BL_YELLOW) // 0b0010 0010, BERTL Left Side, YELLOW-LEDs are on |
heinrich_kevin | 3:4326e2654adb | 16 | #define LED_F_WHITE (LED_FL_WHITE|LED_FR_WHITE) // 0b0000 0101, BERTL Forward, WHITE-LEDs are on |
heinrich_kevin | 3:4326e2654adb | 17 | #define LED_B_RED (LED_BL_RED|LED_BR_RED) // 0b0101 0000, BERTL Backward, RED LEDs are on |
heinrich_kevin | 3:4326e2654adb | 18 | #define LED_B_ALL (LED_B_RED|LED_BL_YELLOW|LED_BR_YELLOW) // 0b1111 0000, BERTL Backward, All LEDs are on |
heinrich_kevin | 3:4326e2654adb | 19 | #define LED_F_ALL (LED_F_WHITE|LED_FL_YELLOW|LED_FR_YELLOW) // 0b0000 1111, BERTL Forward, All LEDs are on |
heinrich_kevin | 2:d9f2452ba88d | 20 | //-------------------------------------- |
heinrich_kevin | 2:d9f2452ba88d | 21 | // Switches: |
heinrich_kevin | 2:d9f2452ba88d | 22 | // Switch TA1: DEZ = 1 |
heinrich_kevin | 2:d9f2452ba88d | 23 | // Switch TA2: DEZ = 2 |
heinrich_kevin | 2:d9f2452ba88d | 24 | // Switch TA3: DEZ = 4 |
heinrich_kevin | 2:d9f2452ba88d | 25 | // Switch TA4: DEZ = 8 |
heinrich_kevin | 2:d9f2452ba88d | 26 | // Switch TA5: DEZ = 16 |
heinrich_kevin | 2:d9f2452ba88d | 27 | // Switch TA6: DEZ = 32 |
heinrich_kevin | 2:d9f2452ba88d | 28 | // Switch TA7: DEZ = 64 |
heinrich_kevin | 2:d9f2452ba88d | 29 | // Switch TA8: DEZ = 128 |
heinrich_kevin | 2:d9f2452ba88d | 30 | //-------------------------------------- |
heinrich_kevin | 1:01bc0c86f111 | 31 | // Define PC9555 Routines |
heinrich_kevin | 2:d9f2452ba88d | 32 | #define PC9555_ADDR_W 0x40 //A2 = A1 = A0 = 0, WRITE-ADRESS |
heinrich_kevin | 2:d9f2452ba88d | 33 | #define PC9555_ADDR_R 0x41 // READ-ADRESS, to set the Read-bit |
heinrich_kevin | 1:01bc0c86f111 | 34 | #define PC9555_FREQUENCY 100000 // fI2C in Hz |
heinrich_kevin | 1:01bc0c86f111 | 35 | // PC9555 Commands |
heinrich_kevin | 1:01bc0c86f111 | 36 | #define PC9555_PORT0_IN (0) |
heinrich_kevin | 1:01bc0c86f111 | 37 | #define PC9555_PORT1_IN (1) |
heinrich_kevin | 1:01bc0c86f111 | 38 | #define PC9555_PORT0_OUT (2) |
heinrich_kevin | 1:01bc0c86f111 | 39 | #define PC9555_PORT1_OUT (3) |
heinrich_kevin | 1:01bc0c86f111 | 40 | #define PC9555_PORT0_INV (4) |
heinrich_kevin | 1:01bc0c86f111 | 41 | #define PC9555_PORT1_INV (5) |
heinrich_kevin | 1:01bc0c86f111 | 42 | #define PC9555_PORT0_DIRCONFIG (6) |
heinrich_kevin | 1:01bc0c86f111 | 43 | #define PC9555_PORT1_DIRCONFIG (7) |
heinrich_kevin | 2:d9f2452ba88d | 44 | // Define Motor Routines |
heinrich_kevin | 2:d9f2452ba88d | 45 | #define ENGINE_LEFT_BACKWARD P1_0 //IN1, EP10, MG1A => MG1 engine-Pin 2, left_Reverse |
heinrich_kevin | 2:d9f2452ba88d | 46 | #define ENGINE_LEFT_FORWARD P1_1 //IN2, EP11, MG1B => MG1 engine-Pin 1, left_Forward |
heinrich_kevin | 2:d9f2452ba88d | 47 | #define ENGINE_ENABLE_LEFT P1_15 //EN1, P34, left_ENABLE |
heinrich_kevin | 2:d9f2452ba88d | 48 | #define ENGINE_RIGHT_REVERSE P1_4 //IN4, EP13, MG2A => MG2 engine-Pin 2, right_Reverse |
heinrich_kevin | 2:d9f2452ba88d | 49 | #define ENGINE_RIGHT_FORWARD P1_3 //IN3, EP14, MG2B => MG2 engine-Pin 1, right_Forward |
heinrich_kevin | 2:d9f2452ba88d | 50 | #define ENGINE_ENABLE_RIGHT P0_21 //EN2, P36, right_ENABLE |
heinrich_kevin | 2:d9f2452ba88d | 51 | #define MAX_PWM 255 //Define the MAX Value of the PWM |
heinrich_kevin | 1:01bc0c86f111 | 52 | // Motor Routines |
heinrich_kevin | 0:f40ab7184c3f | 53 | void bertl_engine(int left, int right); |
heinrich_kevin | 1:01bc0c86f111 | 54 | void bertl_engine_test(); |
heinrich_kevin | 1:01bc0c86f111 | 55 | |
heinrich_kevin | 1:01bc0c86f111 | 56 | // PC9555 routines |
heinrich_kevin | 1:01bc0c86f111 | 57 | void bertl_PC9555_init(); |
heinrich_kevin | 1:01bc0c86f111 | 58 | void bertl_PC9555_leds(unsigned char leds); |
heinrich_kevin | 1:01bc0c86f111 | 59 | unsigned char bertl_PC9555_switches(); |