Ares63 Posted November 24, 2021 Share Posted November 24, 2021 Il 17/11/2021 at 02:05, malarcky ha scritto: Hi, I am using your code but I having some problems. I would appreciate help guys, I dont have the skill yet to program. I have the screen working and it seems dcsbios its sending information to my arduino UNO, but I only can see two numbers on the left. The hello world example works OK. The numbers change randomly but I cant identify what its my problem. Also, it is possible to use this font? https://fontstruct.com/fontstructions/show/1014500/falconded Thank you guys, hope someone can guide me in the right direction. ok check the callBack assignament hex code, is changed DcsBios::StringBuffer<25> dedLine1Buffer(0x4500, onDedLine1Change); DcsBios::StringBuffer<25> dedLine2Buffer(0x451a, onDedLine2Change); DcsBios::StringBuffer<25> dedLine3Buffer(0x4534, onDedLine3Change); DcsBios::StringBuffer<25> dedLine4Buffer(0x454e, onDedLine4Change); DcsBios::StringBuffer<25> dedLine5Buffer(0x4568, onDedLine5Change); about the code take care that usually the DED is written only when something is changed Link to comment Share on other sites More sharing options...
KPCK Posted December 13, 2021 Share Posted December 13, 2021 On 6/12/2021 at 8:32 PM, eaglewen said: Hi Chroustall, In attachment the font I use on my DED. The ° and the up/down arrows are fixed in this font. I'm using the DEDFont16px.c in my ino file. Seeya Werner DEDfont16px.c 3.19 kB · 59 downloads DEDFont16px.fon 5.42 kB · 46 downloads DEDFont16px.bdf 23.27 kB · 49 downloads How can I implement this font into the sketch y´all made above? The sketch works for me just fine, but I just can´t seem to use it with this font. Thanks a lot! Link to comment Share on other sites More sharing options...
Doc78 Posted December 27, 2021 Share Posted December 27, 2021 On 4/15/2021 at 3:14 PM, wiggles5289 said: @JohnnyChicago It worked! I just modified that code to IRQ instead of Default serial and it worked smoothly. Just need to tweak the fonts and position of text to use the full display. //F-16 DED for DCS BIOS using 256x64 ER-OLED032-1G from BuyDisplay.com #define DCSBIOS_IRQ_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(); } I've tested this code with a 3.12 inch OLED on a Arduino Mega and on a Arduino Nano. Both do work, but in both cases the full text is only using halve the screen. Is there a solution for this situation? Ps. I have no nowledge of coding in Arduino IDE. I'm more a copy/paste kind of person... Link to comment Share on other sites More sharing options...
wiggles5289 Posted January 4, 2022 Author Share Posted January 4, 2022 On 12/27/2021 at 4:06 PM, Doc78 said: I've tested this code with a 3.12 inch OLED on a Arduino Mega and on a Arduino Nano. Both do work, but in both cases the full text is only using halve the screen. Is there a solution for this situation? Ps. I have no nowledge of coding in Arduino IDE. I'm more a copy/paste kind of person... Needs a change to use proper Font and Sizes. I have to redo my code as the original working one got wiped with a new computer. Link to comment Share on other sites More sharing options...
fusion Posted January 5, 2022 Share Posted January 5, 2022 (edited) On 12/27/2021 at 3:06 PM, Doc78 said: I've tested this code with a 3.12 inch OLED on a Arduino Mega and on a Arduino Nano. Both do work, but in both cases the full text is only using halve the screen. Is there a solution for this situation? Ps. I have no nowledge of coding in Arduino IDE. I'm more a copy/paste kind of person... So my wife and I were working on the code. Used the font from above and placed it directly in the ino file since no one has told us how to install or use the font files. Also if you adjust the x,y in the u8g2.drawstr portion in the void loop () then you can center it. I also got the lines to use the full height of the display as well. Hope this helps a bit. By the way, the font does work a little. The issue is the symbol ° is spaced. Next issue with the font is that there is no highlight (or inverted text) of the characters in the List page for example.......anyway enough chatter, here is the code to suffice for now. Wish we could get @uri_ba to help with the font. He did a wonderful job on the deduino. //DED ON SEEEDUINO XIAO WITH ACTUAL NEWHAVEN DISPLAY 3.12" 256X64 #define DCSBIOS_DEFAULT_SERIAL #include "DcsBios.h" #include <Arduino.h> #include <U8g2lib.h> #include <U8glib.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=*/ 6, /* dc=*/ 7 /*TIE HIGH RESET, NOT NEEDED IN SEPARATE PIN*/); char* line1; char* line2; char* line3; char* line4; char* line5; const u8g_fntpgm_uint8_t DEDfont16px[1148] U8G_FONT_SECTION("DEDfont16px") = "_\0\3\3\4\4\4\5\5\10\16\0\376\12\376\12\377\1\212\3\1\4_ \5\0\10\61!\14\224\32" "q$\207\212H,\222\0\42\10\66y\61DL\2#\22\227\31q\224$\222\213\222D$\221\134\224$" "\22\0$\20\326\371\260\204\62\212\210\252\225$\241\11E\0%\24\270\10q\206\22\231D\22\232Hu\31" "E\324$\302\11\0&\21\227\31qf\22\221D\66\223JL\22\221h\42'\6\62{\61\14(\15\264" "\372\260$\42\211H\67\221L\0)\15\264\372\60d\42\231H\27\221D\4*\20\310\10\61~\60\205h" "s\300\214\24:<\20+\12V\71\261\204\42\223P\4,\10C\373\60,\24\0-\6\26Y\61\14." "\6#\33\61\14/\16\246\11\61\325\204\62\241L(\23\12\1\60\16\226\32q(\42JS\245B\222P" "\0\61\11\225\31\361D\207\230>\62\14\226\31q(\42\222P\246\243\1\63\17\226\31q(\42\222P\64" "%\221$\24\0\64\20\227\31q\244*\42\211H\242$\71J%\0\65\15\226\31\61\16A\305\252P&" "!\1\66\15\226\31\261fj\25\21'\11\5\0\67\15\226\31\61\214\62\241L(\23\252\1\70\20\226\31" "q(\42REB\221\224H\22\12\0\71\15\226\31q(\42N\222\232\332\10\0:\10s\33\61\354 " "\3;\12\223\373\60\354 \13\5\0<\11\226\31\61e\272\352\0=\7\66I\61\314\6>\11\226\31\61" "\244\272\351\10\77\16\226\31q(\42\222LQ\16\23\212\0@\17\230\30q,B&\213\204\42!\331\1" "\7A\14\226\31\261d\24\21\323a\304$B\14\226\31\61*\42\246\213\210\351\2C\15\226\31q(\42" "FM$\11\5\0D\14\226\31\61H\22%\276HH\0E\14\226\31\61\16A\305\212P\321\0F\14" "\226\31\61\16A\305\212P#\0G\14\226\31q(\42F\225\22IRH\13\226\31\61D\234\16#N" "\2I\11\224\32\61(\42}!J\13\226\31\61\365H\42I(\0K\15\226\31\61D,ZH\22\235" "H\2L\11\226\31\61\204\372\321\0M\20\227\31\61d\264J%B\211P\42\64\66\1N\15\227\31\61" "d\264\222\205b\252\261\11O\13\226\31q(\42~\222P\0P\14\226\31\61*\42\246\213P#\0Q" "\14\266\371p(\42~\222\20\245\2R\14\226\31\61*\42\246\213&&\1S\14\226\31q(\42\252V" "\222\204\2T\11\226\31\61LB\375\4U\12\226\31\61D\374IB\1V\13\226\31\61D\374$\241\211" "\0W\21\227\31\61d\134\42\224\10%\242I\42\222H\0X\17\226\31\61D$\211$&\224E\224\230" "\4Y\14\226\31\61D\234$\64\241&\0Z\12\226\31\61\214j:\12\15[\11\304\352\60L\372'\2" "\134\27\230\30\61d\22ID%\42\71L\42*\21\221D&\221ID\0]\11\304\352\60H\372'\3" "^\11\66\231\261d\24\221\0_\7\30\350\60\16\1`\10\64\232\61F\62\1a\16\267\31\361\242\263\312" "\35\303\245\66\215\1b\14\226\31\61\204\302\212\210\247\13\0c\14v\31q(\42\242&\11\5\0d\12" "\226\31\61UN<I\12e\14v\31q(\42\322a(\245\0f\14\226\31\261(B\65\213P\33\0" "g\14\246\351pN<I\212\302\13\0h\13\226\31\61\204\302\212\210O\2i\13\246\31\261\204r\10Q" "O\6j\12\325\351\360\224i\372\315\2k\15\226\31\61\204J,\22\222D\211$l\11\226\31\61\210\372" "\311\0m\21w\31\61,\222\10%B\211P\42\224\10M\0n\11v\31\61*\42>\11o\11Cm" "qR$)\0p\14\246\351\60*\42\236.BE\0q\12\246\351pN<I\212\32r\13v\31\61" "D\24\233P#\0s\12v\31q\216R\252\360\2t\13\226\31q\204\62\213PW\2u\11v\31\61" "D|\222\24v\13v\31\61D<Ih\42\0w\21w\31\61d\224\10%B\211P\42\232$\22\0" "x\15v\31\61D$\11MF\21\221\4y\24\247\350pD\22\221D$\21ID\22\221\210*\24\321" "\0z\11v\31\61\214\62\35\15{\14\265\371\360D\62%E\65E\1|\7\302\353\60>\14}\15\265" "\372\60\204\62E%\65%\31\0~\12\70xqf\23\311l\2\0\0\0\4\377\377\0"; void onDedLine1Change(char* newValue) { line1 = newValue; } DcsBios::StringBuffer<25> dedLine1Buffer(0x4500, onDedLine1Change); void onDedLine2Change(char* newValue) { line2 = newValue; } DcsBios::StringBuffer<25> dedLine2Buffer(0x451a, onDedLine2Change); void onDedLine3Change(char* newValue) { line3 = newValue; } DcsBios::StringBuffer<25> dedLine3Buffer(0x4534, onDedLine3Change); void onDedLine4Change(char* newValue) { line4 = newValue; } DcsBios::StringBuffer<25> dedLine4Buffer(0x454e, onDedLine4Change); void onDedLine5Change(char* newValue) { line5 = newValue; } DcsBios::StringBuffer<25> dedLine5Buffer(0x4568, onDedLine5Change); void setup() { DcsBios::setup(); u8g2.begin(); u8g2.clearBuffer(); u8g2.setFont(DEDfont16px); } void loop() { u8g2.firstPage(); do { u8g2.drawStr(30, 12.8, line1); u8g2.drawStr(30, 25.6, line2); u8g2.drawStr(30, 38.4, line3); u8g2.drawStr(30, 51.2, line4); u8g2.drawStr(30, 64, line5); } while ( u8g2.nextPage() ); u8g2.updateDisplay(); DcsBios::loop(); Edited January 6, 2022 by fusion Link to comment Share on other sites More sharing options...
uri_ba Posted January 5, 2022 Share Posted January 5, 2022 @fusion your wish is my command JK, when I designed the DEDuino font I compacted it as best as I could including a bunch of substitutions. All of those were desiged to run on the PC side (via the connector app) as PC cpu cycles are much less "expensive" then arduino CPU cycles. You can dig around my code in github and see the order. Or look at the TTF version of the font in the DEDuino repo and see where is everything. Keep in mind that everything goes into the Memory space of the arduino, even blank chars. And the minimum you can get away with for DED refresh is 125 bytes over serial connection which is painful. On 12/27/2021 at 11:06 PM, Doc78 said: I've tested this code with a 3.12 inch OLED on a Arduino Mega and on a Arduino Nano. Both do work, but in both cases the full text is only using halve the screen. Is there a solution for this situation? Ps. I have no nowledge of coding in Arduino IDE. I'm more a copy/paste kind of person... You need to enable 16bit mode in the u8g2 library to use the entire screen. It's a simple uncomment in the library code. Creator of Hound ELINT script My pit building blog Few DIY projects on Github: DIY Cougar throttle Standalone USB controller | DIY FCC3 Standalone USB Controller Link to comment Share on other sites More sharing options...
fusion Posted January 5, 2022 Share Posted January 5, 2022 Thanks for your response @uri_ba! Good to hear from you after all these years. Wife had a son 2 years ago and now another is due in July. Been really busy and haven't messed with pit in 3 years. I did enable 16 bit however I just noticed that I am using the u8g library/font instead of a u8g2 library and font. I don't know how to create/convert fonts. I also noticed that all pages except the MARK page display. When you hit the MARK button on the ICP, the display goes blank. I even tried the original position of the DED lines to 0, 10; 0, 20; 0,30; 0.40; 0,50. still doesn't work. I guess it is a bug or something...lol. Link to comment Share on other sites More sharing options...
uri_ba Posted January 6, 2022 Share Posted January 6, 2022 Congrats Had one of those myself this year.. I never dug into the output of DCS as it comes to DED. maybe it contains some wierd chars? UTF8 rather then ASCII maybe? Creator of Hound ELINT script My pit building blog Few DIY projects on Github: DIY Cougar throttle Standalone USB controller | DIY FCC3 Standalone USB Controller Link to comment Share on other sites More sharing options...
fusion Posted January 7, 2022 Share Posted January 7, 2022 19 hours ago, uri_ba said: Congrats Had one of those myself this year.. I never dug into the output of DCS as it comes to DED. maybe it contains some wierd chars? UTF8 rather then ASCII maybe? Congrats!!!! I'm sure it has been fun...lol. Link to comment Share on other sites More sharing options...
fusion Posted January 9, 2022 Share Posted January 9, 2022 On 1/3/2022 at 6:05 PM, wiggles5289 said: Needs a change to use proper Font and Sizes. I have to redo my code as the original working one got wiped with a new computer. Hi wiggles, Any luck on the font and sizes? Link to comment Share on other sites More sharing options...
mike4t5 Posted January 9, 2022 Share Posted January 9, 2022 Hi there, i've been following along with this post as its something I'd love to make, i have the display and used wiggles code and i've enabled 16bit mode as well, i think.. but i'm still only displaying on half the screen. i'm also getting nothing on the mark page. As you can see dcs bios seems to not be displaying everything. Is there something i can do to fix this? Link to comment Share on other sites More sharing options...
fusion Posted January 10, 2022 Share Posted January 10, 2022 (edited) 11 hours ago, mike4t5 said: Hi there, i've been following along with this post as its something I'd love to make, i have the display and used wiggles code and i've enabled 16bit mode as well, i think.. but i'm still only displaying on half the screen. i'm also getting nothing on the mark page. As you can see dcs bios seems to not be displaying everything. Is there something i can do to fix this? Same issue here. Apparently there is an update to the DCS-BIOS fork for an update to show the MARK page as well. One of the guys on discord is working through getting the DED perfected. It looks like he has all the symbols in the right place and full screen. So unfortunately we have to be a little more patient. https://github.com/DCSFlightpanels/dcs-bios Edited January 10, 2022 by fusion Link to comment Share on other sites More sharing options...
mike4t5 Posted January 10, 2022 Share Posted January 10, 2022 11 hours ago, fusion said: Same issue here. Apparently there is an update to the DCS-BIOS fork for an update to show the MARK page as well. One of the guys on discord is working through getting the DED perfected. It looks like he has all the symbols in the right place and full screen. So unfortunately we have to be a little more patient. https://github.com/DCSFlightpanels/dcs-bios Oh perfect! Just gave it a go and it's all good! I don't know if it's just the font I'm using (I've been messing about with the default u8g2 fonts) but the screen keeps going black after a little while and I have to press the rest button on the uno to get it back up. Do you or anyone else experiences this issue? Oh sweet I'm glad to hear that someone is working on it. It's going to be good to have it looking correct aswell as working! Link to comment Share on other sites More sharing options...
fusion Posted January 11, 2022 Share Posted January 11, 2022 11 hours ago, mike4t5 said: Oh perfect! Just gave it a go and it's all good! I don't know if it's just the font I'm using (I've been messing about with the default u8g2 fonts) but the screen keeps going black after a little while and I have to press the rest button on the uno to get it back up. Do you or anyone else experiences this issue? Oh sweet I'm glad to hear that someone is working on it. It's going to be good to have it looking correct aswell as working! Can you provide me with the make and part number/model number of your display and also what your pinout from the display to your arduino is? Link to comment Share on other sites More sharing options...
mike4t5 Posted January 11, 2022 Share Posted January 11, 2022 11 hours ago, fusion said: Can you provide me with the make and part number/model number of your display and also what your pinout from the display to your arduino is? Yeah sure so I have a SPI 3.12" 256x64 Graphic OLED Display Module SSD1322 Arduino STM32/51 PIC ARM The board is set to SPI 4 it was on 80xx on delivery This is a link to the ebay post (Display link) As far as connecting it it was a bit more difficult as it didn't have the pins labeled as what they were it's just pins 1 to 16 I went online to see what each of them were and came up with this as a pinout OLED — Arduino 2 — 3.3v 4 — pin D13 5 — pin D11 11 — ground 14 — pin D9 15 — pin D8 16 — pin D10 Spoiler Spoiler Link to comment Share on other sites More sharing options...
wiggles5289 Posted January 26, 2022 Author Share Posted January 26, 2022 So this topic def took off since I last was active in the forums. For all of those who are looking to PM me for code the answer is currently: I do not have any that is known to be working. Unfortunately, I lost some things with moving to a new desktop and all of my Arduino code is gone. Keep an eye out here for updates and I will change the first post to reflect changes. If anyone has a working DED Font files for U8G2 that would be a big help to start. 1 Link to comment Share on other sites More sharing options...
wiggles5289 Posted January 26, 2022 Author Share Posted January 26, 2022 UPDATE FOR IMMEDIATE RELEASE: Thanks to @fusion I found his code to be the most accurate solution to a DED atm using a SSD1322 256x64. My code is below and is working fully. //F-16 DED for DCS BIOS using 256x64 ER-OLED032-1G from BuyDisplay.com //Final code by Wiggles5289 and a whole lotta cred to Fusion on the DCS Forums. #define DCSBIOS_IRQ_SERIAL #include "DcsBios.h" #include <Arduino.h> #include <U8g2lib.h> #include <U8glib.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_R2, /* cs=*/ 5, /* dc=*/ 3, /* reset=*/ 4); char* line1; char* line2; char* line3; char* line4; char* line5; const u8g_fntpgm_uint8_t DEDfont16px[1148] U8G_FONT_SECTION("DEDfont16px") = "_\0\3\3\4\4\4\5\5\10\16\0\376\12\376\12\377\1\212\3\1\4_ \5\0\10\61!\14\224\32" "q$\207\212H,\222\0\42\10\66y\61DL\2#\22\227\31q\224$\222\213\222D$\221\134\224$" "\22\0$\20\326\371\260\204\62\212\210\252\225$\241\11E\0%\24\270\10q\206\22\231D\22\232Hu\31" "E\324$\302\11\0&\21\227\31qf\22\221D\66\223JL\22\221h\42'\6\62{\61\14(\15\264" "\372\260$\42\211H\67\221L\0)\15\264\372\60d\42\231H\27\221D\4*\20\310\10\61~\60\205h" "s\300\214\24:<\20+\12V\71\261\204\42\223P\4,\10C\373\60,\24\0-\6\26Y\61\14." "\6#\33\61\14/\16\246\11\61\325\204\62\241L(\23\12\1\60\16\226\32q(\42JS\245B\222P" "\0\61\11\225\31\361D\207\230>\62\14\226\31q(\42\222P\246\243\1\63\17\226\31q(\42\222P\64" "%\221$\24\0\64\20\227\31q\244*\42\211H\242$\71J%\0\65\15\226\31\61\16A\305\252P&" "!\1\66\15\226\31\261fj\25\21'\11\5\0\67\15\226\31\61\214\62\241L(\23\252\1\70\20\226\31" "q(\42REB\221\224H\22\12\0\71\15\226\31q(\42N\222\232\332\10\0:\10s\33\61\354 " "\3;\12\223\373\60\354 \13\5\0<\11\226\31\61e\272\352\0=\7\66I\61\314\6>\11\226\31\61" "\244\272\351\10\77\16\226\31q(\42\222LQ\16\23\212\0@\17\230\30q,B&\213\204\42!\331\1" "\7A\14\226\31\261d\24\21\323a\304$B\14\226\31\61*\42\246\213\210\351\2C\15\226\31q(\42" "FM$\11\5\0D\14\226\31\61H\22%\276HH\0E\14\226\31\61\16A\305\212P\321\0F\14" "\226\31\61\16A\305\212P#\0G\14\226\31q(\42F\225\22IRH\13\226\31\61D\234\16#N" "\2I\11\224\32\61(\42}!J\13\226\31\61\365H\42I(\0K\15\226\31\61D,ZH\22\235" "H\2L\11\226\31\61\204\372\321\0M\20\227\31\61d\264J%B\211P\42\64\66\1N\15\227\31\61" "d\264\222\205b\252\261\11O\13\226\31q(\42~\222P\0P\14\226\31\61*\42\246\213P#\0Q" "\14\266\371p(\42~\222\20\245\2R\14\226\31\61*\42\246\213&&\1S\14\226\31q(\42\252V" "\222\204\2T\11\226\31\61LB\375\4U\12\226\31\61D\374IB\1V\13\226\31\61D\374$\241\211" "\0W\21\227\31\61d\134\42\224\10%\242I\42\222H\0X\17\226\31\61D$\211$&\224E\224\230" "\4Y\14\226\31\61D\234$\64\241&\0Z\12\226\31\61\214j:\12\15[\11\304\352\60L\372'\2" "\134\27\230\30\61d\22ID%\42\71L\42*\21\221D&\221ID\0]\11\304\352\60H\372'\3" "^\11\66\231\261d\24\221\0_\7\30\350\60\16\1`\10\64\232\61F\62\1a\16\267\31\361\242\263\312" "\35\303\245\66\215\1b\14\226\31\61\204\302\212\210\247\13\0c\14v\31q(\42\242&\11\5\0d\12" "\226\31\61UN<I\12e\14v\31q(\42\322a(\245\0f\14\226\31\261(B\65\213P\33\0" "g\14\246\351pN<I\212\302\13\0h\13\226\31\61\204\302\212\210O\2i\13\246\31\261\204r\10Q" "O\6j\12\325\351\360\224i\372\315\2k\15\226\31\61\204J,\22\222D\211$l\11\226\31\61\210\372" "\311\0m\21w\31\61,\222\10%B\211P\42\224\10M\0n\11v\31\61*\42>\11o\11Cm" "qR$)\0p\14\246\351\60*\42\236.BE\0q\12\246\351pN<I\212\32r\13v\31\61" "D\24\233P#\0s\12v\31q\216R\252\360\2t\13\226\31q\204\62\213PW\2u\11v\31\61" "D|\222\24v\13v\31\61D<Ih\42\0w\21w\31\61d\224\10%B\211P\42\232$\22\0" "x\15v\31\61D$\11MF\21\221\4y\24\247\350pD\22\221D$\21ID\22\221\210*\24\321" "\0z\11v\31\61\214\62\35\15{\14\265\371\360D\62%E\65E\1|\7\302\353\60>\14}\15\265" "\372\60\204\62E%\65%\31\0~\12\70xqf\23\311l\2\0\0\0\4\377\377\0"; void onDedLine1Change(char* newValue) { line1 = newValue; } DcsBios::StringBuffer<25> dedLine1Buffer(0x4500, onDedLine1Change); void onDedLine2Change(char* newValue) { line2 = newValue; } DcsBios::StringBuffer<25> dedLine2Buffer(0x451a, onDedLine2Change); void onDedLine3Change(char* newValue) { line3 = newValue; } DcsBios::StringBuffer<25> dedLine3Buffer(0x4534, onDedLine3Change); void onDedLine4Change(char* newValue) { line4 = newValue; } DcsBios::StringBuffer<25> dedLine4Buffer(0x454e, onDedLine4Change); void onDedLine5Change(char* newValue) { line5 = newValue; } DcsBios::StringBuffer<25> dedLine5Buffer(0x4568, onDedLine5Change); void setup() { DcsBios::setup(); u8g2.begin(); u8g2.clearBuffer(); u8g2.setFont(DEDfont16px); } void loop() { u8g2.firstPage(); do { u8g2.drawStr(30, 12.8, line1); u8g2.drawStr(30, 25.6, line2); u8g2.drawStr(30, 38.4, line3); u8g2.drawStr(30, 51.2, line4); u8g2.drawStr(30, 64, line5); } while ( u8g2.nextPage() ); u8g2.updateDisplay(); DcsBios::loop(); } Just copy and paste. I used an Arduino Nano and 2x Adafruit level shifters. No other witchcraft reqd. 1 1 Link to comment Share on other sites More sharing options...
fusion Posted January 29, 2022 Share Posted January 29, 2022 On 1/26/2022 at 4:48 PM, wiggles5289 said: UPDATE FOR IMMEDIATE RELEASE: Thanks to @fusion I found his code to be the most accurate solution to a DED atm using a SSD1322 256x64. My code is below and is working fully. //F-16 DED for DCS BIOS using 256x64 ER-OLED032-1G from BuyDisplay.com //Final code by Wiggles5289 and a whole lotta cred to Fusion on the DCS Forums. #define DCSBIOS_IRQ_SERIAL #include "DcsBios.h" #include <Arduino.h> #include <U8g2lib.h> #include <U8glib.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_R2, /* cs=*/ 5, /* dc=*/ 3, /* reset=*/ 4); char* line1; char* line2; char* line3; char* line4; char* line5; const u8g_fntpgm_uint8_t DEDfont16px[1148] U8G_FONT_SECTION("DEDfont16px") = "_\0\3\3\4\4\4\5\5\10\16\0\376\12\376\12\377\1\212\3\1\4_ \5\0\10\61!\14\224\32" "q$\207\212H,\222\0\42\10\66y\61DL\2#\22\227\31q\224$\222\213\222D$\221\134\224$" "\22\0$\20\326\371\260\204\62\212\210\252\225$\241\11E\0%\24\270\10q\206\22\231D\22\232Hu\31" "E\324$\302\11\0&\21\227\31qf\22\221D\66\223JL\22\221h\42'\6\62{\61\14(\15\264" "\372\260$\42\211H\67\221L\0)\15\264\372\60d\42\231H\27\221D\4*\20\310\10\61~\60\205h" "s\300\214\24:<\20+\12V\71\261\204\42\223P\4,\10C\373\60,\24\0-\6\26Y\61\14." "\6#\33\61\14/\16\246\11\61\325\204\62\241L(\23\12\1\60\16\226\32q(\42JS\245B\222P" "\0\61\11\225\31\361D\207\230>\62\14\226\31q(\42\222P\246\243\1\63\17\226\31q(\42\222P\64" "%\221$\24\0\64\20\227\31q\244*\42\211H\242$\71J%\0\65\15\226\31\61\16A\305\252P&" "!\1\66\15\226\31\261fj\25\21'\11\5\0\67\15\226\31\61\214\62\241L(\23\252\1\70\20\226\31" "q(\42REB\221\224H\22\12\0\71\15\226\31q(\42N\222\232\332\10\0:\10s\33\61\354 " "\3;\12\223\373\60\354 \13\5\0<\11\226\31\61e\272\352\0=\7\66I\61\314\6>\11\226\31\61" "\244\272\351\10\77\16\226\31q(\42\222LQ\16\23\212\0@\17\230\30q,B&\213\204\42!\331\1" "\7A\14\226\31\261d\24\21\323a\304$B\14\226\31\61*\42\246\213\210\351\2C\15\226\31q(\42" "FM$\11\5\0D\14\226\31\61H\22%\276HH\0E\14\226\31\61\16A\305\212P\321\0F\14" "\226\31\61\16A\305\212P#\0G\14\226\31q(\42F\225\22IRH\13\226\31\61D\234\16#N" "\2I\11\224\32\61(\42}!J\13\226\31\61\365H\42I(\0K\15\226\31\61D,ZH\22\235" "H\2L\11\226\31\61\204\372\321\0M\20\227\31\61d\264J%B\211P\42\64\66\1N\15\227\31\61" "d\264\222\205b\252\261\11O\13\226\31q(\42~\222P\0P\14\226\31\61*\42\246\213P#\0Q" "\14\266\371p(\42~\222\20\245\2R\14\226\31\61*\42\246\213&&\1S\14\226\31q(\42\252V" "\222\204\2T\11\226\31\61LB\375\4U\12\226\31\61D\374IB\1V\13\226\31\61D\374$\241\211" "\0W\21\227\31\61d\134\42\224\10%\242I\42\222H\0X\17\226\31\61D$\211$&\224E\224\230" "\4Y\14\226\31\61D\234$\64\241&\0Z\12\226\31\61\214j:\12\15[\11\304\352\60L\372'\2" "\134\27\230\30\61d\22ID%\42\71L\42*\21\221D&\221ID\0]\11\304\352\60H\372'\3" "^\11\66\231\261d\24\221\0_\7\30\350\60\16\1`\10\64\232\61F\62\1a\16\267\31\361\242\263\312" "\35\303\245\66\215\1b\14\226\31\61\204\302\212\210\247\13\0c\14v\31q(\42\242&\11\5\0d\12" "\226\31\61UN<I\12e\14v\31q(\42\322a(\245\0f\14\226\31\261(B\65\213P\33\0" "g\14\246\351pN<I\212\302\13\0h\13\226\31\61\204\302\212\210O\2i\13\246\31\261\204r\10Q" "O\6j\12\325\351\360\224i\372\315\2k\15\226\31\61\204J,\22\222D\211$l\11\226\31\61\210\372" "\311\0m\21w\31\61,\222\10%B\211P\42\224\10M\0n\11v\31\61*\42>\11o\11Cm" "qR$)\0p\14\246\351\60*\42\236.BE\0q\12\246\351pN<I\212\32r\13v\31\61" "D\24\233P#\0s\12v\31q\216R\252\360\2t\13\226\31q\204\62\213PW\2u\11v\31\61" "D|\222\24v\13v\31\61D<Ih\42\0w\21w\31\61d\224\10%B\211P\42\232$\22\0" "x\15v\31\61D$\11MF\21\221\4y\24\247\350pD\22\221D$\21ID\22\221\210*\24\321" "\0z\11v\31\61\214\62\35\15{\14\265\371\360D\62%E\65E\1|\7\302\353\60>\14}\15\265" "\372\60\204\62E%\65%\31\0~\12\70xqf\23\311l\2\0\0\0\4\377\377\0"; void onDedLine1Change(char* newValue) { line1 = newValue; } DcsBios::StringBuffer<25> dedLine1Buffer(0x4500, onDedLine1Change); void onDedLine2Change(char* newValue) { line2 = newValue; } DcsBios::StringBuffer<25> dedLine2Buffer(0x451a, onDedLine2Change); void onDedLine3Change(char* newValue) { line3 = newValue; } DcsBios::StringBuffer<25> dedLine3Buffer(0x4534, onDedLine3Change); void onDedLine4Change(char* newValue) { line4 = newValue; } DcsBios::StringBuffer<25> dedLine4Buffer(0x454e, onDedLine4Change); void onDedLine5Change(char* newValue) { line5 = newValue; } DcsBios::StringBuffer<25> dedLine5Buffer(0x4568, onDedLine5Change); void setup() { DcsBios::setup(); u8g2.begin(); u8g2.clearBuffer(); u8g2.setFont(DEDfont16px); } void loop() { u8g2.firstPage(); do { u8g2.drawStr(30, 12.8, line1); u8g2.drawStr(30, 25.6, line2); u8g2.drawStr(30, 38.4, line3); u8g2.drawStr(30, 51.2, line4); u8g2.drawStr(30, 64, line5); } while ( u8g2.nextPage() ); u8g2.updateDisplay(); DcsBios::loop(); } Just copy and paste. I used an Arduino Nano and 2x Adafruit level shifters. No other witchcraft reqd. After doing a lot of researching and my wife's (software engineer) and whoever provided the dedf16 font....they get the credit too! Link to comment Share on other sites More sharing options...
OH1CL Posted February 7, 2022 Share Posted February 7, 2022 It works, but some texts are missing from left side of the display ".UHF" & "VHF" and some others when there is a different paga on display. Link to comment Share on other sites More sharing options...
Krysnic Posted February 7, 2022 Share Posted February 7, 2022 5 hours ago, OH1CL said: It works, but some texts are missing from left side of the display ".UHF" & "VHF" and some others when there is a different paga on display. Try this code //F-16 DED for DCS BIOS using 256x64 ER-OLED032-1G from BuyDisplay.com #define DCSBIOS_IRQ_SERIAL #include "DcsBios.h" #include <Arduino.h> #include <U8g2lib.h> #include <U8glib.h> #include <SPI.h> U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //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; const u8g_fntpgm_uint8_t DEDfont16px[1148] U8G_FONT_SECTION("DEDfont16px") = "_\0\3\3\4\4\4\5\5\10\16\0\376\12\376\12\377\1\212\3\1\4_ \5\0\10\61!\14\224\32" "q$\207\212H,\222\0\42\10\66y\61DL\2#\22\227\31q\224$\222\213\222D$\221\134\224$" "\22\0$\20\326\371\260\204\62\212\210\252\225$\241\11E\0%\24\270\10q\206\22\231D\22\232Hu\31" "E\324$\302\11\0&\21\227\31qf\22\221D\66\223JL\22\221h\42'\6\62{\61\14(\15\264" "\372\260$\42\211H\67\221L\0)\15\264\372\60d\42\231H\27\221D\4*\20\310\10\61~\60\205h" "s\300\214\24:<\20+\12V\71\261\204\42\223P\4,\10C\373\60,\24\0-\6\26Y\61\14." "\6#\33\61\14/\16\246\11\61\325\204\62\241L(\23\12\1\60\16\226\32q(\42JS\245B\222P" "\0\61\11\225\31\361D\207\230>\62\14\226\31q(\42\222P\246\243\1\63\17\226\31q(\42\222P\64" "%\221$\24\0\64\20\227\31q\244*\42\211H\242$\71J%\0\65\15\226\31\61\16A\305\252P&" "!\1\66\15\226\31\261fj\25\21'\11\5\0\67\15\226\31\61\214\62\241L(\23\252\1\70\20\226\31" "q(\42REB\221\224H\22\12\0\71\15\226\31q(\42N\222\232\332\10\0:\10s\33\61\354 " "\3;\12\223\373\60\354 \13\5\0<\11\226\31\61e\272\352\0=\7\66I\61\314\6>\11\226\31\61" "\244\272\351\10\77\16\226\31q(\42\222LQ\16\23\212\0@\17\230\30q,B&\213\204\42!\331\1" "\7A\14\226\31\261d\24\21\323a\304$B\14\226\31\61*\42\246\213\210\351\2C\15\226\31q(\42" "FM$\11\5\0D\14\226\31\61H\22%\276HH\0E\14\226\31\61\16A\305\212P\321\0F\14" "\226\31\61\16A\305\212P#\0G\14\226\31q(\42F\225\22IRH\13\226\31\61D\234\16#N" "\2I\11\224\32\61(\42}!J\13\226\31\61\365H\42I(\0K\15\226\31\61D,ZH\22\235" "H\2L\11\226\31\61\204\372\321\0M\20\227\31\61d\264J%B\211P\42\64\66\1N\15\227\31\61" "d\264\222\205b\252\261\11O\13\226\31q(\42~\222P\0P\14\226\31\61*\42\246\213P#\0Q" "\14\266\371p(\42~\222\20\245\2R\14\226\31\61*\42\246\213&&\1S\14\226\31q(\42\252V" "\222\204\2T\11\226\31\61LB\375\4U\12\226\31\61D\374IB\1V\13\226\31\61D\374$\241\211" "\0W\21\227\31\61d\134\42\224\10%\242I\42\222H\0X\17\226\31\61D$\211$&\224E\224\230" "\4Y\14\226\31\61D\234$\64\241&\0Z\12\226\31\61\214j:\12\15[\11\304\352\60L\372'\2" "\134\27\230\30\61d\22ID%\42\71L\42*\21\221D&\221ID\0]\11\304\352\60H\372'\3" "^\11\66\231\261d\24\221\0_\7\30\350\60\16\1`\10\64\232\61F\62\1a\16\267\31\361\242\263\312" "\35\303\245\66\215\1b\14\226\31\61\204\302\212\210\247\13\0c\14v\31q(\42\242&\11\5\0d\12" "\226\31\61UN<I\12e\14v\31q(\42\322a(\245\0f\14\226\31\261(B\65\213P\33\0" "g\14\246\351pN<I\212\302\13\0h\13\226\31\61\204\302\212\210O\2i\13\246\31\261\204r\10Q" "O\6j\12\325\351\360\224i\372\315\2k\15\226\31\61\204J,\22\222D\211$l\11\226\31\61\210\372" "\311\0m\21w\31\61,\222\10%B\211P\42\224\10M\0n\11v\31\61*\42>\11o\11Cm" "qR$)\0p\14\246\351\60*\42\236.BE\0q\12\246\351pN<I\212\32r\13v\31\61" "D\24\233P#\0s\12v\31q\216R\252\360\2t\13\226\31q\204\62\213PW\2u\11v\31\61" "D|\222\24v\13v\31\61D<Ih\42\0w\21w\31\61d\224\10%B\211P\42\232$\22\0" "x\15v\31\61D$\11MF\21\221\4y\24\247\350pD\22\221D$\21ID\22\221\210*\24\321" "\0z\11v\31\61\214\62\35\15{\14\265\371\360D\62%E\65E\1|\7\302\353\60>\14}\15\265" "\372\60\204\62E%\65%\31\0~\12\70xqf\23\311l\2\0\0\0\4\377\377\0"; 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(DEDfont16px); } void loop() { u8g2.firstPage(); do { u8g2.drawStr(32, 12, line1); u8g2.drawStr(32, 25, line2); u8g2.drawStr(32, 38, line3); u8g2.drawStr(32, 51, line4); u8g2.drawStr(32, 64, line5); } while ( u8g2.nextPage() ); u8g2.updateDisplay(); DcsBios::loop(); } CPU i7-4790k/ zotac GTX1080/ ОЗУ 16Gb/ Philips 40" 3840x2160/ джойстик BRD-N(v. №4) + педали BRD-F2 restyling + WW2-DVik Throttle(MMJoy2)/ TrackIR5 pro/ https://cults3d.com/ru/polzovateli/abelnaitrod/tvoreniya Link to comment Share on other sites More sharing options...
OH1CL Posted February 8, 2022 Share Posted February 8, 2022 (edited) Thank you, i will try that when i am at home Edited February 8, 2022 by OH1CL Just want add a image Link to comment Share on other sites More sharing options...
fusion Posted February 8, 2022 Share Posted February 8, 2022 1 hour ago, OH1CL said: Thank you, i will try that when i am at home Nice setup. Where did you get the ICP panel? Link to comment Share on other sites More sharing options...
OH1CL Posted February 8, 2022 Share Posted February 8, 2022 42 minutes ago, fusion said: Nice setup. Where did you get the ICP panel? Thank you, this is my own design, 3D printed and it is still under the construction. I will add some needle instruments and buttons and switches from my favorite planes. This is a real multirole fighter panel, when i get it ready. Here is a link for ICP panel https://www.simgears.com/simgears-products/f16-icp-replica/ https://www.simgears.com/simgears-products/f16-icp-replica/ Link to comment Share on other sites More sharing options...
KPCK Posted February 9, 2022 Share Posted February 9, 2022 Hey, a bit off topic, but has anyone been trying to deal with inverted symbols in font? This is mine display and it works like a charm, but I have a feeling that there is just no way to invert symbols with output from dcs bios, am I right? Link to comment Share on other sites More sharing options...
Doc78 Posted February 9, 2022 Share Posted February 9, 2022 On 2/7/2022 at 3:34 PM, Krysnic said: Try this code //F-16 DED for DCS BIOS using 256x64 ER-OLED032-1G from BuyDisplay.com #define DCSBIOS_IRQ_SERIAL #include "DcsBios.h" #include <Arduino.h> #include <U8g2lib.h> #include <U8glib.h> #include <SPI.h> U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI u8g2(U8G2_R0, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Enable U8G2_16BIT in u8g2.h //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; const u8g_fntpgm_uint8_t DEDfont16px[1148] U8G_FONT_SECTION("DEDfont16px") = "_\0\3\3\4\4\4\5\5\10\16\0\376\12\376\12\377\1\212\3\1\4_ \5\0\10\61!\14\224\32" "q$\207\212H,\222\0\42\10\66y\61DL\2#\22\227\31q\224$\222\213\222D$\221\134\224$" "\22\0$\20\326\371\260\204\62\212\210\252\225$\241\11E\0%\24\270\10q\206\22\231D\22\232Hu\31" "E\324$\302\11\0&\21\227\31qf\22\221D\66\223JL\22\221h\42'\6\62{\61\14(\15\264" "\372\260$\42\211H\67\221L\0)\15\264\372\60d\42\231H\27\221D\4*\20\310\10\61~\60\205h" "s\300\214\24:<\20+\12V\71\261\204\42\223P\4,\10C\373\60,\24\0-\6\26Y\61\14." "\6#\33\61\14/\16\246\11\61\325\204\62\241L(\23\12\1\60\16\226\32q(\42JS\245B\222P" "\0\61\11\225\31\361D\207\230>\62\14\226\31q(\42\222P\246\243\1\63\17\226\31q(\42\222P\64" "%\221$\24\0\64\20\227\31q\244*\42\211H\242$\71J%\0\65\15\226\31\61\16A\305\252P&" "!\1\66\15\226\31\261fj\25\21'\11\5\0\67\15\226\31\61\214\62\241L(\23\252\1\70\20\226\31" "q(\42REB\221\224H\22\12\0\71\15\226\31q(\42N\222\232\332\10\0:\10s\33\61\354 " "\3;\12\223\373\60\354 \13\5\0<\11\226\31\61e\272\352\0=\7\66I\61\314\6>\11\226\31\61" "\244\272\351\10\77\16\226\31q(\42\222LQ\16\23\212\0@\17\230\30q,B&\213\204\42!\331\1" "\7A\14\226\31\261d\24\21\323a\304$B\14\226\31\61*\42\246\213\210\351\2C\15\226\31q(\42" "FM$\11\5\0D\14\226\31\61H\22%\276HH\0E\14\226\31\61\16A\305\212P\321\0F\14" "\226\31\61\16A\305\212P#\0G\14\226\31q(\42F\225\22IRH\13\226\31\61D\234\16#N" "\2I\11\224\32\61(\42}!J\13\226\31\61\365H\42I(\0K\15\226\31\61D,ZH\22\235" "H\2L\11\226\31\61\204\372\321\0M\20\227\31\61d\264J%B\211P\42\64\66\1N\15\227\31\61" "d\264\222\205b\252\261\11O\13\226\31q(\42~\222P\0P\14\226\31\61*\42\246\213P#\0Q" "\14\266\371p(\42~\222\20\245\2R\14\226\31\61*\42\246\213&&\1S\14\226\31q(\42\252V" "\222\204\2T\11\226\31\61LB\375\4U\12\226\31\61D\374IB\1V\13\226\31\61D\374$\241\211" "\0W\21\227\31\61d\134\42\224\10%\242I\42\222H\0X\17\226\31\61D$\211$&\224E\224\230" "\4Y\14\226\31\61D\234$\64\241&\0Z\12\226\31\61\214j:\12\15[\11\304\352\60L\372'\2" "\134\27\230\30\61d\22ID%\42\71L\42*\21\221D&\221ID\0]\11\304\352\60H\372'\3" "^\11\66\231\261d\24\221\0_\7\30\350\60\16\1`\10\64\232\61F\62\1a\16\267\31\361\242\263\312" "\35\303\245\66\215\1b\14\226\31\61\204\302\212\210\247\13\0c\14v\31q(\42\242&\11\5\0d\12" "\226\31\61UN<I\12e\14v\31q(\42\322a(\245\0f\14\226\31\261(B\65\213P\33\0" "g\14\246\351pN<I\212\302\13\0h\13\226\31\61\204\302\212\210O\2i\13\246\31\261\204r\10Q" "O\6j\12\325\351\360\224i\372\315\2k\15\226\31\61\204J,\22\222D\211$l\11\226\31\61\210\372" "\311\0m\21w\31\61,\222\10%B\211P\42\224\10M\0n\11v\31\61*\42>\11o\11Cm" "qR$)\0p\14\246\351\60*\42\236.BE\0q\12\246\351pN<I\212\32r\13v\31\61" "D\24\233P#\0s\12v\31q\216R\252\360\2t\13\226\31q\204\62\213PW\2u\11v\31\61" "D|\222\24v\13v\31\61D<Ih\42\0w\21w\31\61d\224\10%B\211P\42\232$\22\0" "x\15v\31\61D$\11MF\21\221\4y\24\247\350pD\22\221D$\21ID\22\221\210*\24\321" "\0z\11v\31\61\214\62\35\15{\14\265\371\360D\62%E\65E\1|\7\302\353\60>\14}\15\265" "\372\60\204\62E%\65%\31\0~\12\70xqf\23\311l\2\0\0\0\4\377\377\0"; 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(DEDfont16px); } void loop() { u8g2.firstPage(); do { u8g2.drawStr(32, 12, line1); u8g2.drawStr(32, 25, line2); u8g2.drawStr(32, 38, line3); u8g2.drawStr(32, 51, line4); u8g2.drawStr(32, 64, line5); } while ( u8g2.nextPage() ); u8g2.updateDisplay(); DcsBios::loop(); } First of all, thanks to you guys who made this possilble!! I had the same problem with the missing text on the left side. This new code did work. The complete text on the DED is visible, but now it is flipped upside down. Probably an easy way to correct this, but i have no clue. Link to comment Share on other sites More sharing options...
Recommended Posts