Jump to content

Recommended Posts

Posted

Gadroc,

Your panel board sounds like a great plan having read your site description for it.

Have you considered maybe selling the plans for it? Only reason I ask is that for people like me, not in the States we could buy the plan and then manufacture our own boards.

I'd much rather pay you a fee for the plans (with the obvious proviso that I wouldn't pass the plans on or sell them to others) than pay the thieving Royal Mail guys some VAT and import duty (usually more than the actual item you've purchase) like I do when I order model kits from outside the UK.

I'd happily pay a decent proportion of the cost of an actual board for the plans alone and make my own board rather than pay Import Duty :)

Thanks in advance,

J.

Rig: Home Built, water cooled,i5 2500K @ 4.3Ghz, ASUS P8P67Pro Mobo, 8GB Patriot Viper 2 Sector 5 RAM, MSI Nvidia GTX970 4GB Gaming OC, 120GB OCZ Vertex 2e SSD Boot, 120GB OCZ Vertex 2e SSD Games (BS & WH), Samsung Spinpoint F3 1TB other,

Samsung UE37D5000 37" LED TV,EloTouch 1600x1200 secondary, Thrustmaster Warthog No.467, Thrustmaster MFD, Saitek Pro Pedals, Track IR4 with Track Clip Pro.

 

Ex RAF Aircrew, Real Life Pilot, proud Geek and father of one :)

Posted

Getting these errors trying to compile the EOS Interface Board Sketch V1

 

core.a(HardwareSerial.cpp.o): In function `__vector_18':

C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/HardwareSerial.cpp:115: multiple definition of `__vector_18'

EOS\EOSBusSerial.cpp.o:C:\Users\Documents\Arduino\libraries\EOS/EOSBusSerial.cpp:624: first defined here

core.a(HardwareSerial.cpp.o): In function `__vector_19':

C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/HardwareSerial.cpp:218: multiple definition of `__vector_19'

EOS\EOSBusSerial.cpp.o:C:\Users\Documents\Arduino\libraries\EOS/EOSBusSerial.cpp:672: first defined here

 

My hardwareserial.cpp file is attached. Maybe it's the version of this file?

 

Is there an example of the sketch that would have to be loaded in the second board hooked to the Leonardo?

HardwareSerial.cpp.txt

Posted

Whartsell,

Will this use with Teensy 3.0 boards?

They're cheap and cheerful, seem to have enough inputs to handle a decent sized panel and given the cost wont break the bank if there is one each in each panel. Could be a good standalone panel option of they work with EOS?

Rgds,

J.

Rig: Home Built, water cooled,i5 2500K @ 4.3Ghz, ASUS P8P67Pro Mobo, 8GB Patriot Viper 2 Sector 5 RAM, MSI Nvidia GTX970 4GB Gaming OC, 120GB OCZ Vertex 2e SSD Boot, 120GB OCZ Vertex 2e SSD Games (BS & WH), Samsung Spinpoint F3 1TB other,

Samsung UE37D5000 37" LED TV,EloTouch 1600x1200 secondary, Thrustmaster Warthog No.467, Thrustmaster MFD, Saitek Pro Pedals, Track IR4 with Track Clip Pro.

 

Ex RAF Aircrew, Real Life Pilot, proud Geek and father of one :)

  • 1 month later...
Posted
Whartsell,

Will this use with Teensy 3.0 boards?

They're cheap and cheerful, seem to have enough inputs to handle a decent sized panel and given the cost wont break the bank if there is one each in each panel. Could be a good standalone panel option of they work with EOS?

Rgds,

J.

 

Sorry to take so long to reply.

 

The arduino firmware source code for EOS is available and you could adapt it to run on a Teensy if need be.

 

The purpose of EOS is to not to have to use powerful (expensive) boards like Teensy,arduino,etc. the purpos of EOS will be based on simple ATMega based board that runs arduino bootloader and has specific features you would need for implementing your own panels. an EOS board is an arduino based design but an arduino board is not required (except as a bus controller if needed).

 

 

 

For example you can buy all the parts to build a single EOS board for less than $20 dolars. this includes functionallity for 16 outputs/16 inputs 6 analog inputs and a few extra pins to do anything extra you need. You can customize these via firmware for more inputs/outputs rotary encoders etc.

 

A single Bus Controller (arduino Leonardo) can control about 12 EOS boards via RS485 (imagine RS232 in a daisy chain)

 

Eventually there will be EOS compatible boards for sale as well as the schematics and such.

