Jump to content

lesthegrngo

Members
  • Posts

    1245
  • Joined

  • Last visited

Everything posted by lesthegrngo

  1. Hi all, for some reason my installation of bdfconv has stopped working, and I need to convert the 'font' attached to a .c and .h file so that I can try and use it to display one of the A10 VHS parameters on an OLED If anyone has the ability to do that I would be very grateful! Cheers Les DecimalVHS48.bdf
  2. All, I have been using these Bodnar boards for years, and I am sure that DCS used to recognise buttons 33 to 64, but trying to remap my MFCD's this weekend showed that DCS seems to only recognise up to button 32 - am I fooling myself and it has always been like that or has something changed? Les
  3. I know what you mean Vinc - it's sometimes hard to accept that you have spent a day working to improve something that no-one in the world needs! Still, never ask why a hobby gives you enjoyment, just accept it and move on (and tell the wife it's essential to your wellbeing) Les
  4. I have managed to knock together an SSD1306 based sketch, which includes all the encoders, and it uses 38% of the Nano dynamic memory. It works, and best of all, the Freq3 issue is resolved. One minor issue is that it seems to not respond very well to text placement - changing the cursor position appears to have no effect unless you put in a stupid number. It seems to be more noticeable after application of the set.rotation command. The only other minor quibble is that the largest font I can use is 24 point, where my u8g2 sketch was using a 38 point font. I may end up making my own font (if I can remember how) Cheers Les
  5. I ran the sketch on a Mega, and I was correct that the memory issue was what was giving the problems. With the sketch at full frame buffer, and all the rotary encoders in there too I was using 25% of the memory and it worked fine (apart from Freq3 - can't shift that problem yet) I believe that I can use more than one multiplexer from one Arduino so potentially I can run both the AM and FM iterations of the VHF radio from one Mega. However I am not at all happy about how the u8g2 library is playing up, and so am going to do some tests with a simple Adafruit SSD1306 library to see if that is less tricky Les
  6. I worked out what it is; something has changed in either the u8g2 library, or SSD1306 because now in the constructor you have to have the display frame buffer set to F. If you set it to 1 or 2, which I had done in my original sketches, it simply won't display anything. However on the VHF radio panels (see link) I had set the buffer to the lower rate because when used on the same Nano as the rotary encoders, it would push the dynamic memory to nearly 100%, and stop the OLEDs from being displayed. In order for the sketch to work I have to comment out the rotary encoders, so I can have either the OLEDs or the encoders, but not both. With the full frame buffer just the OLEDs take 87% of the dynamic memory And I also still cannot get the Freq3 displaying correctly, I have it statically set at displaying ".0". I would still like to resolve that. So unless I can get hold of some Nano's that have more memory I will have to redesign my VHF radios to break out the encoders Cheers Les
  7. Hi all, I spent an hour going through and mapping my Bodnar BB1-64 controllers to the likes of the MFCD's. I had re-installed due to issues a while back and needed to get round to this. Once you worked out which was which it was easier, but two things stuck out - firstly buttons 33 through 64 are not recognised in the in-game assignment screen (I seem to remember they used to be....?), and secondly, for those that are once you exit the game the assignments are lost. I definitely want the second issue fixed, and it would be nice to know how to get around the fist issue Cheers Les
  8. Hi all during conversion to RS485 I have discovered that all of my multiplexed OLED sketches that use the TCA9548A multiplexer have stopped functioning. This includes nont DCS Bios ones as well. Using the I2C scanner I can see that it is is detected on addresses 0x3c and 0x70 and these are indeed the callouts on my sketches. If just one stopped working I would suspect hardware, but all four? I think something has changed, either in the libraries or the Ide To check I have used different PC's, different Nano's, different USB cables but am drawing a blank, both figuratively and literally. On my VHF AM radio panel using USB I can still get the rotary encoders to function, but nothing I do will make the displays show anything. I modified one of the sketches slightly to just display a 5 and a 6 in place of the in game data, but even that doesn't show - here's the code //#define DCSBIOS_DEFAULT_SERIAL #define DCSBIOS_IRQ_SERIAL #include <DcsBios.h> #include <Arduino.h> #include <U8g2lib.h> #include <Wire.h> //#include "er_oled.h" #define TCAADDR 0x70 void tcaselect(uint8_t i) { if (i > 7) return; Wire.beginTransmission(TCAADDR); Wire.write(1 << i); Wire.endTransmission(); } U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R3, /* clock=*/SCL, /* data=*/SDA, /* reset=*/U8X8_PIN_NONE); // All Boards without Reset of the Display R3 refers to 270 deg text rotation //U8G2_SSD1306_64X32_1F_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); void setup() { /* void DisplayInit() { for (int i = 0; i < 7; i++) tcaselect(i);*/ DcsBios::setup(); for (int i = 0; i <= 7; i++) { tcaselect(i); u8g2.begin(); //Wire.begin(); } } void onVhfamPresetChange(char* newValue) { tcaselect(3); //multiplex the required OLED u8g2.clearBuffer(); u8g2.setFont(u8g2_font_logisoso38_tr); u8g2.drawStr(0, 80, newValue); // 0 left, 0 top max appx 100 u8g2.sendBuffer(); //delay(1000); } DcsBios::StringBuffer<2> vhfamPresetStrBuffer(0x118a, onVhfamPresetChange); void onVhfamFreq4Change(char* newValue) { tcaselect(4); //multiplex the required OLED u8g2.clearBuffer(); u8g2.setFont(u8g2_font_logisoso38_tr); u8g2.drawStr(0, 80, newValue); // 0 left, 0 top max appx 100 u8g2.sendBuffer(); //delay(1000); } DcsBios::StringBuffer<2> vhfamFreq4StrBuffer(0x1192, onVhfamFreq4Change); void onVhfamFreq3Change(char* newValue) { tcaselect(5); //multiplex the required OLED u8g2.clearBuffer(); u8g2.setFont(u8g2_font_logisoso38_tr); //u8g2.drawStr(0, 80, newValue[0]); // 0 left, 0 top max appx 100 u8g2.drawStr(0, 80, "5"); // 0 left, 0 top max appx 100 u8g2.sendBuffer(); //delay(1000); } DcsBios::StringBuffer<2> vhfamFreq3StrBuffer(0x118e, onVhfamFreq1Change); void onVhfamFreq2Change(char* newValue) { tcaselect(6); //multiplex the required OLED u8g2.clearBuffer(); u8g2.setFont(u8g2_font_logisoso38_tr); //u8g2.drawStr(0, 80, vhfamFreq2); // 0 left, 0 top max appx 100 u8g2.drawStr(0, 80, "6"); // 0 left, 0 top max appx 100 u8g2.sendBuffer(); //delay(1000); } DcsBios::StringBuffer<2> vhfamFreq2Buffer(0x118e, onVhfamFreq1Change); void onVhfamFreq1Change(char* newValue) { tcaselect(7); //multiplex the required OLED u8g2.clearBuffer(); u8g2.setFont(u8g2_font_logisoso38_tr); u8g2.drawStr(0, 80, newValue); // 0 left, 0 top max appx 100 u8g2.sendBuffer(); //delay(1000); } DcsBios::StringBuffer<2> vhfamFreq1StrBuffer(0x1190, onVhfamFreq1Change); DcsBios::RotaryEncoder vhfamFreq1("VHFAM_FREQ1", "DEC", "INC", 4, 3); DcsBios::RotaryEncoder vhfamFreq2("VHFAM_FREQ2", "DEC", "INC", 8, 7); DcsBios::RotaryEncoder vhfamFreq3("VHFAM_FREQ3", "DEC", "INC", 10, 9); DcsBios::RotaryEncoder vhfamFreq4("VHFAM_FREQ4", "DEC", "INC", 5, 6); DcsBios::RotaryEncoder vhfamPreset("VHFAM_PRESET", "DEC", "INC", 12, 11); DcsBios::RotaryEncoder vhfamVol("VHFAM_VOL", "-3200", "+3200", 17, 16); void loop() { DcsBios::loop(); } Is anyone able to shed some light on this? Does anyone have a TCA9548A based sketch that they can test to see if it still works? Cheers Les
  9. I've been wondering about this for a while now, but my push to get my rig over the line has convinced me. Arduino Nanos are pretty variable in quality. I'm now finalising everything swapping everything over to the RS485 version, and Arduino IDE complications aside with some of the updates, the biggest waste of my hours has been where I simply can't get a particular command to work. After messing around with the multimeter for shorts, open circuits, bad connections etc, I tried different nanos. That in at least 50% of the time is the issue. Quite a large number of the latest batch (328's) have issues with pins 12 and 13 and often with the A0 though A5 pins too. By far the most reliable ones I have are older 168 versions, which can't be used with most OLED panels due to memory issues but are almost always a cure for a panel where I can't get a particular command to work. This is particularly true where there are lots of switches, with the newer ones I get lots of crosstalk where actuating one switch interferes and activates another unrelated one. This is especially so when changing up to RS485, there are are a number of Nanos that just won't function with RS485. Others will be problematic, like for instance not seeming to play with LCD or OLED displays. Swap the Nano, the problem disappears. Unfortunately they are not available locally so it's Ebay or Amazon (via whichever victim is coming out to visit) but I can't say that one has been better than another. Am I the only person who has seen this? It would be good to know if there is a supply that is more stable, and if anyone has a brand or supplier that is reliable I would like to know. I can replace those dodgy ones later, using the best ones I have for the essential stuff Cheers Les
  10. Hi All. I have just updated Helios after redoing the monitorsetup.lua, and now Helios is giving me a 'Export.lua for DCS cannot be understood by Helios' error. It's probably a simple fix, but I have no clue what it is, and there are no hits on the internet. All the install guides and videos are all at least a couple of years old, so don't deal with that. It was all working before, but when I opened up the profile I had after updating, it can't be launched because of that error. The other question I have is with regards to the extended desktop for my monitors; it keeps defaulting back to all in a line, not every time, but quite regularly. I am using a USB type HDMI expander (not splitter) to control the small (10 inch and 7 inch) monitors and would like to fix it Cheers Les
  11. My opinion is you do what you want to do any way you want to - it's your rig not ours. If I was to listen to all the 'advice' given to me on the Arduino forum, I would have packed everything up in boxes and never touched it again as I clearly wasn't clever enough to understand Arduinos so shouldn't use them. I have stuff that I have made that makes no sense to anyone but me, but it works and I get a quiet satisfaction at having made it. As long as it does what you want it to do, does it matter if it is not conventional? As for the sync, I get that. I don't use VR for the flight rig as a) I get thoroughly nauseous and b) I spent the last four years building a physical cockpit so that would be a bit of a waste. However having all the buttons and switches syncing at the beginning is an issue that I will have to face at some point. I did try using the polling method discussed on another thread but it kept on generating errors so (for now) that is on the backburner. So to keep everything straight I can see why you want to do what you want to do. Now, having told you to do it any way that you want, are you aware that Bodnar also sell some heavy duty Rotary Encoders that feel a lot 'heavier' in their action than the cheapo Ebay ones? I have some from when I built the F1 rig, and they do feel a lot better than the cheap ones, so maybe an alternative? Having said that, for feel, the rotary switches do have that very positive 'click' to them Les
  12. Thanks - I notice the capacitor for the Max487 chip, what is the advantage there? Cheers Les
  13. Thanks Vinc what about long runs, and for feeding multiple panels? cheers Les
  14. Hi all, I am trying to as always reduce the amount of fly wiring on my rig. I have already made RS485 bus bars using PCB's mounted to the inside of the consoles, however some panels need either a 5v or 12v supply or sometimes both. Is it feasible to use PCB's to make the bus bars or would the power be limited by the thickness of the copper? Cheers Les
  15. I had a similar issue when I tried using a Mega to directly control the A10 WLP LEDs. The setup and sketch worked perfectly over USB, but when I connected RS485 it would only display maybe 30% of the lights correctly. In the end I had to go back to using a MAX7219 chip to control the LEDs, which does work over RS485. I think No1sonuk put it down to 'bit-banging'...... Les
  16. The switches are all from Ebay, basically search for Toggle switch and you will see the types in the pictures below. They come in various flavours, and can be modified as well. The most common ones for the larger types are On-On, On-Off-On and (On) Off (On) where you have to hold the switch in the on position and it will release when you let it go. For the smaller ones, you can get On-On, On -Off- On but not the momentary type where you hold them in place for on. However the smaller ones can be available in a special type (I think they are classified as MTS-2) where they are six pole, but working in opposite ways - to explain, this means when the switch is in the 'up' position, one side is on, the other side is off, when the switch is in the down position, this reverses. However when in the centre position, the switch will continue to be connected so one side the top connection is still connected, and the other side has the bottom connection connected. This is really useful if you need a three position On-On-On switch, which you can achieve by connecting in a certain way. The other advantage of the smaller switches is that they can be soldered directly to a PCB, which in space constrained situations really can help. My CMSP has them for this purpose I have modified the switches so that I can use my own toggle switch covers, as you can see in the pictures. They are a bit of a faff, but once done are really worth it as painted up they look great and add a bit extra
  17. nice, thanks for this! Les
  18. Hi all It occurred to me that I never actually posted pictures of the finished pedals, so here they are. The work really well, are super smooth and feel right too Hope you like them Les
  19. I've already gone grey, 25 years of marriage and two kids does that to a man! Les
  20. Hi all, I am finally getting round to trying to incorporate polling, however I am getting errors - so many errors actually that I haven't a clue where to start! This is the code for my trial SAS panel #define DCSBIOS_DEFAULT_SERIAL #include <Wire.h> #include <DcsBios.h> DcsBios::Switch2Pos saspToTrim("SASP_TO_TRIM", 13); DcsBios::LED takeOffTrim(0x1026, 0x0400, 11); DcsBios::Potentiometer saspYawTrim("SASP_YAW_TRIM", 14); DcsBios::Switch2Pos saspPitchSasL("SASP_PITCH_SAS_L", 9); DcsBios::Switch2Pos saspPitchSasR("SASP_PITCH_SAS_R", 12); DcsBios::Switch2Pos saspYawSasL("SASP_YAW_SAS_L", 5); DcsBios::Switch2Pos saspYawSasR("SASP_YAW_SAS_R", 8); DcsBios::Switch3Pos saspMonitorTest("SASP_MONITOR_TEST", 3, 6); unsigned int g_iInitIntervalCounter = 0; void setup() { DcsBios::setup(); } void loop() { DcsBios::loop(); if ( ++g_iInitIntervalCounter == 0 ) { PollAllControls(); } } void PollAllControls() { saspYawTrim.pollInputCurrent(); saspPitchSasL.pollInputCurrent(); saspPitchSasR.pollInputCurrent(); saspYawSasL.pollInputCurrent(); saspYawSasR.pollInputCurrent(); saspMonitorTest.pollInputCurrent(); } I have copied the Potentiometers.h and switches.h files into the library, however when I try to compile this is what I get In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:120:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/Switches.h: In constructor 'DcsBios::Switch2Pos::Switch2Pos(const char*, char, bool)': f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/Switches.h:34:64: error: no matching function for call to 'DcsBios::PollingInput::PollingInput()' Switch2Pos(const char* msg, char pin, bool reverse = false) { init_(msg, pin, reverse); } ^ In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:15:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:23:4: note: candidate: DcsBios::PollingInput::PollingInput(long unsigned int) PollingInput(unsigned long pollIntervalMs) { ^~~~~~~~~~~~ f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:23:4: note: candidate expects 1 argument, 0 provided f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate: constexpr DcsBios::PollingInput::PollingInput(const DcsBios::PollingInput&) class PollingInput { ^~~~~~~~~~~~ f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate expects 1 argument, 0 provided f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate: constexpr DcsBios::PollingInput::PollingInput(DcsBios::PollingInput&&) f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate expects 1 argument, 0 provided In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:120:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/Switches.h: In constructor 'DcsBios::Switch3Pos::Switch3Pos(const char*, char, char)': f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/Switches.h:79:54: error: no matching function for call to 'DcsBios::PollingInput::PollingInput()' Switch3Pos(const char* msg, char pinA, char pinB) { ^ In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:15:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:23:4: note: candidate: DcsBios::PollingInput::PollingInput(long unsigned int) PollingInput(unsigned long pollIntervalMs) { ^~~~~~~~~~~~ f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:23:4: note: candidate expects 1 argument, 0 provided f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate: constexpr DcsBios::PollingInput::PollingInput(const DcsBios::PollingInput&) class PollingInput { ^~~~~~~~~~~~ f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate expects 1 argument, 0 provided f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate: constexpr DcsBios::PollingInput::PollingInput(DcsBios::PollingInput&&) f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate expects 1 argument, 0 provided In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:120:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/Switches.h: In constructor 'DcsBios::SwitchMultiPos::SwitchMultiPos(const char*, const byte*, char, bool)': f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/Switches.h:136:109: error: no matching function for call to 'DcsBios::PollingInput::PollingInput()' SwitchMultiPos(const char* msg, const byte* pins, char numberOfPins, bool reverse = false) : lastState_(0) { ^ In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:15:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:23:4: note: candidate: DcsBios::PollingInput::PollingInput(long unsigned int) PollingInput(unsigned long pollIntervalMs) { ^~~~~~~~~~~~ f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:23:4: note: candidate expects 1 argument, 0 provided f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate: constexpr DcsBios::PollingInput::PollingInput(const DcsBios::PollingInput&) class PollingInput { ^~~~~~~~~~~~ f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate expects 1 argument, 0 provided f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate: constexpr DcsBios::PollingInput::PollingInput(DcsBios::PollingInput&&) f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate expects 1 argument, 0 provided F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino: At global scope: F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:7:21: error: cannot declare variable 'saspToTrim' to be of abstract type 'DcsBios::Switch2Pos' DcsBios::Switch2Pos saspToTrim("SASP_TO_TRIM", 13); ^~~~~~~~~~ In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:120:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/Switches.h:9:8: note: because the following virtual functions are pure within 'DcsBios::Switch2Pos': class Switch2Pos : PollingInput { ^~~~~~~~~~ In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:15:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:14:17: note: virtual void DcsBios::PollingInput::resetState() virtual void resetState() = 0; ^~~~~~~~~~ F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:11:24: error: cannot declare variable 'saspYawTrim' to be of abstract type 'DcsBios::PotentiometerEWMA<>' DcsBios::Potentiometer saspYawTrim("SASP_YAW_TRIM", 14); ^~~~~~~~~~~ In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:123:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/Potentiometers.h:11:8: note: because the following virtual functions are pure within 'DcsBios::PotentiometerEWMA<>': class PotentiometerEWMA : PollingInput { ^~~~~~~~~~~~~~~~~ In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:15:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:14:17: note: virtual void DcsBios::PollingInput::resetState() virtual void resetState() = 0; ^~~~~~~~~~ F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:13:21: error: cannot declare variable 'saspPitchSasL' to be of abstract type 'DcsBios::Switch2Pos' DcsBios::Switch2Pos saspPitchSasL("SASP_PITCH_SAS_L", 9); ^~~~~~~~~~~~~ F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:15:21: error: cannot declare variable 'saspPitchSasR' to be of abstract type 'DcsBios::Switch2Pos' DcsBios::Switch2Pos saspPitchSasR("SASP_PITCH_SAS_R", 12); ^~~~~~~~~~~~~ F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:17:21: error: cannot declare variable 'saspYawSasL' to be of abstract type 'DcsBios::Switch2Pos' DcsBios::Switch2Pos saspYawSasL("SASP_YAW_SAS_L", 5); ^~~~~~~~~~~ F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:19:21: error: cannot declare variable 'saspYawSasR' to be of abstract type 'DcsBios::Switch2Pos' DcsBios::Switch2Pos saspYawSasR("SASP_YAW_SAS_R", 8); ^~~~~~~~~~~ F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:21:21: error: cannot declare variable 'saspMonitorTest' to be of abstract type 'DcsBios::Switch3Pos' DcsBios::Switch3Pos saspMonitorTest("SASP_MONITOR_TEST", 3, 6); ^~~~~~~~~~~~~~~ In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:120:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/Switches.h:53:8: note: because the following virtual functions are pure within 'DcsBios::Switch3Pos': class Switch3Pos : PollingInput { ^~~~~~~~~~ In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:15:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:14:17: note: virtual void DcsBios::PollingInput::resetState() virtual void resetState() = 0; ^~~~~~~~~~ In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:123:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/Potentiometers.h: In instantiation of 'DcsBios::PotentiometerEWMA<pollInterval, hysteresis, ewma_divisor>::PotentiometerEWMA(const char*, char) [with unsigned int pollInterval = 5; unsigned int hysteresis = 128; unsigned int ewma_divisor = 5]': F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:11:55: required from here f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/Potentiometers.h:40:49: error: no matching function for call to 'DcsBios::PollingInput::PollingInput()' PotentiometerEWMA(const char* msg, char pin) { ^ In file included from f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/DcsBios.h:15:0, from F:\Users\LES\Documents\Arduino\SAS_panel_final_with_polling\SAS_panel_final_with_polling.ino:4: f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:23:4: note: candidate: DcsBios::PollingInput::PollingInput(long unsigned int) PollingInput(unsigned long pollIntervalMs) { ^~~~~~~~~~~~ f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:23:4: note: candidate expects 1 argument, 0 provided f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate: constexpr DcsBios::PollingInput::PollingInput(const DcsBios::PollingInput&) class PollingInput { ^~~~~~~~~~~~ f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate expects 1 argument, 0 provided f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate: constexpr DcsBios::PollingInput::PollingInput(DcsBios::PollingInput&&) f:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork\src/internal/PollingInput.h:12:8: note: candidate expects 1 argument, 0 provided Multiple libraries were found for "DcsBios.h" Used: F:\Users\LES\Documents\Arduino\libraries\DCS-BIOS_FP-Fork Not used: F:\Users\LES\Documents\Arduino\libraries\DCS-BIOS Multiple libraries were found for "Servo.h" Used: F:\Users\LES\Documents\Arduino\libraries\Servo Not used: C:\Users\LES\AppData\Local\Arduino15\libraries\Servo exit status 1 Compilation error: cannot declare variable 'saspToTrim' to be of abstract type 'DcsBios::Switch2Pos' Am I using the polling with the wrong type of switches? Should be 3 position instead of 2? That wouldn't explain it failing with the potentiometer of course Cheers Les
  21. Ok, this is a bit tongue in cheek, but it will be fun to see the feedback. I have finally nearly finished building the replacement ACES ll lookalike seat and console frames; please don't ask what happened to the ones I had already made. I was painting everything a medium grey, and my wife asked when I was going to put the final coat on. When I said that this was it she looked surprised and told me that they should be black, shouldn't they...? I educated her about how the ones I had seen in pictures were all medium grey, so was just following what the real world has. She replied that my sim is not the real world, and wouldn't they look better in black..? So I'm I a quandary; do I go with real life or do I keep my long suffering and very tolerant wife happy? Right now I am leaning towards keeping my wife happy, what would you do?! Les
  22. I'll try it, if nothing else to have another tool in the drawer so to speak. A question though, I assume this will not run via RS485? Les
  23. You updated with the latest flightpanels fork? I had put in a ticket to highlight the ESP32 incompatibility with the Servo.h library, so hopefully that was addressed Les
  24. I have a load of bodnar BBI-64 boards, principally used on the MFCD's, the up front controller and the armament panel. The thing is I wanted to use the nanos with spare pins to not have to have another USB device connected. My experience is that lots of them end up causing issues, like delays in responses. I also have less spaghetti that way, there's enough wiring already without adding to it if I can. I will probably end up wiring them up to one of the existing BBI-64 boards, it will just niggle me because of the less elegant solution Cheers Les
  25. I'll look that up Thanks Les
×
×
  • Create New...