Brian, on 06 January 2012 - 09:49 PM, said:
I like the discussion of consideration of different network protocols for improving the real-time performance of the telemetry, but I think there's much that can be done with existing hardware (standard Xbees) prior to re-implementing the link-level protocol. I believe that most of what you're talking about WRT CDMA, etc is not so much of an issue in the small networks that we have. We really only have a pair of Xbees talking to each other, so there shouldn't be any collisions. I've been trying to put together an initial proof-of-concept with my UAVTalk Transmitter, and so far it is working pretty well as it is with standard Xbees.
That is true except for the fact that there cold be some problems with congestion due to interferences on the network by other sources, could even be the remote control as this also operates in the 2.4GHz band. I agree that much can be done using standard XBees, but what should be implemented - and that is normally a matter of the protocol layer (so it should be done in the UAVTalk area) - is a supervision of timeliness and jitter in communication. This is especially true if you use this link for remote control of the UAV concerning live flight commands like from a RC control.
Brian, on 06 January 2012 - 09:49 PM, said:
What I've been trying to focus on at the higher level is generalizing the UAVTalk interface. I would really like to see more separation of the network layers in UAVTalk. Currently UAVTalk performs packetization, and reliability / re-transmission, and it (for the most part) assumes a single link between two devices. I wedged another device in the middle by simply relaying all packets between the two comm channels and stuffing GCSReceiver packets in as required. It would be really nice if there was a clearer notion of multiple devices and the ability to route messages more directly i.e. distinct network and transport layers.
Agreed. UAVTalk itself (the protocol) should be separated from everything that includes network structure, routing, packetization etc. This alows for multiple different transmission types without changing the protocol itself. Something like a socket interface should be the entry point to UAVTalk, everything below should be exchangeable.
Brian, on 06 January 2012 - 09:49 PM, said:
I believe that this is going to be more important as we start bringing more devices online (PiPXs, ESCs, OSDs, etc). It would great if the GCS could talk to all of these devices, and for the devices to communicate no matter how the network is connected, and have devices automatically reconfigure, etc.
I think if you redesign it and do it nicely, adding more devices will be there automatically, if UAVTalk is separated from how things are transmitted it does not matter if a packet is exchanged between UAV and GCS using ZigBee, some proprietary protocol or transmission or even exchanged between the CC board and an ESC connect by I2C, SPI, or whatever.
Brian, on 06 January 2012 - 09:49 PM, said:
I've thought about this a bit, but would love to have some help in designing and prototyping it. So far I've just been making changes to UAVTalk that were required for my transmitter prototype.
Count me in. I'd like to help with that.
cheers
Mike
Edited by XXL-Wing, 07 January 2012 - 06:15 AM.
No matter how good your backend systems are, the users will only remember your front end. Fail there and you will fail, period. -- Tristan Louis
Don't make me think. -- Steve Krug, usability expert