feat:luckfox_gpio_test support luckfox pico and luckfox pico plus
This commit is contained in:
@@ -35,18 +35,37 @@
|
||||
#include <stdlib.h> //exit()
|
||||
#include "luckfox_gpio.h"
|
||||
|
||||
#define GPIO_ALL_TEST 0
|
||||
int GPIO_BEGIN_PIN, GPIO_END_PIN;
|
||||
int *TEST_PIN;
|
||||
|
||||
#if GPIO_ALL_TEST
|
||||
#define GPIO_BEGIN_PIN (2)
|
||||
#define GPIO_END_PIN (21)
|
||||
#else
|
||||
#define GPIO_BEGIN_PIN (16)
|
||||
#define GPIO_END_PIN (21)
|
||||
#endif
|
||||
|
||||
|
||||
int GPIOS[] = {
|
||||
int PICO_PLUS_GPIOS[] = {
|
||||
LUCKFOX_PICO_PLUS_GPIO0,
|
||||
LUCKFOX_PICO_PLUS_GPIO1,
|
||||
LUCKFOX_PICO_PLUS_GPIO2,
|
||||
LUCKFOX_PICO_PLUS_GPIO3,
|
||||
LUCKFOX_PICO_PLUS_GPIO4,
|
||||
LUCKFOX_PICO_PLUS_GPIO5,
|
||||
LUCKFOX_PICO_PLUS_GPIO6,
|
||||
LUCKFOX_PICO_PLUS_GPIO7,
|
||||
LUCKFOX_PICO_PLUS_GPIO8,
|
||||
LUCKFOX_PICO_PLUS_GPIO9,
|
||||
LUCKFOX_PICO_PLUS_GPIO10,
|
||||
LUCKFOX_PICO_PLUS_GPIO11,
|
||||
LUCKFOX_PICO_PLUS_GPIO12,
|
||||
LUCKFOX_PICO_PLUS_GPIO13,
|
||||
LUCKFOX_PICO_PLUS_GPIO14,
|
||||
LUCKFOX_PICO_PLUS_GPIO15,
|
||||
LUCKFOX_PICO_PLUS_GPIO16,
|
||||
LUCKFOX_PICO_PLUS_GPIO17,
|
||||
LUCKFOX_PICO_PLUS_GPIO18,
|
||||
LUCKFOX_PICO_PLUS_GPIO19,
|
||||
LUCKFOX_PICO_PLUS_GPIO20,
|
||||
LUCKFOX_PICO_PLUS_GPIO21,
|
||||
LUCKFOX_PICO_PLUS_GPIO22,
|
||||
LUCKFOX_PICO_PLUS_GPIO26,
|
||||
LUCKFOX_PICO_PLUS_GPIO27,
|
||||
};
|
||||
int PICO_GPIOS[] = {
|
||||
LUCKFOX_PICO_GPIO0,
|
||||
LUCKFOX_PICO_GPIO1,
|
||||
LUCKFOX_PICO_GPIO2,
|
||||
@@ -69,9 +88,6 @@ int GPIOS[] = {
|
||||
LUCKFOX_PICO_GPIO19,
|
||||
LUCKFOX_PICO_GPIO20,
|
||||
LUCKFOX_PICO_GPIO21,
|
||||
#if LUCKFOX_PICO_PLUS
|
||||
LUCKFOX_PICO_GPIO22, //
|
||||
#endif
|
||||
LUCKFOX_PICO_GPIO26,
|
||||
LUCKFOX_PICO_GPIO27,
|
||||
|
||||
@@ -92,20 +108,83 @@ void Handler(int signo)
|
||||
printf("\r\nHandler:exit\r\n");
|
||||
for (int x = GPIO_BEGIN_PIN; x <= GPIO_END_PIN; x++)
|
||||
{
|
||||
luckfox_gpio_set_value(GPIOS[x], 0);
|
||||
luckfox_gpio_unexport(GPIOS[x]);
|
||||
luckfox_gpio_set_value(TEST_PIN[x], 0);
|
||||
luckfox_gpio_unexport(TEST_PIN[x]);
|
||||
}
|
||||
exit(0);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
char input_char = '0';
|
||||
int delay_time = 500;
|
||||
signal(SIGINT, Handler);
|
||||
printf("-----------------------------\r\n");
|
||||
printf("----------GPIO TEST----------\r\n");
|
||||
printf("-----------------------------\r\n");
|
||||
printf("Please select your test borad\r\n");
|
||||
printf("* 1. LUCKFOX PICO\r\n");
|
||||
printf("* 2. LUCKFOX PICO PLUS\r\n");
|
||||
printf("-----------------------------\r\n");
|
||||
while (1)
|
||||
{
|
||||
printf("Which would you like? :");
|
||||
input_char = getchar();
|
||||
if (input_char >= '1' && input_char <= '2')
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (input_char == '1')
|
||||
{
|
||||
GPIO_BEGIN_PIN = 16;
|
||||
GPIO_END_PIN = 21;
|
||||
TEST_PIN = PICO_GPIOS;
|
||||
}
|
||||
else if (input_char == '2')
|
||||
{
|
||||
GPIO_BEGIN_PIN = 16;
|
||||
GPIO_END_PIN = 22;
|
||||
TEST_PIN = PICO_PLUS_GPIOS;
|
||||
}
|
||||
else
|
||||
{
|
||||
exit(0);
|
||||
}
|
||||
printf("-----------------------------\r\n");
|
||||
printf("Please select your test borad\r\n");
|
||||
printf("* 1. Default part(GP%d-GP%d)\r\n", GPIO_BEGIN_PIN, GPIO_END_PIN);
|
||||
printf("* 2. ALL(Except GP0 GP1)\r\n");
|
||||
printf("-----------------------------\r\n");
|
||||
while (1)
|
||||
{
|
||||
printf("Which would you like? :");
|
||||
input_char = getchar();
|
||||
if (input_char >= '1' && input_char <= '2')
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (input_char == '1')
|
||||
{
|
||||
;
|
||||
}
|
||||
else if (input_char == '2')
|
||||
{
|
||||
GPIO_BEGIN_PIN = 2;
|
||||
delay_time = 250;
|
||||
}
|
||||
else
|
||||
{
|
||||
exit(0);
|
||||
}
|
||||
|
||||
for (int x = GPIO_BEGIN_PIN; x <= GPIO_END_PIN; x++)
|
||||
{
|
||||
luckfox_gpio_export_direction(GPIOS[x], GPIO_DIRECTION_OUTPUT);
|
||||
luckfox_gpio_set_value(GPIOS[x], 0);
|
||||
luckfox_gpio_export_direction(TEST_PIN[x], GPIO_DIRECTION_OUTPUT);
|
||||
luckfox_gpio_set_value(TEST_PIN[x], 0);
|
||||
}
|
||||
while (1)
|
||||
{
|
||||
@@ -113,16 +192,16 @@ int main(int argc, char *argv[])
|
||||
for (int x = GPIO_BEGIN_PIN; x <= GPIO_END_PIN; x++)
|
||||
{
|
||||
|
||||
luckfox_gpio_set_value(GPIOS[x], 1);
|
||||
printf("GPIO%d set \r\n",GPIOS[x]);
|
||||
Delay_ms(1000);
|
||||
luckfox_gpio_set_value(TEST_PIN[x], 1);
|
||||
printf("GP%d : GPIO%d set \r\n", x, TEST_PIN[x]);
|
||||
Delay_ms(delay_time);
|
||||
}
|
||||
for (int x = GPIO_BEGIN_PIN; x <= GPIO_END_PIN; x++)
|
||||
{
|
||||
|
||||
luckfox_gpio_set_value(GPIOS[x], 0);
|
||||
printf("GPIO%d reset \r\n",GPIOS[x]);
|
||||
Delay_ms(1000);
|
||||
luckfox_gpio_set_value(TEST_PIN[x], 0);
|
||||
printf("GP%d : GPIO%d reset \r\n", x, TEST_PIN[x]);
|
||||
Delay_ms(delay_time);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user