version 1.0

Dependencies:   CMSIS_DSP_401 GPS MPU9150_DMP PID QuaternionMath Servo mbed

Fork of SolarOnFoils_MainModule_20150518 by Dannis Brugman

Committer:
Dannis_mbed
Date:
Tue Aug 11 08:38:55 2015 +0000
Revision:
2:f6d058931b17
Parent:
0:81b21910454e
Test version mainmodule

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Dannis_mbed 0:81b21910454e 1 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 0:81b21910454e 2 // //
Dannis_mbed 0:81b21910454e 3 // File : LCD_I2C.h //
Dannis_mbed 0:81b21910454e 4 // Version : 0.2 //
Dannis_mbed 0:81b21910454e 5 // Date : 25 march 2015 //
Dannis_mbed 0:81b21910454e 6 // Author : Dany Brugman //
Dannis_mbed 0:81b21910454e 7 // Comment : Function to write data to a 2x16 LCD by I2C //
Dannis_mbed 0:81b21910454e 8 // using a MCP23017 port expander. //
Dannis_mbed 0:81b21910454e 9 // //
Dannis_mbed 0:81b21910454e 10 // Changelog : //
Dannis_mbed 0:81b21910454e 11 // Date: Name: Comment: //
Dannis_mbed 0:81b21910454e 12 // 25/03/2015 DNB First version //
Dannis_mbed 2:f6d058931b17 13 // 25/03/2015 DNB Implementation LCD_printPos //
Dannis_mbed 2:f6d058931b17 14 // 26/06/2015 DNB Rebuild LCD_I2C to class //
Dannis_mbed 0:81b21910454e 15 // //
Dannis_mbed 0:81b21910454e 16 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 0:81b21910454e 17
Dannis_mbed 0:81b21910454e 18 #ifndef ____LCD_I2C__
Dannis_mbed 0:81b21910454e 19 #define ____LCD_I2C__
Dannis_mbed 0:81b21910454e 20
Dannis_mbed 0:81b21910454e 21 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 0:81b21910454e 22 // includes //
Dannis_mbed 0:81b21910454e 23 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 0:81b21910454e 24 #include <stdio.h>
Dannis_mbed 0:81b21910454e 25 #include "MCP23017.h"
Dannis_mbed 0:81b21910454e 26
Dannis_mbed 0:81b21910454e 27 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 2:f6d058931b17 28 // class //
Dannis_mbed 2:f6d058931b17 29 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 2:f6d058931b17 30 class LCD_I2C
Dannis_mbed 2:f6d058931b17 31 {
Dannis_mbed 2:f6d058931b17 32 private:
Dannis_mbed 2:f6d058931b17 33 // resources
Dannis_mbed 2:f6d058931b17 34 I2C i2c;
Dannis_mbed 2:f6d058931b17 35 MCP23017 mcp23017;
Dannis_mbed 2:f6d058931b17 36
Dannis_mbed 2:f6d058931b17 37 // variable
Dannis_mbed 2:f6d058931b17 38 uint32_t uiCounter;
Dannis_mbed 2:f6d058931b17 39
Dannis_mbed 2:f6d058931b17 40 char deviceAdress;
Dannis_mbed 2:f6d058931b17 41 char buffer_GPIOB;
Dannis_mbed 2:f6d058931b17 42
Dannis_mbed 2:f6d058931b17 43 bool bError;
Dannis_mbed 2:f6d058931b17 44
Dannis_mbed 2:f6d058931b17 45 public:
Dannis_mbed 2:f6d058931b17 46 // Constructor
Dannis_mbed 2:f6d058931b17 47 LCD_I2C(PinName, PinName, char);
Dannis_mbed 2:f6d058931b17 48 // Destructor
Dannis_mbed 2:f6d058931b17 49 ~LCD_I2C();
Dannis_mbed 2:f6d058931b17 50
Dannis_mbed 2:f6d058931b17 51 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 2:f6d058931b17 52 // base functions //
Dannis_mbed 0:81b21910454e 53 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 2:f6d058931b17 54 void vLCD_delay_I2C (unsigned int t_delay); // delay up to 65535 ticks
Dannis_mbed 2:f6d058931b17 55 void vLCD_cmd_I2C (unsigned char commando); // send commando to LCD
Dannis_mbed 2:f6d058931b17 56 void vLCD_data_I2C (unsigned char data); // write single character to LCD
Dannis_mbed 2:f6d058931b17 57 void vLCD_init_I2C (void); // init LCD
Dannis_mbed 2:f6d058931b17 58 void vLCD_clear_I2C (void); // clear LCD
Dannis_mbed 0:81b21910454e 59
Dannis_mbed 2:f6d058931b17 60 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 2:f6d058931b17 61 // write functions //
Dannis_mbed 2:f6d058931b17 62 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 2:f6d058931b17 63 void vLCD_print_I2C (unsigned char *string, unsigned char line); // write a string to certain line
Dannis_mbed 2:f6d058931b17 64 void vLCD_printLine_I2C (unsigned char *string, unsigned char line); // write a string to certain line
Dannis_mbed 2:f6d058931b17 65 void vLCD_printPos_I2C (unsigned char *sting, unsigned char line, unsigned char character);// write a string to certain line
Dannis_mbed 2:f6d058931b17 66 void vLCD_printInt_I2C (int value, unsigned char line, unsigned char character); // write a integer to certain line
Dannis_mbed 2:f6d058931b17 67
Dannis_mbed 2:f6d058931b17 68 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 2:f6d058931b17 69 // update LCD //
Dannis_mbed 2:f6d058931b17 70 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 2:f6d058931b17 71 void vLCD_update (void); // update LCD
Dannis_mbed 2:f6d058931b17 72
Dannis_mbed 2:f6d058931b17 73
Dannis_mbed 2:f6d058931b17 74 };//end class
Dannis_mbed 2:f6d058931b17 75
Dannis_mbed 2:f6d058931b17 76
Dannis_mbed 2:f6d058931b17 77 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 2:f6d058931b17 78 // original functions //
Dannis_mbed 2:f6d058931b17 79 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 2:f6d058931b17 80 /*
Dannis_mbed 0:81b21910454e 81 void vLCD_delay_I2C (unsigned int t_delay); // delay up to 65535 ticks
Dannis_mbed 0:81b21910454e 82 void vLCD_cmd_I2C (unsigned char commando); // send commando to LCD
Dannis_mbed 0:81b21910454e 83 void vLCD_data_I2C (unsigned char data); // write single character to LCD
Dannis_mbed 0:81b21910454e 84 void vLCD_init_I2C (void); // init LCD
Dannis_mbed 0:81b21910454e 85 void vLCD_clear_I2C (void); // clear LCD
Dannis_mbed 0:81b21910454e 86 // write a string to certain line
Dannis_mbed 0:81b21910454e 87 void vLCD_printLine_I2C (unsigned char *string, unsigned char line);
Dannis_mbed 0:81b21910454e 88 // write a string to certain line
Dannis_mbed 0:81b21910454e 89 void vLCD_printPos_I2C (unsigned char *sting, unsigned char line, unsigned char character);
Dannis_mbed 0:81b21910454e 90 // write a integer to certain line
Dannis_mbed 0:81b21910454e 91 void vLCD_printInt_I2C (int value, unsigned char line, unsigned char character);
Dannis_mbed 0:81b21910454e 92 // update lcd
Dannis_mbed 0:81b21910454e 93 void vLCD_update (void);
Dannis_mbed 2:f6d058931b17 94 */
Dannis_mbed 2:f6d058931b17 95
Dannis_mbed 0:81b21910454e 96 #endif /* defined(____LCD_I2C__) */
Dannis_mbed 0:81b21910454e 97
Dannis_mbed 0:81b21910454e 98 //////////////////////////////////////////////////////////////////////////////////////
Dannis_mbed 0:81b21910454e 99 // EOF //
Dannis_mbed 0:81b21910454e 100 //////////////////////////////////////////////////////////////////////////////////////