git.ucc.asn.au
/
matches
/
MCTX3420.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Automatic commit of irc logs
[matches/MCTX3420.git]
/
server
/
pin_test.c
diff --git
a/server/pin_test.c
b/server/pin_test.c
index
90ae626
..
8640a60
100644
(file)
--- a/
server/pin_test.c
+++ b/
server/pin_test.c
@@
-1,6
+1,6
@@
/**
* @file pin_test.c
/**
* @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"
*/
#include "pin_test.h"
@@
-27,18
+27,23
@@
void Pin_Close()
ADC_Unexport(i);
for (int i = 0; i < PWM_NUM_PINS; ++i)
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;
if (strcmp(type, "gpo") == 0 || strcmp(type, "gpi") == 0)
{
bool Pin_Configure(const char *type, int pin_export, int num)
{
bool ret = true;
if (strcmp(type, "gpo") == 0 || strcmp(type, "gpi") == 0)
{
- if (pin_export < 0)
- GPIO_Unexport(num);
- else
+ //Don't allow unexport of gpio
+ if (pin_export > 0)
ret = GPIO_Export(num);
}
else if (strcmp(type, "pwm") == 0)
ret = GPIO_Export(num);
}
else if (strcmp(type, "pwm") == 0)
@@
-50,9
+55,8
@@
bool Pin_Configure(const char *type, int pin_export, int num)
}
else if (strcmp(type, "adc") == 0)
{
}
else if (strcmp(type, "adc") == 0)
{
- if (pin_export < 0)
- ADC_Unexport(num);
- else
+ //Don't allow unexport of adc
+ if (pin_export > 0)
ret = ADC_Export(num);
}
return ret;
ret = ADC_Export(num);
}
return ret;
@@
-120,7
+124,7
@@
void Pin_Handler(FCGIContext *context, char * params)
if (strcmp(type, "gpo") == 0)
{
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;
{
FCGI_RejectJSON(context, "Invalid GPIO pin");
return;
@@
-139,7
+143,7
@@
void Pin_Handler(FCGIContext *context, char * params)
}
else if (strcmp(type, "gpi") == 0)
{
}
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;
{
FCGI_RejectJSON(context, "Invalid GPIO pin");
return;
@@
-172,12
+176,12
@@
void Pin_Handler(FCGIContext *context, char * params)
else
{
FCGI_PrintRaw("Content-type: text/plain\r\n\r\n");
else
{
FCGI_PrintRaw("Content-type: text/plain\r\n\r\n");
- FCGI_PrintRaw("
ADC%d reads %d\n", num
, raw_adc);
+ FCGI_PrintRaw("
%d\n"
, raw_adc);
}
}
else if (strcmp(type, "pwm") == 0)
{
}
}
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;
{
FCGI_RejectJSON(context, "Invalid PWM pin");
return;
@@
-203,7
+207,7
@@
void Pin_Handler(FCGIContext *context, char * params)
else
{
Log(LOGDEBUG, "Stopping PWM%d",num);
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);
}
FCGI_PrintRaw("Content-type: text/plain\r\n\r\n");
FCGI_PrintRaw("PWM%d stopped",num);
}
@@
-214,4
+218,4
@@
void Pin_Handler(FCGIContext *context, char * params)
FCGI_RejectJSON(context, "Invalid pin type");
}
FCGI_RejectJSON(context, "Invalid pin type");
}
-}
\ No newline at end of file
+}
UCC
git Repository :: git.ucc.asn.au