X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=server%2Fpin_test.c;h=8640a60df6c69999cbc49ea9c4ecf09649568872;hb=27ff700c938e48bd88ca63575d65575150d9e842;hp=86685e8dbc3fd92567f629361654073004641cc8;hpb=0f3345d129c01e1192204ba502a2816b2aaa7166;p=matches%2FMCTX3420.git diff --git a/server/pin_test.c b/server/pin_test.c index 86685e8..8640a60 100644 --- a/server/pin_test.c +++ b/server/pin_test.c @@ -1,6 +1,6 @@ /** * @file pin_test.c - * @purpose Implementations to allow direct control over pins through FastCGI + * @brief Implementations to allow direct control over pins through FastCGI */ #include "pin_test.h" @@ -27,9 +27,15 @@ void Pin_Close() ADC_Unexport(i); for (int i = 0; i < PWM_NUM_PINS; ++i) - PWM_Unexport(g_pin_safe_pwm[i]); + PWM_Unexport(i); } +/** + * Configures a pin (Export/Unexport business) + * @param type The pin type (GPIO/PWM/ADC) + * @param pin_export Whether to export/unexport/leave-as-is the pin + * @param num The pin number + */ bool Pin_Configure(const char *type, int pin_export, int num) { bool ret = true; @@ -118,7 +124,7 @@ void Pin_Handler(FCGIContext *context, char * params) if (strcmp(type, "gpo") == 0) { - if (num <= 0 || num > GPIO_NUM_PINS) + if (num <= 0 || num > GPIO_MAX_NUMBER) { FCGI_RejectJSON(context, "Invalid GPIO pin"); return; @@ -137,7 +143,7 @@ void Pin_Handler(FCGIContext *context, char * params) } else if (strcmp(type, "gpi") == 0) { - if (num < 0 || num >= GPIO_NUM_PINS) + if (num < 0 || num > GPIO_MAX_NUMBER) { FCGI_RejectJSON(context, "Invalid GPIO pin"); return; @@ -175,7 +181,7 @@ void Pin_Handler(FCGIContext *context, char * params) } else if (strcmp(type, "pwm") == 0) { - if (num < 0 || num >= PWM_NUM_SAFE_PINS) + if (num < 0 || num >= PWM_NUM_PINS) { FCGI_RejectJSON(context, "Invalid PWM pin"); return; @@ -201,7 +207,7 @@ void Pin_Handler(FCGIContext *context, char * params) else { Log(LOGDEBUG, "Stopping PWM%d",num); - PWM_Stop(g_pin_safe_pwm[num]); + PWM_Stop(num); FCGI_PrintRaw("Content-type: text/plain\r\n\r\n"); FCGI_PrintRaw("PWM%d stopped",num); } @@ -212,4 +218,4 @@ void Pin_Handler(FCGIContext *context, char * params) FCGI_RejectJSON(context, "Invalid pin type"); } -} \ No newline at end of file +}