73 lines
1.2 KiB
C++
73 lines
1.2 KiB
C++
#include <user_code.hpp>
|
|
#include <espmega_iot_lcd.hpp>
|
|
|
|
void lcd_send_stop_bit()
|
|
{
|
|
#ifdef ENABLE_INTERNAL_LCD
|
|
Serial.write(0xFF);
|
|
Serial.write(0xFF);
|
|
Serial.write(0xFF);
|
|
#endif
|
|
}
|
|
|
|
void lcd_send_command(String command)
|
|
{
|
|
#ifdef ENABLE_INTERNAL_LCD
|
|
lcd_send_stop_bit();
|
|
Serial.print(command);
|
|
lcd_send_stop_bit();
|
|
#endif
|
|
}
|
|
|
|
void lcd_reset()
|
|
{
|
|
#ifdef ENABLE_INTERNAL_LCD
|
|
lcd_send_stop_bit();
|
|
lcd_send_command("rest");
|
|
lcd_send_stop_bit();
|
|
#endif
|
|
}
|
|
|
|
void lcd_init()
|
|
{
|
|
#ifdef ENABLE_INTERNAL_LCD
|
|
lcd_reset();
|
|
delay(750);
|
|
#endif
|
|
}
|
|
|
|
bool lcd_upload_start(size_t size)
|
|
{
|
|
Serial.begin(115200);
|
|
lcd_send_stop_bit();
|
|
Serial.print("rest");
|
|
lcd_send_stop_bit();
|
|
Serial.print("connect");
|
|
lcd_send_stop_bit();
|
|
delay(1000);
|
|
Serial.print("whmi-wri 1024,115200,res0");
|
|
lcd_send_stop_bit();
|
|
lcd_wait_ack();
|
|
}
|
|
bool lcd_upload_write(uint8_t *data, size_t size)
|
|
{
|
|
for (int i = 0; i < size; i++)
|
|
{
|
|
Serial.write(data[i]);
|
|
}
|
|
}
|
|
|
|
bool lcd_wait_ack()
|
|
{
|
|
bool data_ok = false;
|
|
for (int i; i < 50; i++)
|
|
{
|
|
if (Serial.read() == 0x05)
|
|
{
|
|
data_ok = true;
|
|
break;
|
|
}
|
|
delay(100);
|
|
}
|
|
return data_ok;
|
|
} |