コード例 #1
0
ファイル: ftdi.cpp プロジェクト: amuthelet/kondo
int Context::open(const std::string& description)
{
    int ret = ftdi_usb_open_string(d->ftdi, description.c_str());

    if (ret < 0)
       return ret;

    return get_strings_and_reopen();
}
コード例 #2
0
ファイル: tick.c プロジェクト: adityakamath/tick
int main(int argc, char *argv[])
{
	int ret;
	struct ftdi_context ftdic;
	struct adapter *adap;
	struct adapter_ops *ops;

	ops = &v2_ops;

	if (argc == 2 && (!strcmp(argv[1], "-h") || !strcmp(argv[1], "--help")))
		print_usage(argv[0]);

	if (ftdi_init(&ftdic) < 0) {
		fprintf(stderr, "ftdi_init failed\n");
		return EXIT_FAILURE;
	}

	ftdi_set_interface(&ftdic, ops->interface);

	if (argc > 1 && strchr(argv[1],':')) {
		ret = ftdi_usb_open_string(&ftdic, argv[1]);
		argv++;
		argc--;
	} else
		ret = ftdi_usb_open_desc(&ftdic, 0x0403, 0x6010, ops->desc, NULL);

	if (ret < 0) {
		fprintf(stderr, "unable to open ftdi device: %d (%s)\n", ret, ftdi_get_error_string(&ftdic));
		return EXIT_FAILURE;
	}

	adap = adapter_attach(&ftdic, ops, 0);
	if (!adap) {
		perror("attach");
		return EXIT_FAILURE;
	}

	if (argc < 2) {
		short shunt_v;
		int shunt_v_sh;
		unsigned int bus_v;
		double shunt;
		double bus;
		double r = 0.050;
		double current;
		double power;
		unsigned char cmdbuf[] = {1, 2};
		unsigned char msgbuf[2][2];
		struct i2c_msg msgs[] = {
			{ .addr = ADDR, .len = 1, .buf = cmdbuf },
			{ .addr = ADDR, .flags = I2C_M_RD, .len = 2, .buf = msgbuf[0] },