Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: lib_LCD_oem mbed
main.cpp
- Committer:
- YSI
- Date:
- 2017-06-06
- Revision:
- 1:1c9519da56a0
- Parent:
- 0:c8a2590c2f2e
File content as of revision 1:1c9519da56a0:
#include "mbed.h"
#include "lib_LCD_oem_ELCD.h"
bool acolade = false;
bool escape = false;
LCD_OEM LCD;
Serial pc(USBTX, USBRX);
int X_pos = 0;
int Y_pos = 0;
void reception_serie(void);
int main()
{
pc.attach(&reception_serie);
LCD.shift_line_cursor();
// pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
while(1)
{
}
}
void reception_serie(void)
{
char c = pc.getc();
char l1 = 0,l2 = 0,l3 = 0,l4 = 0,l5 = 0,l6 = 0,l7 = 0,l8 = 0;
switch(c)
{
case 27:
acolade = true;
break;
case 91:
if(acolade) escape = true;
break;
case 'A':
if(acolade && escape)
{
// X_pos = LCD.get_X_position_cursor();
// Y_pos = LCD.get_Y_position_cursor() - 1;
// LCD.set_position_cursor(X_pos,Y_pos);
LCD.set_position_cursor(LCD.get_X_position_cursor(), LCD.get_Y_position_cursor() - 1);
pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
}else{
pc.printf("%d\r\n",c);
LCD.print((int)c);
acolade = false;
escape = false;
}
break;
case 'B':
if(acolade && escape)
{
// X_pos = LCD.get_X_position_cursor();
// Y_pos = LCD.get_Y_position_cursor() + 1;
// LCD.set_position_cursor(X_pos,Y_pos);
LCD.set_position_cursor(LCD.get_X_position_cursor(), LCD.get_Y_position_cursor() + 1);
pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
}else{
pc.printf("%d\r\n",c);
LCD.print((int)c);
acolade = false;
escape = false;
}
break;
case 'C':
if(acolade && escape)
{
// X_pos = LCD.get_X_position_cursor() + 1;
// Y_pos = LCD.get_Y_position_cursor();
// LCD.set_position_cursor(X_pos,Y_pos);
LCD.set_position_cursor(LCD.get_X_position_cursor() + 1, LCD.get_Y_position_cursor());
pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
}else{
pc.printf("%d\r\n",c);
LCD.print((int)c);
acolade = false;
escape = false;
}
break;
case 'D':
if(acolade && escape)
{
// X_pos = LCD.get_X_position_cursor() - 1;
// Y_pos = LCD.get_Y_position_cursor();
// LCD.set_position_cursor(X_pos,Y_pos);
LCD.set_position_cursor(LCD.get_X_position_cursor() - 1, LCD.get_Y_position_cursor());
pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
}else{
pc.printf("%d\r\n",c);
LCD.print((int)c);
acolade = false;
escape = false;
}
break;
case 'w':
for(int i=0;i<4;i++)
{
LCD.set_position_cursor(0,i);
for(int j=8;j<16;j++)
{
LCD.print("%c", j);
pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
// wait(0.25);
}
}
for(int k=8;k<16;k++)
{
l1 = l2 = l3 = l3 = l4 = l5 = l6 = l7 = l8 = 0;
for(int i=0;i<8;i++)
{
for(int j=1;j<32;j*=2)
{
if(i == 0) l1 += j;
else if(i == 1) l2 += j;
else if(i == 2) l3 += j;
else if(i == 3) l4 += j;
else if(i == 4) l5 += j;
else if(i == 5) l6 += j;
else if(i == 6) l7 += j;
else if(i == 7) l8 += j;
LCD.define_caractere(k,l1,l2,l3,l4,l5,l6,l7,l8);
// wait(0.1);
}
}
}
for(int k=8;k<16;k++)
{
l1 = l2 = l3 = l3 = l4 = l5 = l6 = l7 = l8 = 31;
for(int i=0;i<8;i++)
{
for(int j=1;j<32;j*=2)
{
if(i == 0) l1 -= j;
else if(i == 1) l2 -= j;
else if(i == 2) l3 -= j;
else if(i == 3) l4 -= j;
else if(i == 4) l5 -= j;
else if(i == 5) l6 -= j;
else if(i == 6) l7 -= j;
else if(i == 7) l8 -= j;
LCD.define_caractere(k,l1,l2,l3,l4,l5,l6,l7,l8);
// wait(0.1);
}
}
}
break;
case 'x':
// LCD.set_position_cursor(0,0);
LCD.define_and_print_caractere(8,1,2,4,8,8,4,2,1);
LCD.define_caractere(8,16,8,4,2,2,4,8,16);
LCD.print((char)8);
// LCD.print((char)8);
// LCD.define_caractere(8,1,2,4,8,8,4,2,1);
/* for(int k=8;k<16;k++)
{
l1 = l2 = l3 = l3 = l4 = l5 = l6 = l7 = l8 = 0;
for(int i=0;i<8;i++)
{
for(int j=1;j<32;j*=2)
{
if(i == 0) l1 += j;
else if(i == 1) l2 += j;
else if(i == 2) l3 += j;
else if(i == 3) l4 += j;
else if(i == 4) l5 += j;
else if(i == 5) l6 += j;
else if(i == 6) l7 += j;
else if(i == 7) l8 += j;
LCD.define_and_print_caractere(k,l1,l2,l3,l4,l5,l6,l7,l8);
// wait(0.1);
}
}
}
for(int k=8;k<16;k++)
{
l1 = l2 = l3 = l3 = l4 = l5 = l6 = l7 = l8 = 31;
for(int i=0;i<8;i++)
{
for(int j=1;j<32;j*=2)
{
if(i == 0) l1 -= j;
else if(i == 1) l2 -= j;
else if(i == 2) l3 -= j;
else if(i == 3) l4 -= j;
else if(i == 4) l5 -= j;
else if(i == 5) l6 -= j;
else if(i == 6) l7 -= j;
else if(i == 7) l8 -= j;
LCD.define_and_print_caractere(k,l1,l2,l3,l4,l5,l6,l7,l8);
// wait(0.1);
}
}
}
*/ break;
default:
LCD.print(c);
pc.printf("X_pos %2d Y_pos %d\r\n", LCD.get_X_position_cursor(), LCD.get_Y_position_cursor());
break;
}
}