Alburgs A-10 Fuel System Panel - Page 3 - ED Forums
 


Notices

Reply
 
Thread Tools Display Modes
Old 03-13-2017, 01:02 AM   #21
Alburg
Junior Member
 
Join Date: Dec 2016
Location: Germany
Posts: 46
Default

Thanks to the help of Hansolo
I finished version 2.0 of my fuel panel. It basically is a copy of his.

At the moment the L-Profile is screwed to the backplate, but it'll be riveted later.

Cheers Sven

Alburg is offline   Reply With Quote
Old 12-29-2017, 05:08 PM   #22
Alburg
Junior Member
 
Join Date: Dec 2016
Location: Germany
Posts: 46
Default

So it's been a while since I've posted something.
For me the racing season ended so now it's time for the sim again.

Unfortunatly fabtools.de stopped business, so I am looking for a new company that lasers aluminium for a reasonable price.

I am still stuck with having no frontplates and I am thinking about have some made without backlight option to start of with.

I am not pleased with my console as it has a "rip" in the way for my Intercom panel to be installed correctly, so I just ordered the newly designed consoles from lynxdk.

Thanks to Deadman one of my panels actually doesn't have a real piece. The knobs for the Stall Warning Volume Panel.

I also managed to source some cheap MS24659-23D toggle switches in Italy, so I guess these are the only correct switches installed in my rig at the moment.


Alburg is offline   Reply With Quote
Old 12-30-2017, 07:01 PM   #23
Hansolo
Senior Member
 
Hansolo's Avatar
 
Join Date: Aug 2012
Location: Denmark
Posts: 1,499
Default

Hi Sven,

Looking good. To answer your question about the MS24659-23D. You can use it as an ON-OFF with DCS-BIOS (simple);
DcsBios::Switch2Pos alcpHarssas("ALCP_HARSSAS", PIN);

Or as an ON-ON with DCS-BIOS (advanced mode);
const byte alcpHarssasPins[2] = {PIN_0, PIN_1};
DcsBios::SwitchMultiPos alcpHarssas("ALCP_HARSSAS", alcpHarssasPins, 2);


Cheers
Hans
__________________
Hansolo is offline   Reply With Quote
Old 12-30-2017, 07:40 PM   #24
Alburg
Junior Member
 
Join Date: Dec 2016
Location: Germany
Posts: 46
Default

Quote:
Originally Posted by Hansolo View Post
Hi Sven,

Looking good. To answer your question about the MS24659-23D. You can use it as an ON-OFF with DCS-BIOS (simple);
DcsBios::Switch2Pos alcpHarssas("ALCP_HARSSAS", PIN);

Or as an ON-ON with DCS-BIOS (advanced mode);
const byte alcpHarssasPins[2] = {PIN_0, PIN_1};
DcsBios::SwitchMultiPos alcpHarssas("ALCP_HARSSAS", alcpHarssasPins, 2);


Cheers
Hans
Thanks for your reply.

So if I understand you correctly, an advantage of using a ON-ON switch with DCS-Bios, is that DCS-Bios actually knows in which position the switch is in without having to cycle it once you started DCS? With the downside of requiring one more pin on your ARduino?

As an example you left fuel CROSS FEED in the ON position and leave DCS World, then restart the game.
Nothing would normally happen because the game resets the switch to CROSS FEED OFF (in game) put on your panel it is actually still in ON.


But I still think you misunderstood my question.
I just wanted to know if there is a mechanical difference between the MS24523-23 (ON-ON) and MS24523-22 (ON-OFF).
I've had ON-OFF switches where the lever stops would stop at 90° and 135°,
where with an ON-ON the first lever position would be 45° and the second 135°.

Thanks and cheers Sven
Alburg is offline   Reply With Quote
Old 12-30-2017, 08:50 PM   #25
Hansolo
Senior Member
 
Hansolo's Avatar
 
Join Date: Aug 2012
Location: Denmark
Posts: 1,499
Default

