Archive > Orbiter - Developers

Porting to QNX / photon

(1/3) > >>

archived:
I currently use the now discontinued Audrey from 3Com as a touch screen interface for my home automation.  These are a very popular device amongst the hobbiest home automation crowd.  What would be involved in porting the orbiter software to QNX so that it could run on the audrey?  I have done a little development for QNX/photon and it seems to be relatively straight forward to port applications from linux to QNX.  Getting the interface to work in photon is another matter.

archived:
Hmm..  I asked around and none of us know anything about QNX/photon.  However, we definately want to help the community get going with Pluto.

Our Orbiter was written entirely in ANSI C++, and we use the same code for both Windows and Linux.  In order to make the UI optimized and easy to port to other platforms, the Orbiter Gen actually does all the complicated 'pre-rendering', and basically just outputs static bitmap files that the Orbiter needs to display.  That's how we were able to make the same Orbiter run on low-power devices like mobile phones.  So, it should be very easy to make it run on any other type of device.  Orbiter.cpp just has a handful of virtual functions that need to be implemented: Draw text, Draw a graphic, Draw a rectangle, etc.  A few primitives.  We use the SDL library to do this since that works on both Windows and Linux.

How do you compile for QNX/photon?  Is it a Windows-based compiler?  Is it ansi c++?  Do you know if our code will compile on it?  The easiest way to find out is just to check out the code and try to do a build.  We provide both gcc makefiles, and vs.net project files.  We can also provide some programming assistance on our end, although we don't have an Audrey.

Aaron

archived:

--- Quote from: "acromion" ---I currently use the now discontinued Audrey from 3Com as a touch screen interface for my home automation.  These are a very popular device amongst the hobbiest home automation crowd.  What would be involved in porting the orbiter software to QNX so that it could run on the audrey?  I have done a little development for QNX/photon and it seems to be relatively straight forward to port applications from linux to QNX.  Getting the interface to work in photon is another matter.
--- End quote ---


Hi,

hooh, that would be great. I have 3 Audreys at home, but I'm only using them through web interface on Misterhouse. That would be cool to run Orbiter GUI on Audreys.

Aaron, you say that you prepare all pictures for GUI and then show them - wouldn't then be easier to try with web interface ?  - in this case almost any device could work for Orbiter (at least GUI - touchscreen for command/control)...

If this would work, then any device with web browser will work as touchscreen gui ?

Regards,

Rob.

archived:
One of the big reasons we don't is for performance.  It's important that the tablets run with instant screen changes in order to make it really responsive for the user.  If you want to control your TV, we found that even 300ms was considered "slow".  But WiFi, by it's nature, often has a latency close to that long anyway.  So this way we can preload into a cache the most commonly used screens, and they can be pre-converted into a format more compatible with the display hardware for quick bliting, and then as you use the tablet, it just blits images rapidly onto the screen.  The sending of the messages over wi-fi is handled in a separate thread so they happen concurrently.  There are a lot of other things that would be difficult to do with a web interface.  For example our orbiter includes a PHillips Pronto emulator for embedded ccf files, which would require an active-x control in a web page, and then you've lost the cross-platform advantage of html.

We've thought about a new orbiter that's based on flash, though, and we have a guy whose playing around with it to see how well it works.  That could be embedded in web pages easy enough.

archived:
Speed of the interface is very important to me.  It is why I had gotten frustrated with the misterhouse interface.  To me web pages just don't feel like an actual remote.  I have been working on designing my own interface which actually runs on the audrey.  I had also looked at using flash but I wasn't sure quickly it would run on the slow processor and more importantly I know C++ and I'm clueless about flash.  I am currently using XAP to communicate with misterhouse.  So far the interface is just a few buttons which can control lights and such but at least it is fast and smooth.  Seeing how nice the orbiter interface looks I can't help but want to get it to work.  



To answer your questions:
How do you compile for QNX/photon?
QCC is the compiler

Is it a Windows-based compiler? Is it ansi c++?
I develop for QNX by installing the free distribution that they provide within microsoft virtual machine.  There is a reasonably good IDE and compiler included.  You don't need an audrey to develop code.  The QNX install on any X86 system will do.

Do you know if our code will compile on it?
Not yet... but I'll certainly try to find out.

Thanks again for the great looking project.

Navigation

[0] Message Index

[#] Next page

Sitemap 
Go to full version