#include "DwinDisplay.h"
#include "buffer.h"
DwinDisplay display(Serial2);
void onDisplayVarChange(uint16_t address, uint16_t value, uint8_t* buffer, uint8_t bufferLength) {
if (1) {
Serial.print("VAR 0x");
Serial.print(address, HEX);
Serial.print(": 0x");
Serial.print(value, HEX);
Serial.print(" (");
Serial.print(value);
Serial.println(")");
}
if (address == 0x1000) {
Serial.println(buffer_get_float32(buffer));
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial2.begin(115200);
Serial.println("Started!");
//Serial2.print("Uryyb, HNEG!");
//Serial.println("Data received from UART chip:");
pinMode(32, INPUT_PULLUP);
pinMode(33, INPUT_PULLUP);
display.setOnVarCallback(onDisplayVarChange);
}
void loop() {
delay(10); // this speeds up the simulation
display.tick();
if (! digitalRead(32)) {
Serial.println("BTN");
const char data[] = {0x12, 0x34, 0x56};
//display.sendData(data, sizeof(myData));
//display.sendReadVar(0x5566);
//display.sendReadVar(0x5566, 2);
//display.setVar(0x5566, 0x0123);
display.setVar(0x1122, (uint8_t)0x47);
/*
const char* myData = "\x5A\x00 MoreData";
size_t dataLength = strlen(myData); // до первого \x00
display.sendData(myData, 11);
*/
while (! digitalRead(32)) {delay(10);}
}
if (! digitalRead(33)) {
Serial.println("BTN2");
display.setVar(0x1123, (uint32_t)0x12345678);
while (! digitalRead(33)) {delay(10);}
}
}