Source Code

From MiCasaVerde
Revision as of 12:18, 14 August 2009 by LibraSun (Talk | contribs)

Jump to: navigation, search

Vera is based on OpenWRT KAMIKAZE. The full source tree for OpenWRT is available at openwrt.org.

The source code for Vera's applications, as of version 1.0.602, is available here: http://download.findvera.com/source-1.0.602.tar.gz

This includes DCERouter and some other libraries. The source code for Vera's Z-Wave stack and the router plugins are not included as they include licensed code and were created under NDA's. However these are not needed to extend the functionality of Vera because it is a plugin architecture so the proper way to add new functionality is to create another plugin or DCE device, rather than to add it into one of our existing devices. The binaries with the .602 release match the code, so you should be able to build a new firmware with the OpenWRT source tree + this source code, and add back in the non-open source Vera binaries. Note that the Z-Wave device (/usr/bin/ZWave) is not free or open source; license fees are paid per unit sold.

The exciting part is that our new LuaUPnP module will largely replace the need for developers to use the C/C++ code. This is a collaborative environment that makes it much easier to extend the functionality of Vera and will facilitate making more powerful applications than building DCE devices. You will be able to do virtually anything you want to extend Vera with the LuaUPnP module. And any devices created with LuaUPnP will be automatically UPnP devices. Plus you can specify if you want to make the devices available to the community for use, for development, or private.

Originally our plan to help facilitate developers wanting to add-on to Vera was to setup a build server with virtual machines. However we ran into some bugs and performance problems in the virtual machine emulators that made cross-compiling within a VM very difficult. So, we figured our developers' time is better spent on LuaUPnP since that will be a lot more useful tool for developers who want to make their own customizations and add-ons to Vera.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox