annotate light8/serport.i @ 200:f5d3492981ab

moved Zoomcontrol to another file
author drewp
date Wed, 16 Jun 2004 13:12:07 +0000
parents 4455a7e86643
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
1 %module serport
45b12307c695 Initial revision
drewp
parents:
diff changeset
2
45b12307c695 Initial revision
drewp
parents:
diff changeset
3 %{
45b12307c695 Initial revision
drewp
parents:
diff changeset
4 #include <sys/types.h>
45b12307c695 Initial revision
drewp
parents:
diff changeset
5 #include <sys/stat.h>
45b12307c695 Initial revision
drewp
parents:
diff changeset
6 #include <sys/ioctl.h>
45b12307c695 Initial revision
drewp
parents:
diff changeset
7 #include <fcntl.h>
45b12307c695 Initial revision
drewp
parents:
diff changeset
8 #include <linux/i2c.h>
45b12307c695 Initial revision
drewp
parents:
diff changeset
9 #include <linux/i2c-dev.h>
45b12307c695 Initial revision
drewp
parents:
diff changeset
10 #include <unistd.h>
45b12307c695 Initial revision
drewp
parents:
diff changeset
11 %}
45b12307c695 Initial revision
drewp
parents:
diff changeset
12
45b12307c695 Initial revision
drewp
parents:
diff changeset
13
45b12307c695 Initial revision
drewp
parents:
diff changeset
14 %typemap(python,in) __u8 {
45b12307c695 Initial revision
drewp
parents:
diff changeset
15 if( !PyInt_Check($input)) {
45b12307c695 Initial revision
drewp
parents:
diff changeset
16 PyErr_SetString(PyExc_TypeError,"not an integer");
45b12307c695 Initial revision
drewp
parents:
diff changeset
17 return NULL;
45b12307c695 Initial revision
drewp
parents:
diff changeset
18 }
45b12307c695 Initial revision
drewp
parents:
diff changeset
19 $1 = ($type) PyInt_AsLong($input);
45b12307c695 Initial revision
drewp
parents:
diff changeset
20 }
45b12307c695 Initial revision
drewp
parents:
diff changeset
21
45b12307c695 Initial revision
drewp
parents:
diff changeset
22 %typemap(python,out) __s32 {
45b12307c695 Initial revision
drewp
parents:
diff changeset
23 $result = Py_BuildValue("i", ($type) $1);
45b12307c695 Initial revision
drewp
parents:
diff changeset
24 }
45b12307c695 Initial revision
drewp
parents:
diff changeset
25
45b12307c695 Initial revision
drewp
parents:
diff changeset
26 %inline %{
45b12307c695 Initial revision
drewp
parents:
diff changeset
27
45b12307c695 Initial revision
drewp
parents:
diff changeset
28 __s32 i2c_smbus_write_byte(int file, __u8 value);
45b12307c695 Initial revision
drewp
parents:
diff changeset
29 __s32 i2c_smbus_read_byte(int file);
45b12307c695 Initial revision
drewp
parents:
diff changeset
30
45b12307c695 Initial revision
drewp
parents:
diff changeset
31 PyObject *read_all_adc(int file) {
45b12307c695 Initial revision
drewp
parents:
diff changeset
32 PyObject *t=PyTuple_New(4);
45b12307c695 Initial revision
drewp
parents:
diff changeset
33
45b12307c695 Initial revision
drewp
parents:
diff changeset
34 #define CHAN_TO_TUPLE_POS(chan,idx) i2c_smbus_write_byte(file, chan);\
45b12307c695 Initial revision
drewp
parents:
diff changeset
35 PyTuple_SetItem(t,idx,PyInt_FromLong(i2c_smbus_read_byte(file)));
45b12307c695 Initial revision
drewp
parents:
diff changeset
36
76
4455a7e86643 added a note about the funny read order
drewp
parents: 75
diff changeset
37 /*
4455a7e86643 added a note about the funny read order
drewp
parents: 75
diff changeset
38 these are shuffled here to match the way the pots read in. in
4455a7e86643 added a note about the funny read order
drewp
parents: 75
diff changeset
39 the returned tuple, 0=left pot..3=right pot.
4455a7e86643 added a note about the funny read order
drewp
parents: 75
diff changeset
40 */
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
41 CHAN_TO_TUPLE_POS(1,0)
45b12307c695 Initial revision
drewp
parents:
diff changeset
42 CHAN_TO_TUPLE_POS(2,1)
45b12307c695 Initial revision
drewp
parents:
diff changeset
43 CHAN_TO_TUPLE_POS(3,2)
45b12307c695 Initial revision
drewp
parents:
diff changeset
44 CHAN_TO_TUPLE_POS(0,3)
45b12307c695 Initial revision
drewp
parents:
diff changeset
45
45b12307c695 Initial revision
drewp
parents:
diff changeset
46 return t;
45b12307c695 Initial revision
drewp
parents:
diff changeset
47
45b12307c695 Initial revision
drewp
parents:
diff changeset
48 }
45b12307c695 Initial revision
drewp
parents:
diff changeset
49
45b12307c695 Initial revision
drewp
parents:
diff changeset
50 %}