WHAT IS SOLARPOWERLOG?
======================

The program's purpose is to track and log data from photo-voltaic inverters,
collect power data and store them. Also a purpose is to provide an interface
to extract the data, allowing applications like web site stats of the system.

Currently, solarpowerlog is working with the Sputnik Solarmax inverter, but the
framework supports any kind of inverters and even other energy generation systems.
(Some coding required -- all it needs is to create the inverter class)

Solarpowerlog, even some years old and quite stable, is alsway under development.
If you are a coder, want to write docs, please see the "help wanted" section ;-)


GETTING SUPPORT
===============

For some online documentation please see:
http://sourceforge.net/apps/mediawiki/solarpowerlog/index.php

Please also consider posting to the mailing lists if you need help:
http://sourceforge.net/mail/?group_id=259217

HELP WANTED
===========

Any idea? Some programming skills? Missing a feature? Some spare time?
You're at the right place! Any contribution is very welcome.
Don't forget, this is the spirit of open source!

Especially this fields needs support:
- Write some user documentation.
- Support for other inverters beside the Sputnik ones (to test the code, you
  should have acces to one)
- Programming for some tools making use of the data.
- Documentation (manuals, code documentation, examples, ....)
- and bug crushing. (not that I am aware of bugs, but I'm sure they are hiding)
- porters for Windows

GETTING THE SOURCE
==================

You either need to grab the sources as tarball from
http://sourceforge.net/projects/solarpowerlog/files/solarpowerlog/
or you can use the git repository to get the latest source.

The repository is located at:
git://solarpowerlog.git.sourceforge.net/gitroot/solarpowerlog/solarpowerlog
and the command
git clone git://solarpowerlog.git.sourceforge.net/gitroot/solarpowerlog/solarpowerlog
should get you a copy.

solarpowerlog has currently those main branches:

trunk		-- development trunk
debian  	-- repository to store debian packaging files
upstream/x.yy   -- snapshot for the releases (starting at 0.21)
(master 	-- this was an ancient branch for the last release -- please do not use it)

I recommend using the repository instead the relased tarballs. If you want to contribue, please make sure that you work on trunk.

BUILDING
========

Option a) "normal way" (autotools)

To build solarpowerlog, just use the usual
./bootstrap.sh
./configure
make

for a guide, please see the file INSTALL. (it will be created by ./bootstrap)


Option b) make a Debian package

Note: you'll need the Debian branch of the git repository.

b1) Checkout the Debian branch, fast-forward the changes from the branch trunk
(if wanted) and then build the package

git checkout debian
git merge trunk  # merge latest changes (optional)
dpkg-buildpackage

b2) using tools/make-slp-dist
You can also use make-slp-dist (in tools) to automate the building. However, you need to have
- git installed and the solarpowerlog git repository available
- pbuilder installed and setup
- git2cl installed.

make-slp-dist will then do the following:
- issue make-dist and make-distcheck for basic checks,
- then extract the tarball generated (from make-dist) into a staging directory (../stagedir-debbuild/solarpowerlog-<version>)
- merge the debian directory into the staging-directory
- pdebuild from this directory
- dpkg-buildpackage from this directory
- run lintian on the generated package

NOTE: make-slp-dist is crafted to suit MY machine, you might want to modify it, especially if you are not running on a triple core CPU.

Build-dependencies:
===================

To build under debian, you need to have the following packages installed:

Minimal:
autoconf libtool libconfig++-dev libboost-dev libboost-system-dev libboost-thread-dev libbost-program-options-dev
libdbi-dev

Full-fledged (additional)
liblog4cxx10-dev

Note: dpkg-buildpackage will always ask for the full set and it will tell you
if something is missing.

Note: apt-get build-dep solarpowerlog will get you started.

CONFIGURATION FILE
==================

Please see the directory example_confs for examples how to configure solarpowerlog.
You can specify the config file to be used with the -c parameter:
solarpowerlog -c <path-to-config-file> 