Posted (edited)

EOS not working

 

Whartsell, when I do the step to add the EOS interface, I have to click the scan button several times to get Helios to detect my arduino UNO. afterwards everything works fine in the editor. I even created a Electrical Panel in Helios and when I throw a physical switch it changes the panel switch in the editor.

 

However when I start Helios and run the profile the arduino's receive light flashes three times, the transmit led never blinks, then all of the leds turn off, throwing the physical switches do not change the switch positions in Helios or in A-10C when it is running.

 

I also created another profile with EOS added and the regular part of Helios works, but the EOS half still does not.

 

 

UPDATE: I searched the web and I found the following article on the arduino's built-in serial auto-reset function, http://playground.arduino.cc//Main/DisablingAutoResetOnSerialConnection

Disabling Auto-Reset On Serial Connection

 

So you have found need for disabling the auto reset? So that the arduino does not reset when establishing a connection. Here are some solutions.

Note: This does NOT apply to the new Arduino Leonardo that uses USB and serial differently. The Leonardo does not auto-reset, however, it is difficult to make Leonardo reset even if desired

Apparently when you connect serially to an Arduino it first resets the connection and then reconnects Helios times out while waiting for it to reconnect.

 

There are two ways to fix the reset problem, 1.) for most Arduinos place a 120 ohm resistor (Difficult to find) between reset and ground, or 2.) For UNO's place a 10uf capacitor between reset and ground, the second method worked for me. Whartsell, you said that you were going to use a Leonardo so you might wat to read the section on it.

Edited by Direwolf5
Found Solution
Posted

Hello! Just want to apologize for my English! Since programirovanii I was looking for a strong example for the Arduino. Everything is working fine. The only non messes up the servo. Maybe you have an example to EOSServo! Thank you for even earlier!

  • 2 weeks later...
Posted

Do you have a sketch or example for multiple LEDs, or using servos/steppers? Ive been messing with it all night and only frustrated myself lol.

Oh, while im asking, any help with linking boards together would be helpful, like what chips to use and what arduino board to use as a master (im assuming the leonardo)

Thanks for any help!!

Posted
Hello! Just want to apologize for my English! Since programirovanii I was looking for a strong example for the Arduino. Everything is working fine. The only non messes up the servo. Maybe you have an example to EOSServo! Thank you for even earlier!

 

It's my understanding that EOSServo integration into Helios is incomplete at this time. Next time I talk to Gadroc ill ping him about it.

Posted

A complete walkthrough with more info and perhaps example sketches for both boards hooked together would be extremely helpful. I started working on it but got very frustrated.

  • 2 months later...
  • 3 months later...
Posted

Hi,

 

I am trying to setup an Duemilanove to experiment with this, however, I get stuck with the second step: I cleared the Eeprom and downloaded the sketch + EOS libraries.

 

Now as I'm a newbie to this point, I am not sure where I should put the EOS library files; in same folder as the sketch?

 

I tried several paths/folder, but I everytime when I compile/try to upload I get the message:

 

EOS_Digital_Input_Example:6: error: 'EOSArduinoDigital' does not name a type

EOS_Digital_Input_Example.ino: In function 'void ReadEPROM()':

EOS_Digital_Input_Example:35: error: 'EosBus' was not declared in this scope

EOS_Digital_Input_Example.ino: In function 'void UpdateEPROM()':

EOS_Digital_Input_Example:67: error: 'EosBus' was not declared in this scope

EOS_Digital_Input_Example.ino: In function 'void setup()':

EOS_Digital_Input_Example:84: error: 'gDigitalInputBank' was not declared in this scope

EOS_Digital_Input_Example:91: error: 'EosBus' was not declared in this scope

EOS_Digital_Input_Example.ino: In function 'void loop()':

EOS_Digital_Input_Example:100: error: 'gDigitalInputBank' was not declared in this scope

EOS_Digital_Input_Example:104: error: 'EosBus' was not declared in this scope

EOS_Digital_Input_Example:112: error: 'BUS_TIMEOUT' was not declared in this scope

EOS_Digital_Input_Example:115: error: 'BUS_ERROR' was not declared in this scope

EOS_Digital_Input_Example:118: error: 'BUS_PACKETREADY' was not declared in this scope

EOS_Digital_Input_Example:129: error: 'PACKET_COMMAND_SET_ADDRESS' was not declared in this scope

