IEBus Studio – Progress Update
IEBus Studio is coming along very well with the help of my two friends CLuis and Ramzi. We are really cranking code out at an astonishing rate and bringing IEBus Studio into reality. Here is the 1000 foot view:
Event Discovery works but we are just beginning to rewrite a lot of it to add functionality that will discover dynamic message types such as volume or touch events (Ex: most of the message is the same structure except for the coordinates of the touch, so we need to use some pattern matching to define non unique messages as the same event)
Defining devices is a cinch with the new Device Discovery tab. You can manually add devices or have it automatically add them to the library when it sees a message with a new unique device come across the bus. For each device you can record a name and description for it.
In the Define Events tab you can easily describe events that you have identified. Currently this only supports static messages such as a single button press on the dash (Ex: the cancel button), but it will soon support the dynamic messages as well.
CLuis did a great job with the DLL generation code. You can now build the library of events then choose File->”Export DLL” to produce a DLL of event definitions which you can tie into from any software that allows the referencing of a DLL. A test application has been setup and works in the emulation environment, so I will be testing it in the car very soon. The only events that the test DLL contains at the moment is touch events from the screen. This sample application will handle the touch events and display the x and y coordinates in a console as you touch the screen. Soon it will graphically overlay the screen with a grid to show how this whole thing will eventually control your computer.
And last but not least, you can now save out your progress into a library of events and device definitions (xml file) and open it back up again later to resume your work where you left off. If you thought you had all of the events that you wanted to use in your installation defined but realized you needed one more, simply open the library file do event discovery for that new event then re-export your DLL. Thats all there is to it.