Apr 8, 2011

DUBwise for UAVTalk

There is now a new Version of DUBwise - this Blog-Post intends to give some background and insight about this new thingy.

Why UAVtalk?
UAVTalk is an open protocol designed for communicating with UAVs. It is originated by the great OpenPilot-Project but can also be used in other projects. It is very efficient and flexible by using xml for the protocol description but raw binary values for transfer.

Why a new version?
To be honest, I tried to make the recent DUBwise speak UAVtalk but I failed badly. This has two main reasons: #1 DUBwise is grown wild over about 2 years and especially with its roots in J2ME and the MikroKopter Protocol. I have to confess that it has grown to a big and fragile beast. #2 When I really started the project I was on a backpacking trip to the other side of the world which consumed and is consuming a lot of my time and abilities.
I realised that way to late after wasting a lot of precious time walking in the wrong direction. But better now than never I started DUBwise for UAVTalk as a new project when I had the van all for myself for three weeks. What does that mean for the user:
- no J2ME support ( as this was the biggest problem with the DUBwise code base - perhaps I will do a minimal J2ME version when I have a week in a dark cellar, but just because my UAVTalk protocol code had J2ME still in mind and to justify the pain and uglyness of that )
- very limited functionality on the start ( The initial version in the market has only a UAVObject Browser and Audio Voice output - but even that little bit could help on the field so I am releasing it now as it is)

That is bad for the user on one side, but on the other it is better in the long-run because I also gain more flexibility and am not bound to old ideas. For the example of the Audio Voice Output ( StatusVoice ) this means that the user can not only switch on and off stuff that is spoken statically - he can also define text blocks which can contain UAVObjects that are spoken. That is a very flexible approach and so much closer to the flexible OpenPilot way of thinking.

Release steps:

I uploaded the version to the market and commited the rest of the protocol stuff to the OpenPilot repository. I released the protocol stuff ( juavtalk and juavobjects ) in their svn repo with "OpenPilot Team" as author and unter the GPL but I will stick with my non military cc license for the DUBwise code. I will publish the DUBwise code as usual on my github account - but I need to do a cleanup first and I am going to a 5day-ish backcountry hiking trip now, so there could be a delay with that and the reply from me - but are now probably used to that fact since as a backpacker now I am not on my PC 24/7 anymore at this moment ( will change ) ..


As I said for approx. 5 days I will be in the bush without equipment the next time, but after that I will try to reply to the feedback. After that I will build a screen to show an artificcial horizon and values. I will use the same mechanism I produced for the StatusVoice to pick UAVObjects to display. These are the two things which are used most in the MK-DUBwise Version so I will polish them first ( like adding conditions to the StatusVoice blocks ) before adding more features. It is getting colder and colder here in New Zealand so I think I will find more time for coding now.