From my understanding DCS-BIOS only updates on changes. Thus if your real panel is in ON but DCS starts in OFF nothing happens. You have to cycle it OFF then ON to get it to ON. And it doesn't matter whether uyou use an ONB-ON or an ON-OFF. Functionality is the same. Difference is that with the ON-ON DCS-BIOS doesn't have to 'calculate' the OFF position. It knows it from the feed back.

Sorry for the misunderstanding

Cheers
Hans
__________________
Hansolo is offline   Reply With Quote
Old 12-30-2017, 08:55 PM   #26
Alburg
Junior Member
 
Join Date: Dec 2016
Location: Germany
Posts: 46
Default

Quote:
Originally Posted by Hansolo View Post
Sorry for the misunderstanding

Cheers
Hans
No worries Hans,

your hint help with a different issue
Alburg is offline   Reply With Quote
Old 01-01-2018, 03:49 PM   #27
Alburg
Junior Member
 
Join Date: Dec 2016
Location: Germany
Posts: 46
Default

First of all I wish you guys a happy new year!

So my Arduino MEGA is slowly filling up.
I've been reading about the RS485 BUS.
So I've found out that we require a MEGA to be the MASTER and any other Arduino my be the SLAVE.
I've also found out that it is recommended to use a MAX487 or DS36276 over the MAX485.

The questions I have now
1. Is there any good finished PCD or a plan using a MAX487?
2. Would any other Arduino in the BUS require an external power source?
3. I am currently not using TX (Pin1) and RX (Pin0) on my MEGA would I require any further pins?
4. Do we use half or full duplex?

If I'd install a PSU in my left console how many Watts should be enough?

Thanks and cheers Sven
Alburg is offline   Reply With Quote
Old 01-27-2018, 01:31 PM   #28
Alburg
Junior Member
 
Join Date: Dec 2016
Location: Germany
Posts: 46
Default

So I've been playing around with the RS485 bus.
I can't get it to work.

So this would be my Master
The Max485 connected to Pin2, TX0 and RX0

Code:
/*
  Tell DCS-BIOS this is a RS-485 Master.
  You will need to flash this to a Mega 2560.
*/
#define DCSBIOS_RS485_MASTER

/*
  Define where the TX_ENABLE signals are connected.
  You can connect up to three half-duplex RS-485 transceivers.
  
  Arduino Pin             RS-485 Transceiver Pin
  TXn ------------------- DI (driver input)
  RXn ------------------- RO (Receiver Output)
  UARTn_TXENABLE_PIN ---- /RE, DE (active low receiver enable, driver enable)
  
  If you have less than three transceivers connected, comment out the corresponding
  #define UARTn_TEXENABLE_PIN lines for receivers that are not present.
*/
#define UART1_TXENABLE_PIN 2

#include "DcsBios.h"

void setup() {
  DcsBios::setup();
}

void loop() {
  DcsBios::loop();
}
This is my SLAVE the Max485 also connected to Pin2, TX0 and RX0.

Code:
/*
  The following #define tells DCS-BIOS that this is a RS-485 slave device.
  It also sets the address of this slave device. The slave address should be
  between 1 and 126 and must be unique among all devices on the same bus.
*/
#define DCSBIOS_RS485_SLAVE 1

/*
  The Arduino pin that is connected to the
  /RE and DE pins on the RS-485 transceiver.
*/
#define TXENABLE_PIN 2

#include "DcsBios.h"

