blob: 6d275eb7f88b679f70890b99b039e1b5f324e1da [file] [log] [blame]
Philip Howard567ee002013-03-27 22:22:00 +00001%module wiringpi
2
3%{
4#include "WiringPi/wiringPi/ds1302.h",
5#include "WiringPi/wiringPi/gertboard.h",
6#include "WiringPi/wiringPi/lcd.h",
7#include "WiringPi/wiringPi/mcp23008.h",
8#include "WiringPi/wiringPi/mcp23017.h",
9#include "WiringPi/wiringPi/mcp23s08.h",
10#include "WiringPi/wiringPi/mcp23s17.h",
11#include "WiringPi/wiringPi/mcp23x0817.h",
12#include "WiringPi/wiringPi/mcp23x08.h",
13#include "WiringPi/wiringPi/piFace.h",
14#include "WiringPi/wiringPi/piNes.h",
15#include "WiringPi/wiringPi/softPwm.h",
16#include "WiringPi/wiringPi/softServo.h",
17#include "WiringPi/wiringPi/softTone.h",
18#include "WiringPi/wiringPi/sr595.h",
19#include "WiringPi/wiringPi/wiringPi.h",
20#include "WiringPi/wiringPi/wiringPiI2C.h",
21#include "WiringPi/wiringPi/wiringPiSPI.h",
22#include "WiringPi/wiringPi/wiringSerial.h",
23#include "WiringPi/wiringPi/wiringShift.h"
24%}
25
26%apply unsigned char { uint8_t };
27
28extern int wiringPiSetup (void) ;
29extern int wiringPiSetupSys (void) ;
30extern int wiringPiSetupGpio (void) ;
31
32extern int piFaceSetup (int pinbase) ;
33
34extern int piBoardRev (void) ;
35extern int wpiPinToGpio (int wpiPin) ;
36
37extern void pinMode (int pin, int mode) ;
38extern int getAlt (int pin) ;
39extern void pullUpDnControl (int pin, int pud) ;
40extern void digitalWrite (int pin, int value) ;
41extern void digitalWriteByte (int value) ;
42extern void gpioClockSet (int pin, int freq) ;
43extern void pwmWrite (int pin, int value) ;
44extern void setPadDrive (int group, int value) ;
45extern int digitalRead (int pin) ;
46extern void pwmSetMode (int mode) ;
47extern void pwmSetRange (unsigned int range) ;
48extern void pwmSetClock (int divisor) ;
49
50// Interrupts
51
52extern int (*waitForInterrupt) (int pin, int mS) ;
53extern int wiringPiISR (int pin, int mode, void (*function)(void)) ;
54
55// Threads
56
57extern int piThreadCreate (void *(*fn)(void *)) ;
58extern void piLock (int key) ;
59extern void piUnlock (int key) ;
60
61// Extras from arduino land
62
63extern void delay (unsigned int howLong) ;
64extern void delayMicroseconds (unsigned int howLong) ;
65extern unsigned int millis (void) ;
66extern unsigned int micros (void) ;
67
68// WiringSerial
69
70extern int serialOpen (char *device, int baud) ;
71extern void serialClose (int fd) ;
72extern void serialFlush (int fd) ;
73extern void serialPutchar (int fd, unsigned char c) ;
74extern void serialPuts (int fd, char *s) ;
75extern void serialPrintf (int fd, char *message, ...) ;
76extern int serialDataAvail (int fd) ;
77extern int serialGetchar (int fd) ;
78
79// Shifting
80
81extern void shiftOut (uint8_t dPin, uint8_t cPin, uint8_t order, uint8_t val);
82extern uint8_t shiftIn (uint8_t dPin, uint8_t cPin, uint8_t order);
83
84// Spi
85
86%typemap(in) (unsigned char *data, int len) {
87 $1 = (unsigned char *) PyString_AsString($input);
88 $2 = PyString_Size($input);
89};
90
91int wiringPiSPIGetFd (int channel) ;
92int wiringPiSPIDataRW (int channel, unsigned char *data, int len) ;
93int wiringPiSPISetup (int channel, int speed) ;
94
95// i2c
96
97extern int wiringPiI2CRead (int fd) ;
98extern int wiringPiI2CReadReg8 (int fd, int reg) ;
99extern int wiringPiI2CReadReg16 (int fd, int reg) ;
100
101extern int wiringPiI2CWrite (int fd, int data) ;
102extern int wiringPiI2CWriteReg8 (int fd, int reg, int data) ;
103extern int wiringPiI2CWriteReg16 (int fd, int reg, int data) ;
104
105// Soft Tone
106
107extern int softToneCreate (int pin) ;
108extern void softToneWrite (int pin, int frewq) ;
109
110// Soft Servo
111
112extern void softServoWrite (int pin, int value) ;
113extern int softServoSetup (int p0, int p1, int p2, int p3, int p4, int p5, int p6, int p7) ;
114
115// Soft PWM
116
117extern int softPwmCreate (int pin, int value, int range) ;
118extern void softPwmWrite (int pin, int value) ;
119
120
121extern int mcp23s17Setup (int pinBase, int spiPort, int devId) ;
122extern int mcp23017Setup (int pinBase, int i2cAddress) ;
123
124extern int mcp23s08Setup (int pinBase, int spiPort, int devId) ;
125extern int mcp23008Setup (int pinBase, int i2cAddress) ;
126
127extern int sr595Setup (int pinBase, int numPins, int dataPin, int clockPin, int latchPin) ;