LCD I2C Library New depot for last update : https://github.com/YSI-LPS/lib_LCD_i2c_SPTLYI

Dependents:   TD1_exo1 TD1_exe1_suite TP3_exo1 TP3_exo2 ... more

New depot for last update : https://github.com/YSI-LPS/lib_LCD_i2c_SPTLYI

Library for Character / Alphanumeric LCD Module 2 lines of 16 characters - 2 x 16

http://fr.farnell.com/midas/mccog21605b6w-sptlyi/lcd-cog-2x16-stn-vert-b-l-i2c/dp/2063208

Committer:
YSI
Date:
Wed Jun 05 08:11:28 2013 +0000
Revision:
0:0549f4c4896c
Child:
1:a805daa83dd0
library "lib_LCD_i2c_SPTLYI" revision v1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
YSI 0:0549f4c4896c 1 #include "lib_LCD_i2c_SPTLYI.h"
YSI 0:0549f4c4896c 2
YSI 0:0549f4c4896c 3
YSI 0:0549f4c4896c 4 LCD_I2C::LCD_I2C(PinName pin_sda, PinName pin_scl, PinName pin_rst, int address) : I2C(pin_sda, pin_scl), m_pin_rst(pin_rst), m_address(address)
YSI 0:0549f4c4896c 5 {
YSI 0:0549f4c4896c 6 reset();
YSI 0:0549f4c4896c 7 init();
YSI 0:0549f4c4896c 8 }
YSI 0:0549f4c4896c 9
YSI 0:0549f4c4896c 10 int LCD_I2C::init(void)
YSI 0:0549f4c4896c 11 {
YSI 0:0549f4c4896c 12 I2C::frequency(600000);
YSI 0:0549f4c4896c 13
YSI 0:0549f4c4896c 14 char data[12]={0x80,0x38,0x00,0x39,0x14,0x79,0x50,0x6F,0x0F,0x01,0x02,0x04};
YSI 0:0549f4c4896c 15 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 16 int ack = I2C::write(m_address, &data[0], 12);
YSI 0:0549f4c4896c 17 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 18 wait_ms(1);
YSI 0:0549f4c4896c 19 return ack;
YSI 0:0549f4c4896c 20 }
YSI 0:0549f4c4896c 21
YSI 0:0549f4c4896c 22 void LCD_I2C::reset(void)
YSI 0:0549f4c4896c 23 {
YSI 0:0549f4c4896c 24 m_pin_rst.output();
YSI 0:0549f4c4896c 25 wait_ms(1);
YSI 0:0549f4c4896c 26 m_pin_rst.input();
YSI 0:0549f4c4896c 27 wait_ms(1);
YSI 0:0549f4c4896c 28 }
YSI 0:0549f4c4896c 29
YSI 0:0549f4c4896c 30 int LCD_I2C::clear(void)
YSI 0:0549f4c4896c 31 {
YSI 0:0549f4c4896c 32 char data[2]={0x00,0x01};
YSI 0:0549f4c4896c 33 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 34 int ack = I2C::write(m_address, &data[0], 2);
YSI 0:0549f4c4896c 35 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 36 wait_ms(1);
YSI 0:0549f4c4896c 37 return ack;
YSI 0:0549f4c4896c 38 }
YSI 0:0549f4c4896c 39
YSI 0:0549f4c4896c 40 int LCD_I2C::turn_on_cursor(void)
YSI 0:0549f4c4896c 41 {
YSI 0:0549f4c4896c 42 char data[2]={0x00,0x0F};
YSI 0:0549f4c4896c 43 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 44 int ack = I2C::write(m_address, &data[0], 2);
YSI 0:0549f4c4896c 45 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 46 return ack;
YSI 0:0549f4c4896c 47 }
YSI 0:0549f4c4896c 48
YSI 0:0549f4c4896c 49 int LCD_I2C::turn_off_cursor(void)
YSI 0:0549f4c4896c 50 {
YSI 0:0549f4c4896c 51 char data[2]={0x00,0x0C};
YSI 0:0549f4c4896c 52 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 53 int ack = I2C::write(m_address, &data[0], 2);
YSI 0:0549f4c4896c 54 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 55 return ack;
YSI 0:0549f4c4896c 56 }
YSI 0:0549f4c4896c 57
YSI 0:0549f4c4896c 58 int LCD_I2C::turn_on_display(void)
YSI 0:0549f4c4896c 59 {
YSI 0:0549f4c4896c 60 char data[2]={0x00,0x0F};
YSI 0:0549f4c4896c 61 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 62 int ack = I2C::write(m_address, &data[0], 2);
YSI 0:0549f4c4896c 63 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 64 return ack;
YSI 0:0549f4c4896c 65 }
YSI 0:0549f4c4896c 66
YSI 0:0549f4c4896c 67 int LCD_I2C::turn_off_display(void)
YSI 0:0549f4c4896c 68 {
YSI 0:0549f4c4896c 69 char data[2]={0x00,0x08};
YSI 0:0549f4c4896c 70 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 71 int ack = I2C::write(m_address, &data[0], 2);
YSI 0:0549f4c4896c 72 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 73 return ack;
YSI 0:0549f4c4896c 74 }
YSI 0:0549f4c4896c 75
YSI 0:0549f4c4896c 76 int LCD_I2C::return_home_cursor(void)
YSI 0:0549f4c4896c 77 {
YSI 0:0549f4c4896c 78 char data[2]={0x00,0x02};
YSI 0:0549f4c4896c 79 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 80 int ack = I2C::write(m_address, &data[0], 2);
YSI 0:0549f4c4896c 81 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 82 return ack;
YSI 0:0549f4c4896c 83 }
YSI 0:0549f4c4896c 84
YSI 0:0549f4c4896c 85 void LCD_I2C::shift_left_cursor(int n)
YSI 0:0549f4c4896c 86 {
YSI 0:0549f4c4896c 87 char data[3]={0x00,0x38,0x10};
YSI 0:0549f4c4896c 88 int i=0;
YSI 0:0549f4c4896c 89 for(i=0;i<n;i++)
YSI 0:0549f4c4896c 90 {
YSI 0:0549f4c4896c 91 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 92 I2C::write(m_address, &data[0], 3);
YSI 0:0549f4c4896c 93 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 94 }
YSI 0:0549f4c4896c 95 }
YSI 0:0549f4c4896c 96
YSI 0:0549f4c4896c 97 void LCD_I2C::shift_right_cursor(int n)
YSI 0:0549f4c4896c 98 {
YSI 0:0549f4c4896c 99 char data[3]={0x00,0x38,0x14};
YSI 0:0549f4c4896c 100 int i=0;
YSI 0:0549f4c4896c 101 for(i=0;i<n;i++)
YSI 0:0549f4c4896c 102 {
YSI 0:0549f4c4896c 103 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 104 I2C::write(m_address, &data[0], 3);
YSI 0:0549f4c4896c 105 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 106 }
YSI 0:0549f4c4896c 107 }
YSI 0:0549f4c4896c 108
YSI 0:0549f4c4896c 109 int LCD_I2C::shift_line_cursor(void)
YSI 0:0549f4c4896c 110 {
YSI 0:0549f4c4896c 111 char data[4]={0x00,0x38,0x40,0xC0};
YSI 0:0549f4c4896c 112 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 113 int ack = I2C::write(m_address, &data[0], 4);
YSI 0:0549f4c4896c 114 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 115 return ack;
YSI 0:0549f4c4896c 116 }
YSI 0:0549f4c4896c 117
YSI 0:0549f4c4896c 118 int LCD_I2C::set_position_cursor(int position)
YSI 0:0549f4c4896c 119 {
YSI 0:0549f4c4896c 120 int CGRAM=0x00;
YSI 0:0549f4c4896c 121 int DDRAM=0x00;
YSI 0:0549f4c4896c 122
YSI 0:0549f4c4896c 123 if(position < 0x00)
YSI 0:0549f4c4896c 124 {
YSI 0:0549f4c4896c 125 CGRAM = 0x00;
YSI 0:0549f4c4896c 126 DDRAM = 0x00;
YSI 0:0549f4c4896c 127 }else{
YSI 0:0549f4c4896c 128 if(position > 0x7F)
YSI 0:0549f4c4896c 129 {
YSI 0:0549f4c4896c 130 CGRAM = 0x7F;
YSI 0:0549f4c4896c 131 DDRAM = 0x67;
YSI 0:0549f4c4896c 132 }else{
YSI 0:0549f4c4896c 133 CGRAM = position;
YSI 0:0549f4c4896c 134 if(position > 0x27)
YSI 0:0549f4c4896c 135 {
YSI 0:0549f4c4896c 136 DDRAM = (position - 0x27) + 0x3F;
YSI 0:0549f4c4896c 137 }else{
YSI 0:0549f4c4896c 138 DDRAM = position;
YSI 0:0549f4c4896c 139 }
YSI 0:0549f4c4896c 140 }
YSI 0:0549f4c4896c 141 }
YSI 0:0549f4c4896c 142 char data[4]={0x00,0x38,0x40+CGRAM,0x80+DDRAM};
YSI 0:0549f4c4896c 143 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 144 int ack = I2C::write(m_address, &data[0], 4);
YSI 0:0549f4c4896c 145 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 146 return ack;
YSI 0:0549f4c4896c 147 }
YSI 0:0549f4c4896c 148
YSI 0:0549f4c4896c 149 void LCD_I2C::shift_left_display(int n)
YSI 0:0549f4c4896c 150 {
YSI 0:0549f4c4896c 151 char data[3]={0x00,0x38,0x18};
YSI 0:0549f4c4896c 152 int i=0;
YSI 0:0549f4c4896c 153 for(i=0;i<n;i++)
YSI 0:0549f4c4896c 154 {
YSI 0:0549f4c4896c 155 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 156 I2C::write(m_address, &data[0], 3);
YSI 0:0549f4c4896c 157 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 158 }
YSI 0:0549f4c4896c 159 }
YSI 0:0549f4c4896c 160
YSI 0:0549f4c4896c 161 void LCD_I2C::shift_right_display(int n)
YSI 0:0549f4c4896c 162 {
YSI 0:0549f4c4896c 163 char data[3]={0x00,0x38,0x1C};
YSI 0:0549f4c4896c 164 int i=0;
YSI 0:0549f4c4896c 165 for(i=0;i<n;i++)
YSI 0:0549f4c4896c 166 {
YSI 0:0549f4c4896c 167 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 168 I2C::write(m_address, &data[0], 3);
YSI 0:0549f4c4896c 169 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 170 }
YSI 0:0549f4c4896c 171 }
YSI 0:0549f4c4896c 172
YSI 0:0549f4c4896c 173 int LCD_I2C::enable_auto_shift_right_display(void)
YSI 0:0549f4c4896c 174 {
YSI 0:0549f4c4896c 175 char data[2]={0x00,0x05};
YSI 0:0549f4c4896c 176 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 177 int ack = I2C::write(m_address, &data[0], 2);
YSI 0:0549f4c4896c 178 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 179 return ack;
YSI 0:0549f4c4896c 180 }
YSI 0:0549f4c4896c 181
YSI 0:0549f4c4896c 182 int LCD_I2C::enable_auto_shift_left_display(void)
YSI 0:0549f4c4896c 183 {
YSI 0:0549f4c4896c 184 char data[2]={0x00,0x07};
YSI 0:0549f4c4896c 185 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 186 int ack = I2C::write(m_address, &data[0], 2);
YSI 0:0549f4c4896c 187 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 188 return ack;
YSI 0:0549f4c4896c 189 }
YSI 0:0549f4c4896c 190
YSI 0:0549f4c4896c 191 int LCD_I2C::disable_auto_shift_display(void)
YSI 0:0549f4c4896c 192 {
YSI 0:0549f4c4896c 193 char data[2]={0x00,0x06};
YSI 0:0549f4c4896c 194 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 195 int ack = I2C::write(m_address, &data[0], 2);
YSI 0:0549f4c4896c 196 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 197 return ack;
YSI 0:0549f4c4896c 198 }
YSI 0:0549f4c4896c 199
YSI 0:0549f4c4896c 200 int LCD_I2C::auto_shift_right_cursor(void)
YSI 0:0549f4c4896c 201 {
YSI 0:0549f4c4896c 202 char data[2]={0x00,0x06};
YSI 0:0549f4c4896c 203 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 204 int ack = I2C::write(m_address, &data[0], 2);
YSI 0:0549f4c4896c 205 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 206 return ack;
YSI 0:0549f4c4896c 207 }
YSI 0:0549f4c4896c 208
YSI 0:0549f4c4896c 209 int LCD_I2C::auto_shift_left_cursor(void)
YSI 0:0549f4c4896c 210 {
YSI 0:0549f4c4896c 211 char data[2]={0x00,0x04};
YSI 0:0549f4c4896c 212 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 213 int ack = I2C::write(m_address, &data[0], 2);
YSI 0:0549f4c4896c 214 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 215 return ack;
YSI 0:0549f4c4896c 216 }
YSI 0:0549f4c4896c 217
YSI 0:0549f4c4896c 218 int LCD_I2C::putnc(char *s,int n)
YSI 0:0549f4c4896c 219 {
YSI 0:0549f4c4896c 220 int ack=0, i=0;
YSI 0:0549f4c4896c 221 char data[n+1];
YSI 0:0549f4c4896c 222 data[0]=0x40;
YSI 0:0549f4c4896c 223 for(i=0;i<n;i++) data[i+1]=s[i];
YSI 0:0549f4c4896c 224 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 225 ack = I2C::write(m_address, &data[0], n+1);
YSI 0:0549f4c4896c 226 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 227 return ack;
YSI 0:0549f4c4896c 228 }
YSI 0:0549f4c4896c 229
YSI 0:0549f4c4896c 230 int LCD_I2C::print(char c)
YSI 0:0549f4c4896c 231 {
YSI 0:0549f4c4896c 232 char data[2]={0x40,c};
YSI 0:0549f4c4896c 233 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 234 int ack = I2C::write(m_address, &data[0], 2);
YSI 0:0549f4c4896c 235 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 236 return ack;
YSI 0:0549f4c4896c 237 }
YSI 0:0549f4c4896c 238
YSI 0:0549f4c4896c 239 int LCD_I2C::print(char c1, char c2)
YSI 0:0549f4c4896c 240 {
YSI 0:0549f4c4896c 241 char data[3]={0x40,c1,c2};
YSI 0:0549f4c4896c 242 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 243 int ack = I2C::write(m_address, &data[0], 3);
YSI 0:0549f4c4896c 244 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 245 return ack;
YSI 0:0549f4c4896c 246 }
YSI 0:0549f4c4896c 247
YSI 0:0549f4c4896c 248 int LCD_I2C::print(char c1, char c2, char c3)
YSI 0:0549f4c4896c 249 {
YSI 0:0549f4c4896c 250 char data[4]={0x40,c1,c2,c3};
YSI 0:0549f4c4896c 251 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 252 int ack = I2C::write(m_address, &data[0], 4);
YSI 0:0549f4c4896c 253 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 254 return ack;
YSI 0:0549f4c4896c 255 }
YSI 0:0549f4c4896c 256
YSI 0:0549f4c4896c 257 int LCD_I2C::print(char *s)
YSI 0:0549f4c4896c 258 {
YSI 0:0549f4c4896c 259 int ack=0, i=0, n=0;
YSI 0:0549f4c4896c 260 while(s[n]!='\0') n++;
YSI 0:0549f4c4896c 261 char data[n+1];
YSI 0:0549f4c4896c 262 data[0]=0x40;
YSI 0:0549f4c4896c 263 for(i=0;i<n;i++) data[i+1]=s[i];
YSI 0:0549f4c4896c 264 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 265 ack = I2C::write(m_address, &data[0], n+1);
YSI 0:0549f4c4896c 266 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 267 return ack;
YSI 0:0549f4c4896c 268 }
YSI 0:0549f4c4896c 269
YSI 0:0549f4c4896c 270 int LCD_I2C::print(int nb)
YSI 0:0549f4c4896c 271 {
YSI 0:0549f4c4896c 272 int n=0;
YSI 0:0549f4c4896c 273 char buffer[100]={0x00};
YSI 0:0549f4c4896c 274 n = sprintf(&buffer[0],"%d\0",nb);
YSI 0:0549f4c4896c 275 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 276 }
YSI 0:0549f4c4896c 277
YSI 0:0549f4c4896c 278 int LCD_I2C::print(double nb)
YSI 0:0549f4c4896c 279 {
YSI 0:0549f4c4896c 280 int n=0;
YSI 0:0549f4c4896c 281 char buffer[100]={0x00};
YSI 0:0549f4c4896c 282 n = sprintf(&buffer[0],"%.2f\0",nb);
YSI 0:0549f4c4896c 283 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 284 }
YSI 0:0549f4c4896c 285
YSI 0:0549f4c4896c 286 int LCD_I2C::print(char *s, int nb)
YSI 0:0549f4c4896c 287 {
YSI 0:0549f4c4896c 288 int n=0;
YSI 0:0549f4c4896c 289 char buffer[100]={0x00};
YSI 0:0549f4c4896c 290 n = sprintf(&buffer[0],&s[0],nb);
YSI 0:0549f4c4896c 291 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 292 }
YSI 0:0549f4c4896c 293
YSI 0:0549f4c4896c 294 int LCD_I2C::print(char *s, double nb)
YSI 0:0549f4c4896c 295 {
YSI 0:0549f4c4896c 296 int n=0;
YSI 0:0549f4c4896c 297 char buffer[100]={0x00};
YSI 0:0549f4c4896c 298 n = sprintf(&buffer[0],&s[0],nb);
YSI 0:0549f4c4896c 299 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 300 }
YSI 0:0549f4c4896c 301
YSI 0:0549f4c4896c 302 int LCD_I2C::print(char *s, int nb1, int nb2)
YSI 0:0549f4c4896c 303 {
YSI 0:0549f4c4896c 304 int n=0;
YSI 0:0549f4c4896c 305 char buffer[100]={0x00};
YSI 0:0549f4c4896c 306 n = sprintf(&buffer[0],&s[0],nb1,nb2);
YSI 0:0549f4c4896c 307 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 308 }
YSI 0:0549f4c4896c 309
YSI 0:0549f4c4896c 310 int LCD_I2C::print(char *s, int nb1, double nb2)
YSI 0:0549f4c4896c 311 {
YSI 0:0549f4c4896c 312 int n=0;
YSI 0:0549f4c4896c 313 char buffer[100]={0x00};
YSI 0:0549f4c4896c 314 n = sprintf(&buffer[0],&s[0],nb1,nb2);
YSI 0:0549f4c4896c 315 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 316 }
YSI 0:0549f4c4896c 317
YSI 0:0549f4c4896c 318 int LCD_I2C::print(char *s, double nb1, int nb2)
YSI 0:0549f4c4896c 319 {
YSI 0:0549f4c4896c 320 int n=0;
YSI 0:0549f4c4896c 321 char buffer[100]={0x00};
YSI 0:0549f4c4896c 322 n = sprintf(&buffer[0],&s[0],nb1,nb2);
YSI 0:0549f4c4896c 323 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 324 }
YSI 0:0549f4c4896c 325
YSI 0:0549f4c4896c 326 int LCD_I2C::print(char *s, double nb1, double nb2)
YSI 0:0549f4c4896c 327 {
YSI 0:0549f4c4896c 328 int n=0;
YSI 0:0549f4c4896c 329 char buffer[100]={0x00};
YSI 0:0549f4c4896c 330 n = sprintf(&buffer[0],&s[0],nb1,nb2);
YSI 0:0549f4c4896c 331 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 332 }
YSI 0:0549f4c4896c 333
YSI 0:0549f4c4896c 334 int LCD_I2C::print(char *s, double nb1, double nb2, double nb3)
YSI 0:0549f4c4896c 335 {
YSI 0:0549f4c4896c 336 int n=0;
YSI 0:0549f4c4896c 337 char buffer[100]={0x00};
YSI 0:0549f4c4896c 338 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 339 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 340 }
YSI 0:0549f4c4896c 341
YSI 0:0549f4c4896c 342 int LCD_I2C::print(char *s, double nb1, double nb2, int nb3)
YSI 0:0549f4c4896c 343 {
YSI 0:0549f4c4896c 344 int n=0;
YSI 0:0549f4c4896c 345 char buffer[100]={0x00};
YSI 0:0549f4c4896c 346 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 347 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 348 }
YSI 0:0549f4c4896c 349
YSI 0:0549f4c4896c 350
YSI 0:0549f4c4896c 351 int LCD_I2C::print(char *s, double nb1, int nb2, double nb3)
YSI 0:0549f4c4896c 352 {
YSI 0:0549f4c4896c 353 int n=0;
YSI 0:0549f4c4896c 354 char buffer[100]={0x00};
YSI 0:0549f4c4896c 355 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 356 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 357 }
YSI 0:0549f4c4896c 358
YSI 0:0549f4c4896c 359
YSI 0:0549f4c4896c 360 int LCD_I2C::print(char *s, double nb1, int nb2, int nb3)
YSI 0:0549f4c4896c 361 {
YSI 0:0549f4c4896c 362 int n=0;
YSI 0:0549f4c4896c 363 char buffer[100]={0x00};
YSI 0:0549f4c4896c 364 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 365 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 366 }
YSI 0:0549f4c4896c 367
YSI 0:0549f4c4896c 368
YSI 0:0549f4c4896c 369 int LCD_I2C::print(char *s, int nb1, double nb2, double nb3)
YSI 0:0549f4c4896c 370 {
YSI 0:0549f4c4896c 371 int n=0;
YSI 0:0549f4c4896c 372 char buffer[100]={0x00};
YSI 0:0549f4c4896c 373 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 374 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 375 }
YSI 0:0549f4c4896c 376
YSI 0:0549f4c4896c 377
YSI 0:0549f4c4896c 378 int LCD_I2C::print(char *s, int nb1, double nb2, int nb3)
YSI 0:0549f4c4896c 379 {
YSI 0:0549f4c4896c 380 int n=0;
YSI 0:0549f4c4896c 381 char buffer[100]={0x00};
YSI 0:0549f4c4896c 382 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 383 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 384 }
YSI 0:0549f4c4896c 385
YSI 0:0549f4c4896c 386
YSI 0:0549f4c4896c 387 int LCD_I2C::print(char *s, int nb1, int nb2, double nb3)
YSI 0:0549f4c4896c 388 {
YSI 0:0549f4c4896c 389 int n=0;
YSI 0:0549f4c4896c 390 char buffer[100]={0x00};
YSI 0:0549f4c4896c 391 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 392 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 393 }
YSI 0:0549f4c4896c 394
YSI 0:0549f4c4896c 395
YSI 0:0549f4c4896c 396 int LCD_I2C::print(char *s, int nb1, int nb2, int nb3)
YSI 0:0549f4c4896c 397 {
YSI 0:0549f4c4896c 398 int n=0;
YSI 0:0549f4c4896c 399 char buffer[100]={0x00};
YSI 0:0549f4c4896c 400 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 401 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 402 }
YSI 0:0549f4c4896c 403
YSI 0:0549f4c4896c 404 int LCD_I2C::print(char *s, char c1)
YSI 0:0549f4c4896c 405 {
YSI 0:0549f4c4896c 406 int ack=0, i=0, n=0;
YSI 0:0549f4c4896c 407 while(s[n]!='\0') n++;
YSI 0:0549f4c4896c 408 char data[n+2];
YSI 0:0549f4c4896c 409 data[0]=0x40;
YSI 0:0549f4c4896c 410 for(i=0;i<n;i++) data[i+1]=s[i];
YSI 0:0549f4c4896c 411 data[n+1]=c1;
YSI 0:0549f4c4896c 412 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 413 ack = I2C::write(m_address, &data[0], n+2);
YSI 0:0549f4c4896c 414 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 415 return ack;
YSI 0:0549f4c4896c 416 }
YSI 0:0549f4c4896c 417
YSI 0:0549f4c4896c 418 int LCD_I2C::print(char *s, char c1, int nb)
YSI 0:0549f4c4896c 419 {
YSI 0:0549f4c4896c 420 int n=0;
YSI 0:0549f4c4896c 421 char buffer[100]={0x00};
YSI 0:0549f4c4896c 422 n = sprintf(&buffer[0],&s[0],nb);
YSI 0:0549f4c4896c 423 buffer[n]=c1;
YSI 0:0549f4c4896c 424 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 425 }
YSI 0:0549f4c4896c 426
YSI 0:0549f4c4896c 427 int LCD_I2C::print(char *s, char c1, double nb)
YSI 0:0549f4c4896c 428 {
YSI 0:0549f4c4896c 429 int n=0;
YSI 0:0549f4c4896c 430 char buffer[100]={0x00};
YSI 0:0549f4c4896c 431 n = sprintf(&buffer[0],&s[0],nb);
YSI 0:0549f4c4896c 432 buffer[n]=c1;
YSI 0:0549f4c4896c 433 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 434 }
YSI 0:0549f4c4896c 435
YSI 0:0549f4c4896c 436 int LCD_I2C::print(char *s, char c1, int nb1, int nb2)
YSI 0:0549f4c4896c 437 {
YSI 0:0549f4c4896c 438 int n=0;
YSI 0:0549f4c4896c 439 char buffer[100]={0x00};
YSI 0:0549f4c4896c 440 n = sprintf(&buffer[0],&s[0],nb1,nb2);
YSI 0:0549f4c4896c 441 buffer[n]=c1;
YSI 0:0549f4c4896c 442 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 443 }
YSI 0:0549f4c4896c 444
YSI 0:0549f4c4896c 445 int LCD_I2C::print(char *s, char c1, int nb1, double nb2)
YSI 0:0549f4c4896c 446 {
YSI 0:0549f4c4896c 447 int n=0;
YSI 0:0549f4c4896c 448 char buffer[100]={0x00};
YSI 0:0549f4c4896c 449 n = sprintf(&buffer[0],&s[0],nb1,nb2);
YSI 0:0549f4c4896c 450 buffer[n]=c1;
YSI 0:0549f4c4896c 451 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 452 }
YSI 0:0549f4c4896c 453
YSI 0:0549f4c4896c 454 int LCD_I2C::print(char *s, char c1, double nb1, int nb2)
YSI 0:0549f4c4896c 455 {
YSI 0:0549f4c4896c 456 int n=0;
YSI 0:0549f4c4896c 457 char buffer[100]={0x00};
YSI 0:0549f4c4896c 458 n = sprintf(&buffer[0],&s[0],nb1,nb2);
YSI 0:0549f4c4896c 459 buffer[n]=c1;
YSI 0:0549f4c4896c 460 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 461 }
YSI 0:0549f4c4896c 462
YSI 0:0549f4c4896c 463 int LCD_I2C::print(char *s, char c1, double nb1, double nb2)
YSI 0:0549f4c4896c 464 {
YSI 0:0549f4c4896c 465 int n=0;
YSI 0:0549f4c4896c 466 char buffer[100]={0x00};
YSI 0:0549f4c4896c 467 n = sprintf(&buffer[0],&s[0],nb1,nb2);
YSI 0:0549f4c4896c 468 buffer[n]=c1;
YSI 0:0549f4c4896c 469 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 470 }
YSI 0:0549f4c4896c 471
YSI 0:0549f4c4896c 472 int LCD_I2C::print(char *s, char c1, double nb1, double nb2, double nb3)
YSI 0:0549f4c4896c 473 {
YSI 0:0549f4c4896c 474 int n=0;
YSI 0:0549f4c4896c 475 char buffer[100]={0x00};
YSI 0:0549f4c4896c 476 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 477 buffer[n]=c1;
YSI 0:0549f4c4896c 478 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 479 }
YSI 0:0549f4c4896c 480
YSI 0:0549f4c4896c 481 int LCD_I2C::print(char *s, char c1, double nb1, double nb2, int nb3)
YSI 0:0549f4c4896c 482 {
YSI 0:0549f4c4896c 483 int n=0;
YSI 0:0549f4c4896c 484 char buffer[100]={0x00};
YSI 0:0549f4c4896c 485 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 486 buffer[n]=c1;
YSI 0:0549f4c4896c 487 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 488 }
YSI 0:0549f4c4896c 489
YSI 0:0549f4c4896c 490
YSI 0:0549f4c4896c 491 int LCD_I2C::print(char *s, char c1, double nb1, int nb2, double nb3)
YSI 0:0549f4c4896c 492 {
YSI 0:0549f4c4896c 493 int n=0;
YSI 0:0549f4c4896c 494 char buffer[100]={0x00};
YSI 0:0549f4c4896c 495 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 496 buffer[n]=c1;
YSI 0:0549f4c4896c 497 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 498 }
YSI 0:0549f4c4896c 499
YSI 0:0549f4c4896c 500
YSI 0:0549f4c4896c 501 int LCD_I2C::print(char *s, char c1, double nb1, int nb2, int nb3)
YSI 0:0549f4c4896c 502 {
YSI 0:0549f4c4896c 503 int n=0;
YSI 0:0549f4c4896c 504 char buffer[100]={0x00};
YSI 0:0549f4c4896c 505 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 506 buffer[n]=c1;
YSI 0:0549f4c4896c 507 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 508 }
YSI 0:0549f4c4896c 509
YSI 0:0549f4c4896c 510
YSI 0:0549f4c4896c 511 int LCD_I2C::print(char *s, char c1, int nb1, double nb2, double nb3)
YSI 0:0549f4c4896c 512 {
YSI 0:0549f4c4896c 513 int n=0;
YSI 0:0549f4c4896c 514 char buffer[100]={0x00};
YSI 0:0549f4c4896c 515 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 516 buffer[n]=c1;
YSI 0:0549f4c4896c 517 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 518 }
YSI 0:0549f4c4896c 519
YSI 0:0549f4c4896c 520
YSI 0:0549f4c4896c 521 int LCD_I2C::print(char *s, char c1, int nb1, double nb2, int nb3)
YSI 0:0549f4c4896c 522 {
YSI 0:0549f4c4896c 523 int n=0;
YSI 0:0549f4c4896c 524 char buffer[100]={0x00};
YSI 0:0549f4c4896c 525 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 526 buffer[n]=c1;
YSI 0:0549f4c4896c 527 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 528 }
YSI 0:0549f4c4896c 529
YSI 0:0549f4c4896c 530
YSI 0:0549f4c4896c 531 int LCD_I2C::print(char *s, char c1, int nb1, int nb2, double nb3)
YSI 0:0549f4c4896c 532 {
YSI 0:0549f4c4896c 533 int n=0;
YSI 0:0549f4c4896c 534 char buffer[100]={0x00};
YSI 0:0549f4c4896c 535 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 536 buffer[n]=c1;
YSI 0:0549f4c4896c 537 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 538 }
YSI 0:0549f4c4896c 539
YSI 0:0549f4c4896c 540
YSI 0:0549f4c4896c 541 int LCD_I2C::print(char *s, char c1, int nb1, int nb2, int nb3)
YSI 0:0549f4c4896c 542 {
YSI 0:0549f4c4896c 543 int n=0;
YSI 0:0549f4c4896c 544 char buffer[100]={0x00};
YSI 0:0549f4c4896c 545 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 546 buffer[n]=c1;
YSI 0:0549f4c4896c 547 return putnc(&buffer[0],n+1);
YSI 0:0549f4c4896c 548 }
YSI 0:0549f4c4896c 549
YSI 0:0549f4c4896c 550 int LCD_I2C::print(char *s, char c1, char c2)
YSI 0:0549f4c4896c 551 {
YSI 0:0549f4c4896c 552 int ack=0, i=0, n=0;
YSI 0:0549f4c4896c 553 while(s[n]!='\0') n++;
YSI 0:0549f4c4896c 554 char data[n+3];
YSI 0:0549f4c4896c 555 data[0]=0x40;
YSI 0:0549f4c4896c 556 for(i=0;i<n;i++) data[i+1]=s[i];
YSI 0:0549f4c4896c 557 data[n+1]=c1;
YSI 0:0549f4c4896c 558 data[n+2]=c2;
YSI 0:0549f4c4896c 559 __disable_irq(); // Disable Interrupts
YSI 0:0549f4c4896c 560 ack = I2C::write(m_address, &data[0], n+3);
YSI 0:0549f4c4896c 561 __enable_irq(); // Enable Interrupts
YSI 0:0549f4c4896c 562 return ack;
YSI 0:0549f4c4896c 563 }
YSI 0:0549f4c4896c 564
YSI 0:0549f4c4896c 565 int LCD_I2C::print(char *s, char c1, char c2, int nb)
YSI 0:0549f4c4896c 566 {
YSI 0:0549f4c4896c 567 int n=0;
YSI 0:0549f4c4896c 568 char buffer[100]={0x00};
YSI 0:0549f4c4896c 569 n = sprintf(&buffer[0],&s[0],nb);
YSI 0:0549f4c4896c 570 buffer[n]=c1;
YSI 0:0549f4c4896c 571 buffer[n+1]=c2;
YSI 0:0549f4c4896c 572 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 573 }
YSI 0:0549f4c4896c 574
YSI 0:0549f4c4896c 575 int LCD_I2C::print(char *s, char c1, char c2, double nb)
YSI 0:0549f4c4896c 576 {
YSI 0:0549f4c4896c 577 int n=0;
YSI 0:0549f4c4896c 578 char buffer[100]={0x00};
YSI 0:0549f4c4896c 579 n = sprintf(&buffer[0],&s[0],nb);
YSI 0:0549f4c4896c 580 buffer[n]=c1;
YSI 0:0549f4c4896c 581 buffer[n+1]=c2;
YSI 0:0549f4c4896c 582 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 583 }
YSI 0:0549f4c4896c 584
YSI 0:0549f4c4896c 585 int LCD_I2C::print(char *s, char c1, char c2, int nb1, int nb2)
YSI 0:0549f4c4896c 586 {
YSI 0:0549f4c4896c 587 int n=0;
YSI 0:0549f4c4896c 588 char buffer[100]={0x00};
YSI 0:0549f4c4896c 589 n = sprintf(&buffer[0],&s[0],nb1,nb2);
YSI 0:0549f4c4896c 590 buffer[n]=c1;
YSI 0:0549f4c4896c 591 buffer[n+1]=c2;
YSI 0:0549f4c4896c 592 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 593 }
YSI 0:0549f4c4896c 594
YSI 0:0549f4c4896c 595 int LCD_I2C::print(char *s, char c1, char c2, int nb1, double nb2)
YSI 0:0549f4c4896c 596 {
YSI 0:0549f4c4896c 597 int n=0;
YSI 0:0549f4c4896c 598 char buffer[100]={0x00};
YSI 0:0549f4c4896c 599 n = sprintf(&buffer[0],&s[0],nb1,nb2);
YSI 0:0549f4c4896c 600 buffer[n]=c1;
YSI 0:0549f4c4896c 601 buffer[n+1]=c2;
YSI 0:0549f4c4896c 602 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 603 }
YSI 0:0549f4c4896c 604
YSI 0:0549f4c4896c 605 int LCD_I2C::print(char *s, char c1, char c2, double nb1, int nb2)
YSI 0:0549f4c4896c 606 {
YSI 0:0549f4c4896c 607 int n=0;
YSI 0:0549f4c4896c 608 char buffer[100]={0x00};
YSI 0:0549f4c4896c 609 n = sprintf(&buffer[0],&s[0],nb1,nb2);
YSI 0:0549f4c4896c 610 buffer[n]=c1;
YSI 0:0549f4c4896c 611 buffer[n+1]=c2;
YSI 0:0549f4c4896c 612 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 613 }
YSI 0:0549f4c4896c 614
YSI 0:0549f4c4896c 615 int LCD_I2C::print(char *s, char c1, char c2, double nb1, double nb2)
YSI 0:0549f4c4896c 616 {
YSI 0:0549f4c4896c 617 int n=0;
YSI 0:0549f4c4896c 618 char buffer[100]={0x00};
YSI 0:0549f4c4896c 619 n = sprintf(&buffer[0],&s[0],nb1,nb2);
YSI 0:0549f4c4896c 620 buffer[n]=c1;
YSI 0:0549f4c4896c 621 buffer[n+1]=c2;
YSI 0:0549f4c4896c 622 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 623 }
YSI 0:0549f4c4896c 624
YSI 0:0549f4c4896c 625 int LCD_I2C::print(char *s, char c1, char c2, double nb1, double nb2, double nb3)
YSI 0:0549f4c4896c 626 {
YSI 0:0549f4c4896c 627 int n=0;
YSI 0:0549f4c4896c 628 char buffer[100]={0x00};
YSI 0:0549f4c4896c 629 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 630 buffer[n]=c1;
YSI 0:0549f4c4896c 631 buffer[n+1]=c2;
YSI 0:0549f4c4896c 632 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 633 }
YSI 0:0549f4c4896c 634
YSI 0:0549f4c4896c 635 int LCD_I2C::print(char *s, char c1, char c2, double nb1, double nb2, int nb3)
YSI 0:0549f4c4896c 636 {
YSI 0:0549f4c4896c 637 int n=0;
YSI 0:0549f4c4896c 638 char buffer[100]={0x00};
YSI 0:0549f4c4896c 639 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 640 buffer[n]=c1;
YSI 0:0549f4c4896c 641 buffer[n+1]=c2;
YSI 0:0549f4c4896c 642 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 643 }
YSI 0:0549f4c4896c 644
YSI 0:0549f4c4896c 645
YSI 0:0549f4c4896c 646 int LCD_I2C::print(char *s, char c1, char c2, double nb1, int nb2, double nb3)
YSI 0:0549f4c4896c 647 {
YSI 0:0549f4c4896c 648 int n=0;
YSI 0:0549f4c4896c 649 char buffer[100]={0x00};
YSI 0:0549f4c4896c 650 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 651 buffer[n]=c1;
YSI 0:0549f4c4896c 652 buffer[n+1]=c2;
YSI 0:0549f4c4896c 653 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 654 }
YSI 0:0549f4c4896c 655
YSI 0:0549f4c4896c 656
YSI 0:0549f4c4896c 657 int LCD_I2C::print(char *s, char c1, char c2, double nb1, int nb2, int nb3)
YSI 0:0549f4c4896c 658 {
YSI 0:0549f4c4896c 659 int n=0;
YSI 0:0549f4c4896c 660 char buffer[100]={0x00};
YSI 0:0549f4c4896c 661 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 662 buffer[n]=c1;
YSI 0:0549f4c4896c 663 buffer[n+1]=c2;
YSI 0:0549f4c4896c 664 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 665 }
YSI 0:0549f4c4896c 666
YSI 0:0549f4c4896c 667
YSI 0:0549f4c4896c 668 int LCD_I2C::print(char *s, char c1, char c2, int nb1, double nb2, double nb3)
YSI 0:0549f4c4896c 669 {
YSI 0:0549f4c4896c 670 int n=0;
YSI 0:0549f4c4896c 671 char buffer[100]={0x00};
YSI 0:0549f4c4896c 672 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 673 buffer[n]=c1;
YSI 0:0549f4c4896c 674 buffer[n+1]=c2;
YSI 0:0549f4c4896c 675 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 676 }
YSI 0:0549f4c4896c 677
YSI 0:0549f4c4896c 678
YSI 0:0549f4c4896c 679 int LCD_I2C::print(char *s, char c1, char c2, int nb1, double nb2, int nb3)
YSI 0:0549f4c4896c 680 {
YSI 0:0549f4c4896c 681 int n=0;
YSI 0:0549f4c4896c 682 char buffer[100]={0x00};
YSI 0:0549f4c4896c 683 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 684 buffer[n]=c1;
YSI 0:0549f4c4896c 685 buffer[n+1]=c2;
YSI 0:0549f4c4896c 686 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 687 }
YSI 0:0549f4c4896c 688
YSI 0:0549f4c4896c 689
YSI 0:0549f4c4896c 690 int LCD_I2C::print(char *s, char c1, char c2, int nb1, int nb2, double nb3)
YSI 0:0549f4c4896c 691 {
YSI 0:0549f4c4896c 692 int n=0;
YSI 0:0549f4c4896c 693 char buffer[100]={0x00};
YSI 0:0549f4c4896c 694 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 695 buffer[n]=c1;
YSI 0:0549f4c4896c 696 buffer[n+1]=c2;
YSI 0:0549f4c4896c 697 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 698 }
YSI 0:0549f4c4896c 699
YSI 0:0549f4c4896c 700
YSI 0:0549f4c4896c 701 int LCD_I2C::print(char *s, char c1, char c2, int nb1, int nb2, int nb3)
YSI 0:0549f4c4896c 702 {
YSI 0:0549f4c4896c 703 int n=0;
YSI 0:0549f4c4896c 704 char buffer[100]={0x00};
YSI 0:0549f4c4896c 705 n = sprintf(&buffer[0],&s[0],nb1,nb2,nb3);
YSI 0:0549f4c4896c 706 buffer[n]=c1;
YSI 0:0549f4c4896c 707 buffer[n+1]=c2;
YSI 0:0549f4c4896c 708 return putnc(&buffer[0],n+2);
YSI 0:0549f4c4896c 709 }
YSI 0:0549f4c4896c 710
YSI 0:0549f4c4896c 711 int LCD_I2C::putnb2(int nb)
YSI 0:0549f4c4896c 712 {
YSI 0:0549f4c4896c 713 int temp=0, signe=0, exp=1;
YSI 0:0549f4c4896c 714 int i=0, j=0;
YSI 0:0549f4c4896c 715 int n=0, nb_c=nb;
YSI 0:0549f4c4896c 716 char buffer[100]={0x00};
YSI 0:0549f4c4896c 717
YSI 0:0549f4c4896c 718 if(nb<0)
YSI 0:0549f4c4896c 719 {
YSI 0:0549f4c4896c 720 buffer[0]='-';
YSI 0:0549f4c4896c 721 signe = 1;
YSI 0:0549f4c4896c 722 }
YSI 0:0549f4c4896c 723
YSI 0:0549f4c4896c 724 while(nb_c!=0)
YSI 0:0549f4c4896c 725 {
YSI 0:0549f4c4896c 726 nb_c /= 10;
YSI 0:0549f4c4896c 727 n++;
YSI 0:0549f4c4896c 728 }
YSI 0:0549f4c4896c 729 nb_c=nb;
YSI 0:0549f4c4896c 730 if(signe) nb_c *= -1;
YSI 0:0549f4c4896c 731
YSI 0:0549f4c4896c 732 for(i=0;i<n;i++)
YSI 0:0549f4c4896c 733 {
YSI 0:0549f4c4896c 734 exp = 1;
YSI 0:0549f4c4896c 735 for(j=(n-i);j>1;j--) exp *= 10;
YSI 0:0549f4c4896c 736 temp = nb_c/exp;
YSI 0:0549f4c4896c 737 nb_c = nb_c-(temp*exp);
YSI 0:0549f4c4896c 738
YSI 0:0549f4c4896c 739 buffer[signe+i]=0x30+temp;
YSI 0:0549f4c4896c 740 buffer[signe+i+1]='\0';
YSI 0:0549f4c4896c 741 }
YSI 0:0549f4c4896c 742 if(signe) n++;
YSI 0:0549f4c4896c 743 return putnc(&buffer[0],n);
YSI 0:0549f4c4896c 744 }