Esempio n. 1
0
static int agerr_va(agerrlevel_t level, char *fmt, va_list args)
{
    agerrlevel_t lvl;

    /* Use previous error level if continuation message;
     * Convert AGMAX to AGERROR;
     * else use input level
     */
    lvl = (level == AGPREV ? agerrno : (level == AGMAX) ? AGERR : level);

    agerrcnt++;
    /* store this error level */
    agerrno = lvl;

    /* We report all messages whose level is bigger than the user set agerrlevel
     * Setting agerrlevel to AGMAX turns off immediate error reporting.
     */
    if (lvl >= agerrlevel) {
	if (usererrf)
	    userout (level, fmt, args);
	else {
	    if (level != AGPREV)
		fprintf(stderr, "%s: ", (level == AGERR) ? "Error" : "Warning");
	    vfprintf(stderr, fmt, args);
	    va_end(args);
	}
	return 0;
    }

    if (!agerrout) {
	agerrout = tmpfile();
	if (!agerrout)
	    return 1;
    }

    if (level != AGPREV)
	aglast = ftell(agerrout);
    vfprintf(agerrout, fmt, args);
    va_end(args);
    return 0;
}
Esempio n. 2
0
/* Process command */
void processCmd(uint8_t cmd)
{
	switch(cmd)
	{
		case '?':
			printf_P(PSTR("Commands are:\n\r"));
			printf_P(PSTR("? = Print available commands\n\r"));
			printf_P(PSTR("V = Print firmware version\n\r"));
			printf_P(PSTR("0 = Clear buffers\n\r"));
			printf_P(PSTR("1 = Dump raw ISO Stripe 1 bit buffer\n\r"));
			printf_P(PSTR("2 = Dump raw ISO Stripe 2 bit buffer\n\r"));
			printf_P(PSTR("3 = Dump raw ISO Stripe 3 bit buffer\n\r"));
			printf_P(PSTR("4 = Flip magstripe buffers\n\r"));
			printf_P(PSTR("5 = Decode ISO Stripe 1 data\n\r"));
			printf_P(PSTR("6 = Decode ISO Stripe 2 data\n\r"));
			printf_P(PSTR("7 = Decode ISO Stripe 3 data\n\r"));
			printf_P(PSTR("p = Switch USEROUT1 to low\n\r"));
			printf_P(PSTR("q = Switch USEROUT2 to low\n\r"));
			printf_P(PSTR("r = Switch USEROUT3 to low\n\r"));
			printf_P(PSTR("P = Switch USEROUT1 to high\n\r"));
			printf_P(PSTR("Q = Switch USEROUT2 to high\n\r"));
			printf_P(PSTR("R = Switch USEROUT3 to high\n\r"));
			printf_P(PSTR("u = Read USERIN1 status\n\r"));
			printf_P(PSTR("v = Read USERIN2 status\n\r"));
			printf_P(PSTR("w = Read USERIN3 status\n\r"));
			printf_P(PSTR("x = Disable USERIN1 pullup\n\r"));
			printf_P(PSTR("y = Disable USERIN2 pullup\n\r"));
			printf_P(PSTR("z = Disable USERIN3 pullup\n\r"));
			printf_P(PSTR("X = Enable USERIN1 pullup\n\r"));
			printf_P(PSTR("Y = Enable USERIN2 pullup\n\r"));
			printf_P(PSTR("Z = Enable USERIN3 pullup\n\r"));

		break;

		case 'V':
			printf_P(PSTR("1.1.0§\n\r"),magstripe3Data);
		break;


		/* Magstripe commands */
		case '0':
			magstripeInit();
			printf_P(PSTR("§\n\r"));
		break;

		case '1':
			magstripePrintRaw(1);
			printf_P(PSTR("§\n\r"));
		break;

		case '2':
			magstripePrintRaw(2);
			printf_P(PSTR("§\n\r"));
		break;

		case '3':
			magstripePrintRaw(3);
			printf_P(PSTR("§\n\r"));
		break;

		case '4':
			magstripeFlip();
			printf_P(PSTR("§\n\r"));
		break;

		case '5':
			magstripeDecode(1);
			printf_P(PSTR("%s§\n\r"),magstripeData);
		break;

		case '6':
			magstripeDecode(2);
			printf_P(PSTR("%s§\n\r"),magstripeData);
		break;

		case '7':
			magstripeDecode(3);
			printf_P(PSTR("%s§\n\r"),magstripeData);
		break;

		/* GPIO Commands */
		case 'p':
			userout(1,0);
			printf_P(PSTR("§\n\r"));
		break;

		case 'q':
			userout(2,0);
			printf_P(PSTR("§\n\r"));
		break;

		case 'r':
			userout(3,0);
			printf_P(PSTR("§\n\r"));
		break;

		case 'P':
			userout(1,1);
			printf_P(PSTR("§\n\r"));
		break;

		case 'Q':
			userout(2,1);
			printf_P(PSTR("§\n\r"));
		break;

		case 'R':
			userout(3,1);
			printf_P(PSTR("§\n\r"));
		break;


		case 'u':
			printf_P(PSTR("%i§\n\r"),userin(1));
		break;

		case 'v':
			printf_P(PSTR("%i§\n\r"),userin(2));
		break;

		case 'w':
			printf_P(PSTR("%i§\n\r"),userin(3));
		break;


		case 'x':
			userinPullup(1,0);
			printf_P(PSTR("§\n\r"));
		break;

		case 'y':
			userinPullup(2,0);
			printf_P(PSTR("§\n\r"));
		break;

		case 'z':
			userinPullup(3,0);
			printf_P(PSTR("§\n\r"));
		break;

		case 'X':
			userinPullup(1,1);
			printf_P(PSTR("§\n\r"));
		break;

		case 'Y':
			userinPullup(2,1);
			printf_P(PSTR("§\n\r"));
		break;

		case 'Z':
			userinPullup(3,1);
			printf_P(PSTR("§\n\r"));
		break;


		default:
			printf_P(PSTR("\n\r"),cmd);
		break;

	}
}