/* paste code snippets from the reference documentation here */
//Fuel Switch Panel
DcsBios::Switch2Pos fscpExtTanksFus("FSCP_EXT_TANKS_FUS", 50);
DcsBios::Switch2Pos fscpExtTanksWing("FSCP_EXT_TANKS_WING", 51);
DcsBios::Switch2Pos fscpTkGate("FSCP_TK_GATE", 49);
DcsBios::Switch2Pos fscpCrossfeed("FSCP_CROSSFEED", 48);
DcsBios::Switch2Pos fscpBoostWingL("FSCP_BOOST_WING_L", 47);
DcsBios::Switch2Pos fscpBoostWingR("FSCP_BOOST_WING_R", 46);
DcsBios::Switch2Pos fscpBoostMainL("FSCP_BOOST_MAIN_L", 40);
DcsBios::Switch2Pos fscpBoostMainR("FSCP_BOOST_MAIN_R", 41);
DcsBios::Switch2Pos fscpAmpl("FSCP_AMPL", 53);
DcsBios::Switch2Pos fscpLineCheck("FSCP_LINE_CHECK", 52);
DcsBios::Switch2Pos fscpFdWingL("FSCP_FD_WING_L", 44);
DcsBios::Switch2Pos fscpFdWingR("FSCP_FD_WING_R", 45);
DcsBios::Switch2Pos fscpFdMainL("FSCP_FD_MAIN_L", 42);
DcsBios::Switch2Pos fscpFdMainR("FSCP_FD_MAIN_R", 43);
const byte fscpRcvrLeverPins[2] = {39,};
DcsBios::SwitchMultiPos fscpRcvrLever("FSCP_RCVR_LEVER", fscpRcvrLeverPins, 2);
DcsBios::Potentiometer alcpRcvrLts("ALCP_RCVR_LTS", A0);

//Stall Panel
DcsBios::Potentiometer stallPeakVol("STALL_PEAK_VOL", A1);
DcsBios::Potentiometer stallVol("STALL_VOL", A2);

//Intercom Panel
DcsBios::Potentiometer intFmVol("INT_FM_VOL", A6);
DcsBios::Potentiometer intIntVol("INT_INT_VOL", A7);
DcsBios::Potentiometer intVol("INT_VOL", A8);
DcsBios::Potentiometer intTcnVol("INT_TCN_VOL", A9);
DcsBios::Potentiometer intIffVol("INT_IFF_VOL", A10);
DcsBios::Potentiometer intVhfVol("INT_VHF_VOL", A11);
DcsBios::Potentiometer intUhfVol("INT_UHF_VOL", A12);
DcsBios::Potentiometer intAimVol("INT_AIM_VOL", A13);
DcsBios::Potentiometer intIlsVol("INT_ILS_VOL", A14);
DcsBios::Potentiometer intHmVol("INT_HM_VOL", A15);
DcsBios::Switch2Pos intAimUnmute("INT_AIM_UNMUTE", 28);
DcsBios::Switch2Pos intFmUnmute("INT_FM_UNMUTE", 33);
DcsBios::Switch2Pos intIffUnmute("INT_IFF_UNMUTE", 24);
DcsBios::Switch2Pos intIlsUnmute("INT_ILS_UNMUTE", 29);
DcsBios::Switch2Pos intIntUnmute("INT_INT_UNMUTE", 31);
DcsBios::Switch2Pos intTcnUnmute("INT_TCN_UNMUTE", 25);
DcsBios::Switch2Pos intUhfUnmute("INT_UHF_UNMUTE", 27);
DcsBios::Switch2Pos intVhfUnmute("INT_VHF_UNMUTE", 30);
DcsBios::Switch2Pos intHm("INT_HM", 35);
DcsBios::Switch2Pos intCall("INT_CALL", 34);
const byte intModePins[5] = {22, 37, 32, 26, 36};
DcsBios::SwitchMultiPos intMode("INT_MODE", intModePins, 5);

//AUX Lights Panel
DcsBios::Switch2Pos alcpFdbaTest("ALCP_FDBA_TEST", 12);
DcsBios::Switch2Pos alcpHarssas("ALCP_HARSSAS", 10);
DcsBios::Switch3Pos alcpNvisLts("ALCP_NVIS_LTS", 11, 13);
DcsBios::Potentiometer alcpRsil("ALCP_RSIL", A3);
DcsBios::Potentiometer alcpWpnsta("ALCP_WPNSTA", A4);
DcsBios::Switch2Pos lampTestBtn("LAMP_TEST_BTN", 9);

