#define DCSBIOS_DEFAULT_SERIAL
#include "DcsBios.h"
#include "LiquidCrystal.h"
const int halfFlapsLt = 33;
const int fullFlapsLt = 7;
const int taxiLightSw = 31;
char *fuelDown = (char *)malloc(sizeof(char) * 10);
char *fuelUp = (char *)malloc(sizeof(char) * 10);
LiquidCrystal lcd(45, 43, 41, 39, 37, 35);
DcsBios::LED flpLgHalfFlapsLt(0x7430, 0x4000, halfFlapsLt);
DcsBios::LED flpLgFullFlapsLt(0x7430, 0x8000, fullFlapsLt);
DcsBios::Switch2Pos ldgTaxiSw("LDG_TAXI_SW", taxiLightSw);
void updateFuelScreen() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(fuelUp);
lcd.setCursor(0, 1);
lcd.print(fuelDown);
}
void onIfeiFuelDownChange(char* newValue) {
fuelDown = strcpy(fuelDown, newValue);
updateFuelScreen();
}
void onIfeiFuelUpChange(char* newValue) {
fuelUp = strcpy(fuelUp, newValue);
updateFuelScreen();
}
DcsBios::StringBuffer<6> ifeiFuelUpBuffer(0x748a, onIfeiFuelUpChange);
DcsBios::StringBuffer<6> ifeiFuelDownBuffer(0x7484, onIfeiFuelDownChange);
void setup() {
analogWrite(3, 100);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Line 1");
lcd.setCursor(0, 1);
lcd.print("Line 2");
memset (fuelDown, 0, 10);
memset (fuelUp, 0, 10);
DcsBios::setup();
}
void loop() {
DcsBios::loop();
}