Пример #1
0
void
read_params(int argc, char* argv[], int * timesteps, gaspi_rank_t * numprocs_idle)
{
  int i;

  for (i = 1; i < argc; ++i)
    {
      if(ARG_IS("timesteps"))
	{
	  *timesteps = atoi(argv[++i]);
	  gaspi_printf("Timesteps: %d\n", *timesteps);
	}
		
      if(ARG_IS("numprocs_idle"))
	{
	  *numprocs_idle = atoi(argv[++i]);
	  gaspi_printf("numprocs_idle : %d\n", *numprocs_idle);
	}
    }
}
Пример #2
0
int main(int argc, char** argv)
{
    if (argc < 2) {
        fprintf(stderr, "Usage: %s [command]\n", argv[0]);
        exit(2);
    }

    uint64_t target = extract_target(argc, argv);
    // remove one from argc if the last argument is --target=
    int arg_count = argc - (argv[argc-1][0] == '-' ? 1 : 0);

    struct lifx_lan_sender s;
    lifx_lan_sender_init(&s);
    struct lifx_lan_light_color color;

    // device messages
    if (ARG_IS("get-service")) { lifx_lan_sender_device_get_service(&s); receive(); }
    else if (ARG_IS("get-host-info")) { lifx_lan_sender_device_get_host_info(&s, target); receive(); }
    else if (ARG_IS("get-host-firmware")) { lifx_lan_sender_device_get_host_firmware(&s, target); receive(); }
    else if (ARG_IS("get-wifi-info")) { lifx_lan_sender_device_get_wifi_info(&s, target); receive(); }
    else if (ARG_IS("get-wifi-firmware")) { lifx_lan_sender_device_get_wifi_firmware(&s, target); receive(); }
    else if (ARG_IS("get-power")) { lifx_lan_sender_device_get_power(&s, target); receive(); }
    else if (ARG_IS("set-power") && arg_count == 3)
    {
        char on_off = argv[2][0]; assert(on_off == '1' || on_off == '0');
        lifx_lan_sender_device_set_power(&s, target, on_off == '1');
    }
    else if (ARG_IS("get-label")) { lifx_lan_sender_device_get_label(&s, target); receive(); }
    else if (ARG_IS("set-label") && arg_count == 3) { lifx_lan_sender_device_set_label(&s, target, argv[2]); }
    else if (ARG_IS("get-version")) { lifx_lan_sender_device_get_version(&s, target); receive(); }
    else if (ARG_IS("get-info")) { lifx_lan_sender_device_get_info(&s, target); receive(); }
    else if (ARG_IS("get-location")) { lifx_lan_sender_device_get_location(&s, target); receive(); }
    else if (ARG_IS("get-group")) { lifx_lan_sender_device_get_group(&s, target); receive(); }
    else if (ARG_IS("echo-request"))
    {
        uint8_t buf[64];
        memset(buf, 0, sizeof(buf));
        memcpy(buf, "test echo request", 17);
        lifx_lan_sender_device_echo_request(&s, target, buf);
        receive();
    }

    // light messages
    else if (ARG_IS("get")) { lifx_lan_sender_light_get(&s, target); receive(); }
    else if (ARG_IS("set-color"))
    {
        assert(arg_count == 7); // bin/lifx-lan set-color h s b k duration
        lifx_lan_color_hsbk(&color, atoi(argv[2]), atoi(argv[3]), atoi(argv[4]), atoi(argv[5]));
        lifx_lan_sender_light_set_color(&s, target, &color, atoi(argv[6]));
    }
    else if (ARG_IS("get-power-light")) { lifx_lan_sender_light_get_power(&s, target); receive(); }
    else if (ARG_IS("set-power") && arg_count == 4)
    {
        char on_off = argv[2][0]; assert(on_off == '1' || on_off == '0');
        lifx_lan_sender_light_set_power(&s, target, on_off == '1', atoi(argv[3]));
    }

    else { fprintf(stderr, "Unrecognized command\n"); return 2; }

    lifx_lan_sender_uninit(&s);
    return 0;
}