Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #define DCSBIOS_DEFAULT_SERIAL
  2.  
  3. #include "DcsBios.h"
  4. #include "LiquidCrystal.h"
  5.  
  6. const int halfFlapsLt = 33;
  7. const int fullFlapsLt = 7;
  8. const int taxiLightSw = 31;
  9.  
  10. char *fuelDown = (char *)malloc(sizeof(char) * 10);
  11. char *fuelUp = (char *)malloc(sizeof(char) * 10);
  12.  
  13. LiquidCrystal lcd(45, 43, 41, 39, 37, 35);
  14.  
  15. DcsBios::LED flpLgHalfFlapsLt(0x7430, 0x4000, halfFlapsLt);
  16. DcsBios::LED flpLgFullFlapsLt(0x7430, 0x8000, fullFlapsLt);
  17. DcsBios::Switch2Pos ldgTaxiSw("LDG_TAXI_SW", taxiLightSw);
  18.  
  19. void updateFuelScreen() {
  20.   lcd.clear();
  21.   lcd.setCursor(0, 0);
  22.   lcd.print(fuelUp);
  23.   lcd.setCursor(0, 1);
  24.   lcd.print(fuelDown);
  25. }
  26.  
  27. void onIfeiFuelDownChange(char* newValue) {
  28.   fuelDown = strcpy(fuelDown, newValue);
  29.   updateFuelScreen();
  30. }
  31.  
  32. void onIfeiFuelUpChange(char* newValue) {
  33.   fuelUp = strcpy(fuelUp, newValue);
  34.   updateFuelScreen();
  35. }
  36.  
  37. DcsBios::StringBuffer<6> ifeiFuelUpBuffer(0x748a, onIfeiFuelUpChange);
  38. DcsBios::StringBuffer<6> ifeiFuelDownBuffer(0x7484, onIfeiFuelDownChange);
  39.  
  40. void setup() {
  41.   analogWrite(3, 100);
  42.   lcd.begin(16, 2);
  43.   lcd.clear();
  44.  
  45.   lcd.setCursor(0, 0);
  46.   lcd.print("Line 1");
  47.   lcd.setCursor(0, 1);
  48.   lcd.print("Line 2");
  49.  
  50.   memset (fuelDown, 0, 10);
  51.   memset (fuelUp, 0, 10);
  52.  
  53.   DcsBios::setup();
  54. }
  55.  
  56.  
  57.  
  58. void loop() {
  59.   DcsBios::loop();
  60. }