X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Fbbb_pin.h;h=9eb011e8972133acde82db52f265f269eea0a4fd;hb=7bc38c06d9c9854feeceaeefe6b01a15b3d514df;hp=04c02b6e17af16d99b4d407259f45c7d499c5232;hpb=4329461b6c36abf14a97226c5021e473485477a6;p=matches%2FMCTX3420.git diff --git a/server/bbb_pin.h b/server/bbb_pin.h index 04c02b6..9eb011e 100644 --- a/server/bbb_pin.h +++ b/server/bbb_pin.h @@ -10,26 +10,51 @@ #include "bbb_pin_defines.h" +#if defined(_BBB) || defined(_BBB_PIN_SRC) // Initialise / Deinitialise functions -extern void GPIO_Export(int pin); +extern bool GPIO_Export(int pin); extern void GPIO_Unexport(int pin); -extern void PWM_Export(int pin); +extern bool PWM_Export(int pin); extern void PWM_Unexport(int pin); -extern void ADC_Export(); -extern void ADC_Unexport(); +extern bool ADC_Export(int pin); +extern void ADC_Unexport(int pin); // Pin reading/setting functions -extern bool GPIO_Read(int pin); -extern void GPIO_Set(int pin, bool value); +extern bool GPIO_Read(int pin, bool *result); +extern bool GPIO_Set(int pin, bool value); -extern int ADC_Read(int pin); +extern bool ADC_Read(int id, int *value); -extern void PWM_Set(int pin, bool polarity, long period, long duty); // period and duty are in ns -extern void PWM_Stop(int pin); +extern bool PWM_Set(int pin, bool polarity, long period, long duty); // period and duty are in ns +extern bool PWM_Stop(int pin); +#else +//'Empty' defines so it compiles on any platform that's not the BBB +extern bool GPIO_Export(int pin); +extern void GPIO_Unexport(int pin); + +#define GPIO_Export(pin) true +#define GPIO_Unexport(pin) + +#define PWM_Export(pin) true +#define PWM_Unexport(pin) + +#define ADC_Export(pin) true +#define ADC_Unexport(pin) + +//Hack to both zero the result field (so it's never uninitialised) and return true +#define GPIO_Read(pin, result) ((*(result) = 0) == 0) +#define GPIO_Set(pin, value) true + +#define ADC_Read(id, value) ((*(value) = 0) == 0) + +#define PWM_Set(pin, polarity, period, duty) true +#define PWM_Stop(pin) true + +#endif //_BBB #endif //_BBB_PIN_H