forked from arfoll/rs232server
-
Notifications
You must be signed in to change notification settings - Fork 1
/
HACKING
30 lines (23 loc) · 1.34 KB
/
HACKING
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
The idea of rs232server is to run a server that listens to Dbus commands. There
can be multiple services. Each service has its own queue and is defined by the
tty (rs232 port) that is used to communicate to that appliance.
There are currently four supported services in rs232server
- AzurService - controls an Azur Amplifier/Receiver
- LgtvService - controls an LG TV
- PioneerService - controls a Pioneer TV set (KRL-32V)
- ArcamService - controls an Arcam AVR-300 receiver
The aim are to make services inherit from BaseService so the actual service
file contains very little but a little handling code for maybe the return codes
and special error conditions. LgtvService is a very minimal service which
serves as a good example. AzurService is more complex and also probably could
do with a good clean ;-)
Dbus commands are received on the /uk/co/madeo/rs232server object. Each service
then has its own interface that can be used to communicate with that service.
rs232client
This is the python client, now deprecated.
miniclient
This client is supposed to be light & dumb. It does nearly nothing, it's in C
because dbus in C is a lot faster to initialise. The aim is for it to send a
dbus message and then quit as quickly as possible (but not asynchronously as
I'd like to get the return message!). In python this is relatively slow (1-2
seconds on a Atom CPU)