1
0
mirror of git://projects.qi-hardware.com/ben-blinkenlights.git synced 2024-11-27 16:57:31 +02:00

ubbctl/: UBB pin status decoder

This commit is contained in:
Werner Almesberger 2013-01-04 05:40:19 -03:00
parent d33da7076c
commit f0c6e87222
2 changed files with 59 additions and 0 deletions

19
ubbctl/Makefile Normal file
View File

@ -0,0 +1,19 @@
CC = mipsel-openwrt-linux-gcc
CFLAGS = -g -Wall -O9 -I../libubb/include
LDFLAGS = -static
LDLIBS = -L../libubb -lubb
MAIN = ubbctl
OBJS = ubbctl.o
.PHONY: all clean spotless
all: $(MAIN)
$(MAIN): $(OBJS)
clean:
rm -f $(OBJS)
spotless: clean
rm -f $(MAIN)

40
ubbctl/ubbctl.c Normal file
View File

@ -0,0 +1,40 @@
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <ubb/ubb.h>
static struct pin {
const char *name;
uint32_t mask;
} pins[] = {
{ "nPWR", UBB_nPWR },
{ "DAT2", UBB_DAT2 },
{ "DAT3", UBB_DAT3 },
{ "CMD", UBB_CMD },
{ "CLK", UBB_CLK },
{ "DAT0", UBB_DAT0 },
{ "DAT1", UBB_DAT1 },
{ NULL }
};
int main(int argc, char **argv)
{
const struct pin *p;
ubb_open(UBB_ALL);
for (p = pins; p->name; p++) {
printf("%s%s=", p == pins ? "" : " ", p->name);
if (PDFUN & p->mask)
printf("FN");
else if (PDDIR & p->mask)
printf("%d", !!(PDDAT & p->mask));
else
putchar(PDPULL & p->mask ? 'Z' : 'R');
}
printf("\n");
return 0;
}