-
Posts
61 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Everything posted by JohnnyChicago
-
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.
-
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.
-
New Version Now 2 Oleds in HW SPI Mode on one Arduino Nano.
- 1 reply
-
- 2
-
-
/* 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
- 1 reply
-
- 1
-
-
Yes ... thanks again Vinc!!! However the DED Sketch does not work because of the U8G Library is not compatible under ESP32 Boards.
-
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>
-
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
-
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
-
omg .... i have a 5 monitor setup and that missing line with GU_MAIN_VIEWPORT helped me !! thank you for that
-
reported Mossy controls input setup
JohnnyChicago replied to 71st_Mastiff's topic in Bugs and Problems
How did you do this ? -
i'll send you one tomorrow ... works great
-
Cool .. thanks I also read on Discord FP .
-
did u manage to tweak the font ?
-
#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 ...
-
Need Help for F-16 Caution Panel (Matrix LED wired)
JohnnyChicago replied to JohnnyChicago's topic in Home Cockpits
So there is noone here with a working F16 Caution Panel ? -
Need Help for F-16 Caution Panel (Matrix LED wired)
JohnnyChicago replied to JohnnyChicago's topic in Home Cockpits
that is strange , using Tapatalk too .. Thanks Mate for your help . Sounds good to me . Gesendet von meinem SM-T830 mit Tapatalk -
Need Help for F-16 Caution Panel (Matrix LED wired)
JohnnyChicago replied to JohnnyChicago's topic in Home Cockpits
for me too . but he Leds are not working in the right order . Gesendet von meinem SM-T830 mit Tapatalk -
Need Help for F-16 Caution Panel (Matrix LED wired)
JohnnyChicago replied to JohnnyChicago's topic in Home Cockpits
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 -
Need Help for F-16 Caution Panel (Matrix LED wired)
JohnnyChicago replied to JohnnyChicago's topic in Home Cockpits
Hi , what is difficult to read ? -
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]); } }
-
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
-
i have the same problem ... no Serial showing up :(
-
yesterday i saw that most of the Online Servers were password protected ...