EOS_Digital_Input_Example:141: error: 'PACKET_COMMAND_SET_GROUP' was not declared in this scope

EOS_Digital_Input_Example:153: error: 'PACKET_COMMAND_SET_NAME' was not declared in this scope

EOS_Digital_Input_Example:166: error: 'PACKET_COMMAND_POLL' was not declared in this scope

EOS_Digital_Input_Example:188: error: 'PACKET_COMMAND_INFO' was not declared in this scope

EOS_Digital_Input_Example:228: error: 'PACKET_COMMAND_BACKLIGHT_POWER' was not declared in this scope

EOS_Digital_Input_Example:234: error: 'PACKET_COMMAND_BACKLIGHT_SET_LEVEL' was not declared in this scope

EOS_Digital_Input_Example:240: error: 'PACKET_COMMAND_LED_POWER' was not declared in this scope

EOS_Digital_Input_Example:248: error: 'PACKET_COMMAND_LED_SET_LEVEL' was not declared in this scope

EOS_Digital_Input_Example:256: error: 'PACKET_COMMAND_RESET' was not declared in this scope

EOS_Digital_Input_Example:264: error: 'PACKET_COMMAND_DISPLAY_SETTEXT' was not declared in this scope

 

Any thoughts? When I put all the library files in same folder as the sketch (Both .h & .cpp) they'll show up in tabs in the IDE together with the sketch.

 

Probably my rookie skills thats parting me, but hope you could give me a hint!

  • 2 weeks later...
Posted

Hello,

 

I'm very interestet in building some panels for my dcs (primary panels for the a10 and su25t) and I am searching for good tutorials as I have an old arduino at home. Is there some kind of deep tutorial for building a simple panel (autopilot p.E.) and can someone describe me how I can have more switches attached then digital inputs the arduino has? I don't understand how matrixes work here.

 

I want to go to a near electric shop and buy some switches and buttons for testing around. I think for my autopilot I need three switches and one button? Also I want a simple pannel for flaps and landing gears (maybe a simple one for energie, engine, lights for the su25t).

 

Can you say me what I need to buy for this (beside the switches of course).

 

Thanks a lot.

Posted

Hello,

 

I have build a breadboard-build with my arduino nano and two threewayswitches. In helios seems everything fine but in DCS there is no reaction. And after starting and closing the DCS there is also no reaction in helios.

 

Can you give me some advices for finding the error.

 

Can you also give me some tipps for the following questions:

 

1. I want to build a panel for the SU25T but it seems there is no profile in helios for that.

2. I want to build an autopilot panel for the A10 (maybe also usable for the SU25T) but couldn't recognize how I should assign the switches. Is there a way to find options I want (later other functions, too)?

3. Can I add more then seven switches? Maybe the analog pins or a matrixbuild?

 

Thanks alot.

Posted

Whatsell....have you considered putting this in cockpit builders wiki?

 

http://www.deadfrogstudios.com/warthogpit

[sIGPIC][/sIGPIC]

 

Creator of:

 

F-18C VFA-195 "Dambusters" 1998 CAG Livery

https://forums.eagle.ru/showthread.php?t=213788

 

F-18C VFA-195 "Dambusters" July 2001 CAG Livery

https://forums.eagle.ru/showthread.php?t=215950

 

Pilot avatars for DCS Logbook

https://forums.eagle.ru/showthread.php?t=221160

 

How to make a DCS A-10C Panel

http://forums.eagle.ru/showthread.php?t=65998

  • 3 months later...
Posted

Missing the forest

 

I'm thrilled to have found this tutorial, and other posts on EOS. Lots of the small details are here, and I have a good background in electronics so I am sure I can work through any little glitches.

 

So, I can see the "trees", but I'm missing the forest! Can anyone shed some light on the architectural layout of a typical EOS/Arduino/PC setup?

 

I am using a Teensy++ 2.0, which as far as I can tell has two UARTs, lots of pins available. The stock EOS interface compiled (save for one issue of TIMER_XX predefs not being present, so I just copied them from the arduino headers).

 

Where I am the most confused is which UARTs are used for EOS, debugging, and which PC COM ports are involved.

 

The Teensy is in a configuration which provides one UART over USB and is typically used for debugging. That would suggest that I need a second COM port on my PC and to wire that up to pins 2+3 on my Teensy. However this tutorial doesn't mention any additional wiring and it otherwise seems to complete.

 

