Added module for direct control over pins
authorSam Moore <[email protected]>
Mon, 23 Sep 2013 20:27:45 +0000 (04:27 +0800)
committerSam Moore <[email protected]>
Mon, 23 Sep 2013 20:27:45 +0000 (04:27 +0800)
commit6ed8c8a41104d50a699c20c5310a61656fb593e4
tree8af3021b0a09689f1f67f053689bb248bd7126ed
parentfebf57c25e014136bd4c4add413e7a00c599a6ea
Added module for direct control over pins

Will hopefully be useful for testing purposes.

Usage:

1. GPIO Set
http://192.168.1.10/api/pin?type=gpo&set=S&num=N
 - S is 0 or 1 and N is the pin number (1 to 96)

2. GPIO Read
http://192.168.1.10/api/pin?type=gpi&num=N
 - N is pin number

3. ADC Read
http://192.168.1.10/api/pin?type=adc&num=N
 - N is pin number (0 to 7)

4. PWM Set
http://192.168.1.10/api/pin?type=pwm&num=N&set=1&freq=F&duty=D&pol=P
 - F in Hz, D as a multiplier (0 -> 1) P is 0 or 1
 - N is pin number (0 to 7)

5. PWM Stop
http://192.168.1.10/api/pin?type=pwm&num=N&set=0

Pin numbering according to http://beagleboard.org/static/images/cape-headers-pwm.png

PWM pins are numbered as: EHRPWM0A = 0, EHRPWM0B = 1, EHRPWM1A = 2, etc

Module code in pin_test.c and pin_test.h.
Uses functions declared in bbb_pin.h and implemented in bbb_pin.c

Note:
 - Also modified bbb_pin.c functions to not throw Fatal errors
   - Might want to change that back. It seemed like a good idea at 2am.

BUG ALERT:
 - Doing the following:
   http://192.168.1.10/api/pin?type=gpo&num=13&set=0
   Will give a FCGIRejectJSON (invalid Pin number).
12 files changed:
server/Makefile
server/bbb_pin.c
server/common.h
server/fastcgi.c
server/log.c
server/log.h
server/main.c
server/options.h
server/pin_test.c [new file with mode: 0644]
server/pin_test.h [new file with mode: 0644]
server/run.sh
server/sensor.c

UCC git Repository :: git.ucc.asn.au