K8055 Commander - new software for automation

I have been experimenting with K8055 board for some time using provided demo software and realised it would be good to be able to perform more complex actions. A friend of mine wrote a new application with these additional features:

[ul][b]logging[/b] of all channels to a file and viewing in different programs (sampling time from 50 ms up)[/ul]
[ul][b]saving[/b] the state of all controls to a file for later reuse[/ul]
[ul]continuous adjustment of counters debounce time[/ul]
[ul][b]automatic control[/b] of channels:
    [list]state of digital outputs based on the state of digital inputs[/ul]
    [ul]state of digital outputs based on analog inputs, including [b]hysteresis[/b] (regulation, schmitt trigger)[/ul]
   [ul] level of analog and PWM outputs based on analog inputs (positive or negative gain, with offset)[b] (buffers, amplifiers, negative feedback control loop)[/b][/ul]
    [ul][b]scheduled[/b] operation of all outputs and resetting of counters (using time of day or separate time)[/ul][/list:u]

I have already used the software in a couple of ways:

[ul]To [b]monitor and control charging of lead-acid battery[/b]. I could set the voltage levels at which the charging current is to be lowered and at which the charging should stop. Using recorded values of voltage and current I obtained detailed [b]profiles of charging.[/b][/ul]
[ul]To [b]switch periodicaly[/b] the air conditioning fan and record the changing voltage of the battery serving as a power supply.[/ul]
[ul]To record the [b]frequency of the AC power line[/b]. It reflects overall loading of electric power distribution system, which is interesting to observe.[/ul]

You can download the software at

k8055commander.zemlicka.sk/index.php

Please write back your opinions and experiences.

Nice work! One thing though, the sample VC project includes a .lib file, so you could have used static linking instead of dynamic while still being able to encapsulate it in a class.

Originally we wanted to use static linking but compiler was not able to compile the project with .lib file we had. That .lib file has probably been compiled with Borland’s compiler.
If we knew that you had here a compilable .lib file, we wouldn’t have written those class with function pointers. The reason for this was the fact that after some unsuccessful attempts there was no other choice but dynamic linking.

Hello.

I added some examples of use to the K8055 Commander website:

k8055commander.zemlicka.sk/uses/index.html

And here are some pictures of the interface:

This would be useful as a system service that can be controlled via a TCP connection.