-
Notifications
You must be signed in to change notification settings - Fork 9
/
HACKING
39 lines (30 loc) · 1.57 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
31
32
33
34
35
36
37
38
39
The idea of rs232server is to run a server that listens to Dbus commands. There
can be multiple services.
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.
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 1st gen Atom CPU). it's using autotools because I wanted to check
how bad it actually was, probably should move it to something sane like cmake
at some point
rs232client
This is the python client, now deprecated, it's way too slow when used as a cli
interface but for other uses could make more sense
Debugging
just add the following to whatever line you are interested in
```{python}
import pdb; pdb.set_trace()
```