//SAS Panel
DcsBios::Switch3Pos saspMonitorTest("SASP_MONITOR_TEST", 20, 19);
DcsBios::Switch2Pos saspPitchSasL("SASP_PITCH_SAS_L", 14);
DcsBios::Switch2Pos saspPitchSasR("SASP_PITCH_SAS_R", 16);
DcsBios::Switch2Pos saspToTrim("SASP_TO_TRIM", 21);
DcsBios::Switch2Pos saspYawSasL("SASP_YAW_SAS_L", 18);
DcsBios::Switch2Pos saspYawSasR("SASP_YAW_SAS_R", 15);
DcsBios::Potentiometer saspYawTrim("SASP_YAW_TRIM", A5);
DcsBios::LED takeOffTrim(0x1026, 0x0400, 17);

void setup() {
  DcsBios::setup();
}

void loop() {
  DcsBios::loop();
}
What am I missing, Í already tried Ians work around with the 470Ohm between GND and A and VCC and B.


Cheers Sven
Alburg is offline   Reply With Quote
Old 01-27-2018, 02:35 PM   #29
Hansolo
Senior Member
 
Hansolo's Avatar
 
Join Date: Aug 2012
Location: Denmark
Posts: 1,499
Default

My bad. Misread the code. but looks like you're missing a pin number for the fuel lever.

Try a simple setup in the beginning, e.g. define pin 13 on the Mega Slave as Caution light and check that the onboard LED lights up when you have a master caution


Cheers
Hans
__________________

Last edited by Hansolo; 01-27-2018 at 02:39 PM.
Hansolo is offline   Reply With Quote
Old 01-28-2018, 07:01 AM   #30
Alburg
Junior Member
 
Join Date: Dec 2016
Location: Germany
Posts: 46
Default

Hi Hans,

thx for your reply.

I've bought two extra MEGAs so I can try the RS485 Bus without having to connect to the already installed MEGA in my LH console.

So this time I tried the folllowing

Master
Code:
/*
  Tell DCS-BIOS this is a RS-485 Master.
  You will need to flash this to a Mega 2560.
*/
#define DCSBIOS_RS485_MASTER

/*
  Define where the TX_ENABLE signals are connected.
  You can connect up to three half-duplex RS-485 transceivers.
  
  Arduino Pin             RS-485 Transceiver Pin
  TXn ------------------- DI (driver input)
  RXn ------------------- RO (Receiver Output)
  UARTn_TXENABLE_PIN ---- /RE, DE (active low receiver enable, driver enable)
  
  If you have less than three transceivers connected, comment out the corresponding
  #define UARTn_TEXENABLE_PIN lines for receivers that are not present.
*/
#define UART1_TXENABLE_PIN 2

#include "DcsBios.h"

void setup() {
  DcsBios::setup();
}

void loop() {
  DcsBios::loop();
}
SLAVE
Code:
/*
  The following #define tells DCS-BIOS that this is a RS-485 slave device.
  It also sets the address of this slave device. The slave address should be
  between 1 and 126 and must be unique among all devices on the same bus.
*/
#define DCSBIOS_RS485_SLAVE 1

/*
  The Arduino pin that is connected to the
  /RE and DE pins on the RS-485 transceiver.
*/
#define TXENABLE_PIN 2

#include "DcsBios.h"

/* paste code snippets from the reference documentation here */
DcsBios::LED masterCaution(0x1012, 0x0800, 13);

void setup() {
  DcsBios::setup();
}

void loop() {
  DcsBios::loop();
}
Without any result.

Is it because maybe the
Code:
#define DCSBIOS_IRQ_SERIAL
is missing?

The missing pin you mentioned is the fuel Receiver Lever. I had to do it that way otherwise the function within the game would be mirrored.


Cheers Sven
Alburg is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 05:34 PM. vBulletin Skin by ForumMonkeys. Powered by vBulletin®.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.