blob: 6d68052fb048dca98b799f76ad3ee1d233759adf [file] [log] [blame]
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include "ql_gpio.h"
#include "mbtk_log.h"
int gpio_g = -1;
int main(int argc, char *argv[])
{
char operator[10];
int opt;
int ret;
int gpio;
int direction;
int value;
// int pullsel;
mbtk_log_init("radio", "GPIO_TEST");
printf("=========ql gpio main=========\n"
"\t0 exit\n"
"\t1 gpio init\n"
"\t2 gpio uninit\n"
"\t3 gpio set direction\n"
"\t4 gpio set level\n"
"\t5 gpio get level\n"
"operator: >> \n");
while(1)
{
memset(operator, 0, sizeof(operator));
if(NULL != fgets(operator, sizeof(operator), stdin))
break;
fflush(stdin);
opt = atoi(operator);
switch (opt)
{
case 0:
printf("main exit\n");
return 0;
case 1:
{
printf("INPUT gpio \n");
memset(operator, 0, sizeof(operator));
if(NULL == fgets(operator, sizeof(operator), stdin))
break;
fflush(stdin);
gpio = atoi(operator);
printf("gpio is %d\n", gpio);
ret = ql_gpio_init(gpio, 1, 1, 0);
if(ret != 0)
{
printf("ql_gpio_init fail\n");
}
else
{
printf("ql_gpio_init success\n");
gpio_g = gpio;
}
}
break;
case 2:
{
printf(">>>>>gpio uninit\n");
if (gpio_g != -1)
{
ret = ql_gpio_uninit(gpio_g);
if(ret != 0)
{
printf("ql_gpio_uninit fail\n");
printf("ret=%d\n", ret);
}
else
{
printf("ql_gpio_uninit success\n");
gpio_g = -1;
}
}
else
{
printf(">>>>>pleas gpio init<<<<<\n");
}
}
break;
case 3:
{
printf(">>>>>Input set direction<<<<<\n");
memset(operator, 0, sizeof(operator));
if(NULL == fgets(operator, sizeof(operator), stdin))
break;
fflush(stdin);
direction = atoi(operator);
if (gpio_g != -1)
{
ret = ql_gpio_set_direction(gpio_g, direction);
if(ret != 0)
{
printf("ql_gpio_set_direction fail\n");
}
else
{
printf("ql_gpio_set_direction success\n");
}
}
else
{
printf(">>>>>pleas gpio init<<<<<\n");
}
}
break;
case 4:
{
printf(">>>>>Input set level<<<<<\n");
memset(operator, 0, sizeof(operator));
if(NULL == fgets(operator, sizeof(operator), stdin))
break;
fflush(stdin);
value = atoi(operator);
if (gpio_g != -1)
{
ret = ql_gpio_set_level(gpio_g, value);
if(ret < 0)
{
printf("ql_gpio_set_level fail\n");
}
else
{
printf("ql_gpio_set_level success\n");
}
}
else
{
printf(">>>>>pleas gpio init<<<<<\n");
}
}
break;
case 5:
{
printf(">>>>>Input get level<<<<<\n");
if (gpio_g != -1)
{
ret = ql_gpio_get_level(gpio_g);
if(ret < 0)
{
printf("ql_gpio_get_level fail\n");
printf("ret=%d\n", ret);
}
else
{
printf("ql_gpio_get_level success\n");
printf("ret=%d\n", ret);
}
}
else
{
printf(">>>>>pleas gpio init<<<<<\n");
}
}
break;
default:
break;
}
}
return 0;
}