Jump to content

mblackham

Members
  • Posts

    275
  • Joined

  • Last visited

Everything posted by mblackham

  1. Massive thank you to the 104th.... just incredible fun. Also big thanks to Bushmanni. You put a lot of effort into the planning and it was appreciated.
  2. "There will be a short event briefing starting at 18:00z on the 28th..We aim to start the event at 18:20z" Do you mean 26th?
  3. Mblackham Lone Wolf UK A10C
  4. I'm getting MUCH better performance on 1.5 and 2.0 than I ever did on 1.2.
  5. Prototype This is our rough prototype.... NOTE: the big red buttons are just for quick prototyping.
  6. 3d models Here are the 3d models I have made... They are laser cut on 2.5mm black plastic
  7. Cockpit parts for sale.... I have parts to build A10C CMSP panel.... other panels coming soon..... - Custom made rotary and rocker switches - Tactile switches with caps - All necessary flip switches - Arduino mega - Screens 20x4 LCD displays - Front panel can be cut to order (Black plastic) - Circuit boards for tactile switches built to order - Vinyl cover for panel made to order Please ask for details.....
  8. Cockpit parts for sale.... I have parts to build A10C CMSP panel.... - Custom made rotary and rocker switches - Tactile switches with caps - All necessary flip switches - Arduino mega - Screens 20x4 LCD displays - Front panel can be cut to order (Black plastic) - Circuit boards for tactile switches built to order - Vinyl cover for panel made to order Please PM me for prices.
  9. onDcsBiosFrameSync() Raised it as an issue on github and got to this point thanks to OlHAll: void onDcsBiosFrameSync() { if( cmsp1Buffer.isDirty()) { lcd.setCursor(0, 0); char* inChar = cmsp1Buffer.buffer; line1 += inChar; line1.remove(3,1); line1.remove(8,1); lcd.print(line1); cmsp1Buffer.clearDirty(); line1 = ""; } if( cmsp2Buffer.isDirty()) { lcd.setCursor(0, 1); char* inChar = cmsp2Buffer.buffer; line1 += inChar; line1.remove(3,1); line1.remove(8,1); line1.setCharAt(7, ' '); lcd.print(line1); cmsp2Buffer.clearDirty(); line1 = ""; } } But then other inputs become unusable. And I cannot see how I could use it with the common data outputs in DCS-BIOS. Great work by the way. This is amazing.
  10. https://github.com/dcs-bios/dcs-bios-arduino-library The one from here. Did a fresh download of it an hour ago.
  11. A little confused Soo I have been trying to a heading displayed on a 16x2 lcd through Arduino. I have had it working for the CMSP panel but had to add the following into my code: void onDcsBiosFrameSync() { } I notice you don't have that anywhere in your example code and have a hunch that is why I can't get my version to work. #include <DcsBios.h> #include <Servo.h> #include <LiquidCrystal.h> LiquidCrystal lcd( 8, 13, 9, 4, 5, 6, 7); unsigned int hdgDegValue; /**** Make your changes after this line ****/ void onDcsBiosFrameSync() { } /**** In most cases, you do not have to change anything below this line ****/ /* Instantiate a ProtocolParser object to parse the DCS-BIOS export stream */ DcsBios::ProtocolParser parser; void setup() { Serial.begin(115200); lcd.begin(16, 2); lcd.clear(); } /* Your main loop needs to pass data from the DCS-BIOS export stream to the parser object you instantiated above. It also needs to call DcsBios::PollingInput::pollInputs() to detect changes in the state of connected controls and pass them on to DCS. */ void loop() { // feed incoming data to the parser int data = Serial.read(); while (data > -1) { parser.processChar(data); data = Serial.read(); } // poll inputs DcsBios::PollingInput::pollInputs(); } /* You need to define void sendDcsBiosMessage(const char* msg, const char* arg) so that the string msg, followed by a space, the string arg and a newline gets sent to the DCS-BIOS import stream. In this example we send it to the serial port, so you need to run socat to read the data from the serial port and send it over UDP to DCS-BIOS. If you are using an Ethernet Shield, you would probably want to send a UDP packet from this subroutine. */ void sendDcsBiosMessage(const char* msg, const char* arg) { Serial.write(msg); Serial.write(' '); Serial.write(arg); Serial.write('\n'); } void onDcsBiosWrite(unsigned int address, unsigned int value) { // show heading and altitude on line 3 of LCD if (address == 0x040a ) { hdgDegValue = (value & 0x01ff) >> 0; } if (address == 0xfffe ) { // end of DCS BIOS update marker (~every 30ms) updateLCDDisplay(); } } void updateLCDDisplay() { String s(hdgDegValue); lcd.setCursor(0,3); lcd.print( "Hdg:" + s + " " ); } Any ideas? Cheers
  12. Hi, I'm trying to setup multi-monitors in A10C.... I can get MFCDs working fine but just cannot get CDU etc to show up on 2nd screen. Do I have to edit anything other than the .lua file in the monitor config folder to get this to work? Cheers in advance.
×
×
  • Create New...