Jump to content

JohnnyChicago

Members
  • Posts

    36
  • Joined

  • Last visited

Everything posted by JohnnyChicago

  1. I have for now two products from Sebastian .. ICP and RWR Display .. all works fine and quality is good. ICP was around 150€ + 20€ shipping cost +/- . ICP works as a joystick , so no need of extra software.
  2. Hi, I have one ICP from PSM ... it's a good looking high quality product from Sebastian (Poland). But yeah, you can only contact him on Facebook as far as i know. The DED is easy to make . Just buy an Arduino (or ESP32) , an SSD1322 Display and copy the code from the thread above.
  3. New Version Now 2 Oleds in HW SPI Mode on one Arduino Nano.
  4. /* DCS F-16 Pitch Trim Display by JohnnyChicago / Special Thanks to Vinc_Vega !! Arduino Nano / Oled SSD1306 128x64 Pixel DCS-BIOS Fork Version This sketch can be easily changed to display Roll Trim I am not a profi programmer and this sketch must be improved, but for now it works. */ #define DCSBIOS_DEFAULT_SERIAL #include "DcsBios.h" #include "U8glib.h" U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_DEV_0); int xmax = 128; int ymax = 64; int xcenter = xmax / 2; int ycenter = ymax / 2 + 16; int arc = ymax / 1.5; int angle = 0; int m = 10; u8g_uint_t xx = 0; int pitch = 90; void onPitchtrimindChange(unsigned int newValue) { pitch = map(newValue, 0, 65535, 0, 1050); m = map(pitch, 0, 1023, 0, 90); // show needle and dial xx = m; if (xx < 45) { xx = xx + 135; } else { xx = xx - 45; } } DcsBios::IntegerBuffer pitchtrimindBuffer(0x44d2, 0xffff, 0, onPitchtrimindChange); void gauge(uint8_t angle) { // draw border of the gauge u8g.drawCircle(xcenter, ycenter, arc + 6, U8G_DRAW_UPPER_RIGHT); u8g.drawCircle(xcenter, ycenter, arc + 6, U8G_DRAW_UPPER_LEFT); // draw the needle float x1 = sin(2 * angle * 2 * 3.14 / 360); float y1 = cos(2 * angle * 2 * 3.14 / 360); u8g.drawLine(xcenter, ycenter, xcenter + arc * x1, ycenter - arc * y1); // draw center point u8g.drawDisc(xcenter, ycenter, 2, U8G_DRAW_UPPER_LEFT); u8g.drawDisc(xcenter, ycenter, 2, U8G_DRAW_UPPER_RIGHT); // show scale u8g.drawDisc(25, 45, 2); u8g.drawDisc(30, 30, 2); u8g.drawDisc(43, 15, 2); u8g.drawDisc(61, 7, 2); u8g.drawDisc(63, 7, 2); u8g.drawDisc(66, 7, 2); u8g.drawDisc(86, 15, 2); u8g.drawDisc(96, 30, 2); u8g.drawDisc(104, 45, 2); } void setup(void) { DcsBios::setup(); //u8g.setColorIndex(1); } void loop(void) { { u8g.firstPage(); do { gauge(xx); } while (u8g.nextPage()); } DcsBios::loop(); } Hi there, Here is a working sketch do display the F-16 Roll or Pitch Trim Settings on a Oled 1306 Display. Code must be improved as i am not a profi programmer ! Have fun
  5. Yes ... thanks again Vinc!!! However the DED Sketch does not work because of the U8G Library is not compatible under ESP32 Boards.
  6. Library installed, still get the same error #define DCSBIOS_DEFAULT_SERIAL #include "analogWrite.h" #include "DcsBios.h" //#include <Arduino.h> #include <U8g2lib.h> #include <U8glib.h> #include <SPI.h>
  7. yes ... success !! Oled is working with all Demo sketches. But The F-16 DED sketch is not working : Error : In file included from c:\Users\claud\OneDrive\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/Servos.h:6, from c:\Users\claud\OneDrive\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:126, from C:\Users\claud\OneDrive\Documents\Arduino\F16_DED_ESP32_OLED1322\F16_DED_ESP32_OLED1322.ino:8: C:\Users\claud\AppData\Local\Arduino15\libraries\Servo\src/Servo.h:77:2: error: #error "This library only supports boards with an AVR, SAM, SAMD, NRF52 or STM32F4 processor." #error "This library only supports boards with an AVR, SAM, SAMD, NRF52 or STM32F4 processor." ^~~~~ exit status 1 Compilation error: exit status 1
  8. Hi. Iwant to switch from an Arduino Nano to a ESP32 for my DED. But i am stuck connecting my SSD1322 to my ESP32. Can someone help me to connect this Oled (4SPI) please ? ESP-32 NodeMCU Developmentboard Pinout Diagram amazon.pdf
  9. This works great for the F-16 for exported left and right MFD's but it will not fix the exported RWR Display.
  10. omg .... i have a 5 monitor setup and that missing line with GU_MAIN_VIEWPORT helped me !! thank you for that
  11. i'll send you one tomorrow ... works great
  12. Cool .. thanks I also read on Discord FP .
  13. #define DCSBIOS_DEFAULT_SERIAL #include "DcsBios.h" #include <Arduino.h> #include <U8g2lib.h> #ifdef U8X8_HAVE_HW_SPI #include <SPI.h> #endif #ifdef U8X8_HAVE_HW_I2C #include <Wire.h> #endif U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 5, /* dc=*/ 3, /* reset=*/ 4); char* line1; char* line2; char* line3; char* line4; char* line5; void onDedLine1Change(char* newValue) { line1 = newValue; } DcsBios::StringBuffer<25> dedLine1Buffer(0x44fc, onDedLine1Change); void onDedLine2Change(char* newValue) { line2 = newValue; } DcsBios::StringBuffer<25> dedLine2Buffer(0x4516, onDedLine2Change); void onDedLine3Change(char* newValue) { line3 = newValue; } DcsBios::StringBuffer<25> dedLine3Buffer(0x4530, onDedLine3Change); void onDedLine4Change(char* newValue) { line4 = newValue; } DcsBios::StringBuffer<25> dedLine4Buffer(0x454a, onDedLine4Change); void onDedLine5Change(char* newValue) { line5 = (newValue); } DcsBios::StringBuffer<25> dedLine5Buffer(0x4564, onDedLine5Change); void setup() { DcsBios::setup(); u8g2.begin(); u8g2.clearBuffer(); u8g2.setFont(u8g2_font_t0_12_tf); } void loop() { u8g2.firstPage(); do { u8g2.drawStr(0, 10, line1); u8g2.drawStr(0, 20, line2); u8g2.drawStr(0, 30, line3); u8g2.drawStr(0, 40, line4); u8g2.drawStr(0, 50, line5); } while ( u8g2.nextPage() ); u8g2.updateDisplay(); DcsBios::loop(); } this sketch is slow and needs to be tweaked ...
  14. So there is noone here with a working F16 Caution Panel ?
  15. that is strange , using Tapatalk too .. Thanks Mate for your help . Sounds good to me . Gesendet von meinem SM-T830 mit Tapatalk
  16. for me too . but he Leds are not working in the right order . Gesendet von meinem SM-T830 mit Tapatalk
  17. Yes this code is from another Thread about an A10 Caution Panel .. i tried to modify and use it for the F16 .. That would be great if you can help me :) Thanks a lot
  18. Hi , I want to do an F16 Caution Panel . I made an Matrix Led (max7219) wired like in this image (Breadboard with only 32 Led's) All Led's are working (ignore the colors of the LED's) Can someone look at this sketch and explain me the values in the char row map and mask map ... i don't understand this .. because most of the Led's are not working or in the wrong way . I am really new to this and an absolute Beginner . Thanks //#define DCSBIOS_IRQ_SERIAL #define DCSBIOS_DEFAULT_SERIAL #include <DcsBios.h> #include <LedControl.h> LedControl lc = LedControl(12, 11, 10, 1); //DIN,CLK,LOAD,# OF IC's unsigned char cl_row_map[32] = { 0, 2, 4, 6, 0, 2, 4, 6, 0, 2, 4, 6, 0, 2, 4, 6, 0, 2, 4, 6, 0, 2, 4, 6, 1, 3, 5, 7, 1, 3, 5, 7, }; #define SEG_DP (1<<7) #define SEG_A (1<<6) #define SEG_B (1<<5) #define SEG_C (1<<4) #define SEG_D (1<<3) #define SEG_E (1<<2) #define SEG_F (1<<1) #define SEG_G (1<<0) unsigned char cl_mask_map[32] = { SEG_DP, SEG_B, SEG_D, SEG_F, SEG_DP, SEG_B, SEG_D, SEG_F, SEG_DP, SEG_B, SEG_D, SEG_F, SEG_DP, SEG_B, SEG_D, SEG_F, SEG_DP, SEG_B, SEG_D, SEG_F, SEG_DP, SEG_B, SEG_D, SEG_F, SEG_A, SEG_C, SEG_E, SEG_G, SEG_A, SEG_C, SEG_E, SEG_G, }; unsigned char max7219_rows[8]; void setup() { DcsBios::setup(); memset(max7219_rows, 0xff, sizeof(max7219_rows)); // all led's on lc.shutdown(0, false); //turn on the display lc.setIntensity(0, 1); //set the brightness lc.clearDisplay(0); //clear rthe display and get ready for new data } void updateCautionLights(unsigned int address, unsigned int data) { unsigned char clp_row = (address - 0x446e) * 2; unsigned char start_index = clp_row * 4; unsigned char column = 0; unsigned char i; bool is_on; for (i = 0; i < 16; i++) { is_on = data & 0x01; // set caution light state (clp_row, column, is_on) if (is_on) { max7219_rows[cl_row_map[start_index + i]] |= cl_mask_map[start_index + i]; } else { max7219_rows[cl_row_map[start_index + i]] &= ~(cl_mask_map[start_index + i]); } data >>= 1; column++; if (column == 4) { clp_row++; column = 0; } } } void onClpData1Change(unsigned int newValue) { updateCautionLights(0x446e, newValue); } DcsBios::IntegerBuffer clpData1(0x446e, 0xffff, 0, onClpData1Change); void onClpData2Change(unsigned int newValue) { updateCautionLights(0x4470, newValue); } DcsBios::IntegerBuffer clpData2(0x4470, 0xffff, 0, onClpData2Change); void onClpData3Change(unsigned int newValue) { updateCautionLights(0x4472, newValue); } DcsBios::IntegerBuffer clpData3(0x4472, 0xffff, 0, onClpData3Change); void loop() { DcsBios::loop(); // update MAX7219 unsigned char i; for (i = 0; i < 8; i++) { lc.setRow(0, i, max7219_rows[i]); } }
  19. Hi , can someone help me please to get the Fuel Flow Gauge (F-16) on an 128x64 Oled Display connected to an Arduino Nano .. ? Everything works fine (Nano with Display / DCS-Bios..) but cant get the values on the display .. Thank you
  20. i have the same problem ... no Serial showing up :(
  21. yesterday i saw that most of the Online Servers were password protected ...
×
×
  • Create New...