version 1.0
Dependencies: CMSIS_DSP_401 GPS MPU9150_DMP PID QuaternionMath Servo mbed
Fork of SolarOnFoils_MainModule_20150518 by
LCD_I2C.h@2:f6d058931b17, 2015-08-11 (annotated)
- 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?
User | Revision | Line number | New 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 | ////////////////////////////////////////////////////////////////////////////////////// |