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); } } }
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; }