int main(int argc, char **argv) { if (!strcmp(argv[2], "write_g")) { write_g(argv[1], argv[3], argv[4], argv[5]); } else if (!strcmp(argv[2], "write")) { if (argc == 4) { write_msg(argv[1], argv[3]); } else { write_msg(argv[1], NULL); } } else if(!strcmp(argv[2], "read")) { read_msg(argv[1]); } else if(!strcmp(argv[2], "thread")){ pthread_t read_t; int ret = 0; ret = pthread_create(&read_t, NULL, read_canbus, NULL); if (ret != 0){ fprintf(stderr, "Creat pthread error!\n"); exit(-EINVAL); } pthread_join(read_t, NULL); } else if(!strcmp(argv[2], "wiki")){ wiki(argc, argv); } fprintf(stderr, "Main thread finished!\n"); return 0; }
bool Color::write(yarp::os::idl::WireWriter& writer) { if (!write_r(writer)) return false; if (!write_g(writer)) return false; if (!write_b(writer)) return false; return !writer.isError(); }