The next goal will be chaining multiple EOS board over 485. I understand 232 to 485 transceivers, but again am lost on the layout. Would I have a USB to 485 interface on my PC (or 232 to 485 on a com port), and then have every teensy have a 485 to 232 to pin 2+3? The PC is the master?

 

Or do I use the debugging port to the first teensy, have it be the master, and use the second UART as the 485 bus to other teensy EOS slaves?

 

I don't need a walkthrough, just a push in the right direction!

Custom Pit 476 Recruiting

 

i9-12900KF, 32 GB DDR5, Gigabyte Aorus Z690 Master, Gigabyte RTX 2080 Ti, 1TB Sabrent Roket 4+ 2x750GB RAID-0, TrackIR 5 /w clip, CRG9 49” Curved Ultrawide Flight Display+15" Touchscreen+17" Gauges display, Thrustmaster Warthog+7.5cm, Saitek Pro Combat Pedals, Streamdeck, Butt Kicker and pneumatic G-Seat

 

Forums Signature V4_500x100_20220716.png

Forums Signature V4_500x100_20221002.png

Posted

EOS is based on atmel328p which has one UART. In the case of a single eos board it emating serial over usb. No debugging available over hardware UART. You can use a soft serial lib and connect it to the computer for debugging however you want. I'm not familiar with the teensy and don't have the EOS source in front of me but if memory serves there were a few places where the EOS lib does not use the arduino serial libs so porting to a teensy could be problematic.

 

For chaining over RS 485 you have two supported options. 1 use a Leonardo board and a shield as the master. ( details on gadrocs site) 2 use a RS 485 adapter with the PC as the master.

 

I use a Leonardo and shield (actually I use 3).

 

There is also a warning on my tutorial about issues with EOS libs and hardware with multiple UARTS.

 

I hope this clarifies things a little. If you have any questions let me know.

  • 4 months later...
  • 4 years later...
Posted

Help With Arduino Uno and Helios

 

EOS and Helios Tutorial

 

Update

I have only tested Arduino UNO AND Duemilanove boards with EOSV1. MEGAS will NOT work. Leonardos most likely will not work. Others...your on your own.

I believe that after testing an Arduino Duemilanove that all the 168/328 based boards should work fine as all the internals are the same.

 

Yesterday I noticed that Gadroc released the latest EOS libs and Helios to support them. I played around with it yesterday and noticed that the learning curve can be a bit steep for the uninitiated so I figured I would right a quick tutorial on how to get an Arduino Uno up and running with EOS and configured in Helios as the Electrical Control Panel for the A-10.

 

This tutorial will walk through all the steps required to get it up and controlling your A-10.

 

Requirements

  • Latest version of Helios
  • Latest EOSV1 Libraries
  • Arduino Uno and Arduino IDE. MEGAs will not work due to UARTS and EOS using low level serial control) ALL other boards are UNTESTED and expected to have issues
  • Minimum 1 toggle switch wired to pin2 and ground on your arduino.
  • Recomended 7 toggle switches each wired between pin [2,3,4,5,6,7,8] and ground on your arduino

Initial Setup

This Tutorial assumes you already have your arduino software setup and know how to download sketches to it. Basic Helios knowledge is assumed as there are better sources than me for the intricacies of setting it up. The attached sketch is verbosely documented which should allow you to understand whats going on.

 

This example assumes you have a clean export.lua in DCS with no extras installed there.

 

PLEASE do not deviate from this tutorial until after you have completed it and verified everything works.

  1. Ensure you have the latest Helios Installed
  2. Install the EOS libraries according to the included read me
  3. Download my attached sketch for the Arduino

Installing the Arduino Sketch

 

Clearing the EEPROM

Since EOS uses EEPROM to store config data its a good idea to make sure all the EEPROM space is in a known state.

  1. Open The arduino IDE
  2. go to File>Examples>EEPROM>eeprom_clear
  3. Upload and run this sketch on your arduino

Install the EOS_Digital_Input_Example sketch

  1. Open the Example sketch in your IDE
  2. Upload the sketch into your Arduino

You can close the Arduino IDE now as we are finished with it

 

HELIOS SETUP

There are 3 main steps here

  1. Configure DCS Interface
  2. Configure EOS Interface
  3. Bind our board inputs to the A-10

Add DCS Interface

  1. Open Helios Profile Editor
  2. Go to Profile > Add Interface
  3. Select DCS A10C and click Add
  4. You can leave the defaults
  5. Under A-10 Setup Ensure it says "Your DCS A-10C configuration is up to date. If not click "Setup DCS A-10C" button

