コード例 #1
0
ファイル: tracking.c プロジェクト: TrampolineRTOS/trampoline
void com_cmd_analogRead(int argc, char **argv)
{
	uint16 val;
	char num[32];

	// arm_uint2hexstr(num, argc);
	// arm_puts("com_cmd_analogRead : ");
	// arm_puts(num);
	// arm_puts("\n");

	if (argc != 4) {
		arm_puts ("analogRead: need 2 parameters\n");
	} else {
		if (arm_strcmp(argv[2], "A0") == 0) {
			// Valeur dans argv[2]
			arm_puts("A0 ");
			// val = arm_str2int(argv[3]);
			// arm_uint2hexstr(num, val);
			// arm_puts(num);
			// arm_puts("\n");
			lights[0] = (int)*argv[3];
			arm_uint2hexstr(num, lights[0]);
			arm_puts(num);
			arm_puts("\n");
		} else if (arm_strcmp(argv[2], "A1") == 0) {
			// Valeur dans argv[2]
			arm_puts("A1 ");
			// val = arm_str2int(argv[3]);
			// arm_uint2hexstr(num, val);
			// arm_puts(num);
			// arm_puts("\n");
			lights[1] = (int)*argv[3];
			arm_uint2hexstr(num, lights[1]);
			arm_puts(num);
			arm_puts("\n");
		} else {
			arm_puts ("analogRead: parameter 1 unknown\n");
		}
	}
}
コード例 #2
0
ファイル: dhry_port.c プロジェクト: nmaiti/xvisor
int dhry_strcmp(char *dst, char *src)
{
	return arm_strcmp(dst, src);
}
コード例 #3
0
ファイル: arm_main.c プロジェクト: CoryXie/xvisor
void arm_exec(char *line)
{
	int argc = 0, pos = 0, cnt = 0;
	char *argv[ARM_MAX_ARG_SIZE];

	while (line[pos] && (argc < ARM_MAX_ARG_SIZE)) {
		if ((line[pos] == '\r') ||
		    (line[pos] == '\n')) {
			line[pos] = '\0';
			break;
		}
		if (line[pos] == ' ') {
			if (cnt > 0) {
				line[pos] = '\0';
				cnt = 0;
			}
		} else {
			if (cnt == 0) {
				argv[argc] = &line[pos];
				argc++;
			}
			cnt++;
		}
		pos++;
	}

	if (argc) {
		if (arm_strcmp(argv[0], "help") == 0) {
			arm_cmd_help(argc, argv);
		} else if (arm_strcmp(argv[0], "hi") == 0) {
			arm_cmd_hi(argc, argv);
		} else if (arm_strcmp(argv[0], "hello") == 0) {
			arm_cmd_hello(argc, argv);
		} else if (arm_strcmp(argv[0], "wfi_test") == 0) {
			arm_cmd_wfi_test(argc, argv);
#if 0
		} else if (arm_strcmp(argv[0], "mmu_setup") == 0) {
			arm_cmd_mmu_setup(argc, argv);
#endif
		} else if (arm_strcmp(argv[0], "mmu_state") == 0) {
			arm_cmd_mmu_state(argc, argv);
#if 0
		} else if (arm_strcmp(argv[0], "mmu_test") == 0) {
			arm_cmd_mmu_test(argc, argv);
#endif
		} else if (arm_strcmp(argv[0], "mmu_cleanup") == 0) {
			arm_cmd_mmu_cleanup(argc, argv);
		} else if (arm_strcmp(argv[0], "timer") == 0) {
			arm_cmd_timer(argc, argv);
		} else if (arm_strcmp(argv[0], "dhrystone") == 0) {
			arm_cmd_dhrystone(argc, argv);
		} else if (arm_strcmp(argv[0], "hexdump") == 0) {
			arm_cmd_hexdump(argc, argv);
		} else if (arm_strcmp(argv[0], "copy") == 0) {
			arm_cmd_copy(argc, argv);
		} else if (arm_strcmp(argv[0], "start_linux") == 0) {
			arm_cmd_start_linux(argc, argv);
		} else if (arm_strcmp(argv[0], "linux_cmdline") == 0) {
			arm_cmd_linux_cmdline(argc, argv);
		} else if (arm_strcmp(argv[0], "linux_memory_size") == 0) {
			arm_cmd_linux_memory_size(argc, argv);
		} else if (arm_strcmp(argv[0], "autoexec") == 0) {
			arm_cmd_autoexec(argc, argv);
		} else if (arm_strcmp(argv[0], "go") == 0) {
			arm_cmd_go(argc, argv);
		} else if (arm_strcmp(argv[0], "reset") == 0) {
			arm_cmd_reset(argc, argv);
		} else {
			arm_puts("Unknown command\n");
		}
	}
}
コード例 #4
0
ファイル: tracking.c プロジェクト: TrampolineRTOS/trampoline
void com_exec(T_txBuffer *buffer)
{
	int argc = 0, pos = 0, cnt = 0;
	char *argv[ARM_MAX_ARG_SIZE];
	char *data;
	char num[32];

	while (pos < buffer->index && (argc < ARM_MAX_ARG_SIZE)) {
		// arm_puts("car : ");
		num[0] = buffer->data[pos];
		// arm_board_serial_putc(num[0]);
		// arm_puts("\n");
		if ((buffer->data[pos] == '\r') ||
		    (buffer->data[pos] == '\n')) {
			buffer->data[pos] = '\0';
			break;
		}
		if (buffer->data[pos] == ' ') {
			if (cnt > 0) {
				buffer->data[pos] = '\0';
				cnt = 0;
			}
		} else {
			if (cnt == 0) {
				argv[argc] = &buffer->data[pos];
				argc++;
			}
			cnt++;
		}
		pos++;
	}

	// arm_puts("argv : \n");
	// for (int i=0; i<argc; i++) {
	// 	arm_uint2hexstr(num, i);
	// 	arm_puts(num);
	// 	arm_puts(" : ");
	// 	arm_puts(argv[i]);
	// 	arm_puts("\n");
	// }
	if (argc > 0) {
		// arm_puts("buffer : ");
		// arm_puts(buffer->data);
		// arm_puts("\n");

		if (arm_strcmp(argv[1], "analogRead") == 0) {
			com_cmd_analogRead(argc, argv);
		} else {
			arm_puts("Unknown command : ");
			arm_uint2hexstr(num, argc);
			arm_puts(num);
			arm_puts(" : ");
			arm_puts(argv[0]);
			arm_puts(" : ");
			arm_puts(argv[1]);
			arm_puts(" : ");
			arm_puts(argv[2]);
			arm_puts("\n");
		}
		for (pos = 0; pos < buffer->index; pos++) {
			buffer->data[pos] = '\0';
		}
		buffer->index = 0;
	}
}