mirror of
git://projects.qi-hardware.com/ben-blinkenlights.git
synced 2024-11-23 20:25:19 +02:00
ubb-vga: added quick and dirty run-until-keypress mode
- ubb-vga.c (KEY_MASK): KEYINx lines on port D - ubb-vga.c (session): run until keypress if the number of frames is zero - ubb-vga.c (main): set frames to zero if omitted
This commit is contained in:
parent
30079397f5
commit
934a89bfa5
@ -109,6 +109,7 @@ const struct mode *mode = mode_db;
|
||||
|
||||
#define TIMER 7
|
||||
#define DMA 0
|
||||
#define KEY_MASK 0x5f70000
|
||||
|
||||
|
||||
static uint32_t old_icmr;
|
||||
@ -378,13 +379,15 @@ static void session(void (*gen)(void **fb, int xres, int yres), int frames)
|
||||
|
||||
setup_noirq();
|
||||
|
||||
for (i = 0; i != frames; i++) {
|
||||
for (i = 0; !frames || i != frames; i++) {
|
||||
frame(f_phys);
|
||||
if (DTC(DMA)) {
|
||||
fprintf(stderr,
|
||||
"DMA locked up. Need hardware reset.\n");
|
||||
break;
|
||||
}
|
||||
if (!frames && (PDPIN & KEY_MASK) != KEY_MASK)
|
||||
break;
|
||||
}
|
||||
|
||||
cleanup_noirq();
|
||||
@ -409,7 +412,7 @@ static void usage(const char *name)
|
||||
int main(int argc, char *const *argv)
|
||||
{
|
||||
void (*gen)(void **fb, int xres, int yres) = grabfb;
|
||||
int frames;
|
||||
int frames = 0;
|
||||
int c;
|
||||
|
||||
while ((c = getopt(argc, argv, "m:t")) != EOF)
|
||||
@ -438,6 +441,8 @@ int main(int argc, char *const *argv)
|
||||
case 1:
|
||||
frames = atoi(argv[optind]);
|
||||
break;
|
||||
case 0:
|
||||
break;
|
||||
default:
|
||||
usage(*argv);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user