[simpits-tech] SeeedStudio ethernet shield

Cris Harrison phoenixcomm at gmail.com
Wed Sep 10 15:50:46 PDT 2014


On 09/09/2014 11:40 PM, Matt Bailey wrote:
> On Tue, 09 Sep 2014 17:10:52 -0500
> Cris Harrison <phoenixcomm at gmail.com> wrote:
>
>> and why usb free???? use IOPs like I do each pc can run a bunch of
>> interface processors (arduino(s), Phi, etc)
>> ~~Cris
> Oh Cris, you asked for the rant. :)
>
> USB is the devil. USB devices require a specific state-based session be
> maintained with a host (the PC)...any disconnection, interference, or
> interruption of this session completely screws up the whole simulator,
> usually requiring a reboot of at least the sim software itself (I
> have experienced this firsthand, with DC relays causing Arduinos to
> reset, or lose their connection momentarily). This by itself is enough
> to disqualify USB from simulator use. But allow me to digress...
>
> The enumeration order, and virtual device instances on the host, are
> pseudo-random...I can only maintain a semi-sane state on my Linux-based
> simulator by not adding or removing devices (Arduinos and joystick
> controllers, mainly). Changing ports, or throwing another Arduino or
> joystick device into the mix, has the potential to completely screw up
> my device order. So, any changes to the sim require that I touch code
> again to make it address an Arduino or joystick device that has
> "migrated" to another device node. This is unacceptable. The devices
> also require special drivers, and processing power from the host. And I
> don't even have any AC voltage based interfaces in my sim...just ask
> Justin how robust USB is when it's within a few feet of 400hz aircraft
> voltage. :)
>
> USB is a closed, proprietary standard. Ethernet is an open standard that
> has been around for decades. Even in Python, I have fairly low-level
> access to a number of different protocols that use ethernet...I can
> choose how I want to do error-handling, for instance, or at what rate
> my devices need to refresh.
>
> To top it all off, even the physical connectors suck. USB connectors
> becoming disconnected, getting damaged, or causing other mayhem, are a
> CONSTANT issue on embedded systems (which is really what a flight
> simulator is).
>
> Ethernet, on the other hand, does NOT require a "lifeline" to the PC. I
> have been using UDP in my sim (for my various pieces of software to
> talk to each other) since day 1, and it has literally been ZERO hassle.
> UDP especially is very nice. My various bits of software blast out UDP
> packets to each other. If a packet is dropped here or there, or even if
> a device goes completely offline, it doesn't bring the whole sim down.
> I can completely reboot my instrument PC (or my radar PC) with X-Plane
> running, and nothing bad happens. There is no server-client
> relationship, all the devices and software instances are just clients
> on the network. IP addresses are STATIC, they NEVER change. I can code
> up my altimeter on one IP address today, and never have to worry about
> it again. And if I want to check a device's online status, I simply
> ping it from ANY PC on the network.
>
> Ethernet also means I get a nice locking connector. What's more, the
> connector is cheap, and easy to replace (or make entirely new cable) if
> it does ever get damaged. I can also do longer cable runs, which is very
> important as I start on a much larger cockpit...no "booster" required.
> And did I mention gigabit ethernet is (reliably) over twice the speed
> of USB 2.0 in USB's IDEAL conditions?
>
> There are three applications I can think of that are good for USB, and
> two of them have a reliable alternative: mice, keyboards, and portable
> storage devices. It's nice to be able to plug a USB keyboard into one
> of my systems on-the-fly to do debugging, or clear an error message or
> some such. So I guess I don't COMPLETELY hate USB, just 95% hate. :)
>
one more thing if you look at my Nav box.. thats. this order
1. Simulation network (Ethernet) to IOP
2  IOP to embedded processor arduino MAX (usb)
3a. wires to switches
3b. ps2 interface for keyboard
3c. i2c interface to 2x programmable 7 & 16 digit drivers
4 wires (lots) to displays from drivers..

      (4) 16 seg displays = 64 wires
    (13) 7  seg displays = 91 wires
    4 + 13     commons = 17 wires  = 172 total wires * 2
    connections/wire = 344 connections :(
    U could use 3 50pin flat ribbon cables to what ever but thats
    another problem  LOL


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.simpits.org/pipermail/simpits-tech/attachments/20140910/c85db560/attachment.html 


More information about the Simpits-tech mailing list