Add EOS Interface

  1. Repeat the steps above, only this time select EOS Bus
  2. Under Properties ensure Bus Type is set to Serial Bus Master
  3. Select the Com Port for your Arduino

The TX/RX lights should start flashing on your arduino.

After a few seconds you should see "T01Board" listed under EOS Devices

 

Configure the Board

  1. Click the Board listed under EOS Devices
  2. Set the Address to 2 (It appears 1 causes problems)
  3. Change the Name to ELEC PWR. NOTE the name is limited to 8 characters
  4. tab or click out of the Name box

Notice that the address and name have been updated under the EOS Devices. This has been saved to the EEPROM on the Arduino and it will remember these settings on next boot

  1. To the Right of the Properties Tab click the Digital Inputs Tab
  2. You should see 7 digital inputs named Digital Input 0-7
  3. Toggle each switch to ensure that the "button" turns from dark red to light red when on
  4. Rename the Inputs according to the attached pic

 

Now is a good time to save your Profile.

 

Setup the bindings in Helios

Here we will map our switches to actual DCS bindings

  1. Under Bindings select Output Tab
  2. Expand the ELEC PWR carrot and notice that all the switch actions have our names
  3. Expand the Interfaces Tab under Actions
  4. Expand DCS A10C and expand the Electrical group
  5. We will start from the top and start adding the binds
  6. Under Actions drag "set APU Generator" over the Binding "APU GEN PWR ON"
  7. Under Properties Value you will notice red text that says "Action Value Warning - Value canno be empty
  8. ensure value source is set to static value
  9. Action value contains the valid values we can use. Since this is the on position set it to 1 by typing 1 in the box
  10. Repeat the steps for APU GEN PWR OFF except this time set the action value to 2 for Off/Reset
  11. Repeat the steps above for all switches.

NOTE the Inverter has 3 action values.

 

Save your profile once you have all the bindings configured

 

Running and Testing your profile

on my dev rig I run dcs windowed on a second monitor as its easier for troubleshooting.

  1. BE SURE YOU CLOSE PROFILE EDITOR BEFORE YOU START. otherwise when you attempt to launch the profile the com port will be locked by it and the profile will crash
  2. Launch Helios Control Center and select your Profile then click start.
  3. you should see your TX/RX lights flashing on your arduino
  4. Launch DCS and load an A-10 mission
  5. toggle your switches and you should see them working in the sim

Gotchas..Issues

  • backlight intensity will crash hellios...WORKAROUND dont use your mouse to slide the bar use keyboard only
  • no way to remove a board from the interfaces.
  • if you change your board address or name outside of helios (e.g on another profile) you will have to hack the hpf file to get it to work again
  • if you change the name of an analog input your profile will become corrupted. Even hacking the hpf file will not fix it

Hi Whartsell, I realise it's a long time since you posted your tutorial, but I am new to both Arduino and Helios. I'm trying to configure 6 on-off toggle switches to DCS. I have followed your tutorial successfully up to "Configure the Board", but it can't recognise my Arduino Uno R3, so I cannot select my board under "EOS Devices". If you are still helping beginners like me, I would appreciate your assistance. If not, I understand.

Regards,

Mich.

  • 4 months later...
  • 6 months later...
Posted

I have not purchased the A-10 for DCS. I am building my F/A-18C cockpit and have been using Helios for months now; love it! Does anyone know what I have to change to get my new Arduino Uno working with my F/A-18C cockpit to control the LEDs? I am using Leo Bodnar BBI-32 and BBI-64 for all of my switches/encoders/etc. I have a Phidgets LED-64 Advanced board, but this is not supported with Helios, so that is why I bought three Arduino Uno boards for my LEDs. Any and all help will be very greatly appreciated. Thanks in advance!

 

Wayne (A.K.A. hrnet940)

Wayne Wilson

AKA: hrnet940

Alienware Aurora R3, i7 3820 3.5GHz(4.2GHz setting) processor, EVGA Nvidia RTX 2070 8GB Graphics, 16GB Ram, 1TB SSD.

Posted

I am posting stuff where it should be in the DCS-BIOS Discussion Thread.

 

Thanks,

Wayne

 

Wayne Wilson

AKA: hrnet940

Alienware Aurora R3, i7 3820 3.5GHz(4.2GHz setting) processor, EVGA Nvidia RTX 2070 8GB Graphics, 16GB Ram, 1TB SSD.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...