diff --git a/src/librf625.cpp b/src/librf625.cpp index b1da9c6079a59b66de6757bc4cf8e0c7df4792c7..d1860beba89fc5c2e7b3409bcf1443a8d8b6f32a 100644 --- a/src/librf625.cpp +++ b/src/librf625.cpp @@ -102,7 +102,7 @@ void rf625::cleanup() #endif } -std::vector> rf625::search(int time_ms) +rf625_list rf625::search(int time_ms) { const size_t buf_size = 268; const int recv_timeo = 250; @@ -112,7 +112,7 @@ std::vector> rf625::search(int time_ms) struct sockaddr_in recv_addr; struct sockaddr_in from_addr; socklen_t from_len; - std::vector> result; + rf625_list result; struct timeb start_t, now_t; int nret; register size_t i; @@ -1099,7 +1099,7 @@ void udpproc(rf625_profile profile) std::cout << "proc" << std::endl; std::cout << "mc " << profile.measure_cnt << " pc " << profile.packet_cnt << " "; std::cout << profile.points.size() << " points: ["; - for (register int j=0; j(profile.points.size()-3)) std::cout << "(" << profile.points.at(j).x << "," << profile.points.at(j).z << ")"; else if (j==2) @@ -1115,7 +1115,7 @@ void udpproc2(rf625_profile profile) std::cout << "sn " << profile.serial_number << " from " << inet_ntoa(in) << std::endl; } -int main(int argc, const char* argv[]) +int main() { t_assert(rf625::init(), "init"); std::cout << "Testing data on port 6003" << std::endl; @@ -1128,7 +1128,7 @@ int main(int argc, const char* argv[]) if (t_assert(test_dev.udp_get_result(profile), "udp_get_result")) { std::cout << "sn " << profile.serial_number << " mc " << profile.measure_cnt << " pc " << profile.packet_cnt << " "; std::cout << profile.points.size() << " points: ["; - for (register int j=0; j(profile.points.size()-3)) std::cout << "(" << profile.points.at(j).x << "," << profile.points.at(j).z << ")"; else if (j==2) @@ -1138,14 +1138,14 @@ int main(int argc, const char* argv[]) } } std::cout << "Searching" << std::endl; - rf625_info_list lst = rf625::search(3000); + auto lst = rf625::search(3000); rf625_parameters params; if (t_assert(lst.size() > 0, "search")) { std::cout << "Found " << lst.size() << std::endl; - rf625 dev(lst.at(0)); + auto dev = lst.at(0); std::cout << "TCP test" << std::endl; - if (t_assert(dev.connect(), "connect")) { - if (t_assert(dev.read_params(params), "read_params")) { + if (t_assert(dev->connect(), "connect")) { + if (t_assert(dev->read_params(params), "read_params")) { std::cout << "Current trigger " << (int)params.trigger << std::endl; // params.trigger = (params.trigger == max_frequency) ? external_input : max_frequency; // if (t_assert(dev.write_params(params), "write_params")) { @@ -1157,10 +1157,10 @@ int main(int argc, const char* argv[]) for (register int i=0; i<110; i++) { if (i<100) { - if (t_assert(dev.get_result(profile), "get_result")) { + if (t_assert(dev->get_result(profile), "get_result")) { std::cout << "mc " << profile.measure_cnt << " pc " << profile.packet_cnt << " "; std::cout << profile.points.size() << " points: ["; - for (register int j=0; j(profile.points.size()-3)) std::cout << "(" << profile.points.at(j).x << "," << profile.points.at(j).z << ")"; else if (j==2) @@ -1171,7 +1171,7 @@ int main(int argc, const char* argv[]) } else { - if (t_assert(dev.get_image(ppixmap), "get_image")) { + if (t_assert(dev->get_image(ppixmap), "get_image")) { //std::string file_name = "image_" + std::to_string(i) + ".bmp"; } } @@ -1179,15 +1179,15 @@ int main(int argc, const char* argv[]) delete[] ppixmap; } } - t_assert(dev.disconnect(), "disconnect"); + t_assert(dev->disconnect(), "disconnect"); } std::cout << "UDP test" << std::endl; rf625_profile profile; for (register int i=0; i<110; i++) { - if (t_assert(dev.udp_get_result(profile), "udp_get_result")) { + if (t_assert(dev->udp_get_result(profile), "udp_get_result")) { std::cout << "mc " << profile.measure_cnt << " pc " << profile.packet_cnt << " "; std::cout << profile.points.size() << " points: ["; - for (register int j=0; j(profile.points.size()-3)) std::cout << "(" << profile.points.at(j).x << "," << profile.points.at(j).z << ")"; else if (j==2) @@ -1199,16 +1199,16 @@ int main(int argc, const char* argv[]) std::cout << "Testing thread" << std::endl; params.laser_enable = false; params.laser_level = 10; - dev.uc_write_params(8014, params, Laser_Enable); - dev.udp_register_callback(udpproc); + dev->uc_write_params(8014, params, Laser_Enable); + dev->udp_register_callback(udpproc); std::this_thread::sleep_for(std::chrono::milliseconds(500)); params.laser_enable = true; params.laser_level = 255; - dev.uc_write_params(8014, params, Laser_Enable|Laser_Level); + dev->uc_write_params(8014, params, Laser_Enable|Laser_Level); std::this_thread::sleep_for(std::chrono::milliseconds(1500)); - dev.udp_register_callback(udpproc2); + dev->udp_register_callback(udpproc2); std::this_thread::sleep_for(std::chrono::milliseconds(2000)); - dev.udp_unregister_callback(); + dev->udp_unregister_callback(); } rf625::cleanup(); std::cout << std::endl << "Finished, rc=" << t_rc << std::endl; diff --git a/src/librf625.h b/src/librf625.h index 662007b7213afa0ac470141e855087d428271f41..680a7a689aad46ce8056125be1a76265538b18e3 100644 --- a/src/librf625.h +++ b/src/librf625.h @@ -182,6 +182,9 @@ struct rf625_profile uint16_t z_range; //!< Range of Z, mm }; +class rf625; +typedef std::vector> rf625_list; + typedef void (*rf625_udp_proc)(rf625_profile profile); class RF625_API rf625 @@ -200,7 +203,7 @@ public: * \param ntime : search time in milliseconds * \return list of s_rf625_info structures for each of instances found */ - static std::vector> search(int time_ms); + static rf625_list search(int time_ms); /*! rf625 constructor * \param info : rf625_info structure */