Technology

Technology

Internal Structure

Felix is written in C and compiled with Microsoft Visual C++ version 6. The program contains the following modules:

Felix is compiled into a single executable of about 350kb. It doesn’t really need an install program, but we provide one anyway. All it does is copy the files to the “Program Files\Felix” directory (and nowhere else). It doesn’t touch the Registry. The authors of Felix have been developing software for a very long time. This is good, old fashined programming, worlds away from modern bloatware. It’s all our own code, so if anything goes wrong, we can fix it.

Felix uses the SQLite database, which is a marvellous, free, product. It’s perfect for our requirements, with superb functionality and performance, and no installation except a single (0.5Mb) DLL file. There are lots of tools around for working with SQLite databases, which means it’s really easy to access the data externally.

For graphing we use Google Charts. Again, great functionality and performance, free, and the smallest, lightest solution we could find.

Felix’s only other external requirement is the Dallas/Maxim 1-Wire TMEX drivers. But even they do not need to be installed unless you actually use 1-Wire, because we dynamically link to them only if required.

The installation program uses the free version of CreateInstall. Documentation is produced using Open Office.

Platform Requirements

Felix runs very happily on old, low powered machines. One of our test machines is an old Dell laptop with 128Mb of memory running Windows 2000. It does the job more than adequately. We sometimes run Felix on Windows XP, and rugularly run on Windows 7.

Future plans

We’d like to port Felix to Ubuntu Linux, which is perfectly possible, but it’s not our highest priority. For now, Windows does the job and is probably easier for most people.

We’d like to support more X10 interfaces, and more different hardware types, for example Z-Wave.

One thing we will certainly do is enhance Panels to support more advanced layouts and graphics.

 


Posted

in

by

Tags: