From 50650380dedd160121c199cdb399e590a61c7e52 Mon Sep 17 00:00:00 2001 From: Aki Date: Mon, 6 Jun 2022 18:55:52 +0200 Subject: Renamed sinewave example to simply sinewave --- examples/sinewave/CMakeLists.txt | 8 ++-- examples/sinewave/sinewave.cpp | 70 ++++++++++++++++++++++++++++++++++ examples/sinewave/sinewave_example.cpp | 70 ---------------------------------- 3 files changed, 74 insertions(+), 74 deletions(-) create mode 100644 examples/sinewave/sinewave.cpp delete mode 100644 examples/sinewave/sinewave_example.cpp (limited to 'examples') diff --git a/examples/sinewave/CMakeLists.txt b/examples/sinewave/CMakeLists.txt index 7d01da4..9c851c9 100644 --- a/examples/sinewave/CMakeLists.txt +++ b/examples/sinewave/CMakeLists.txt @@ -1,9 +1,9 @@ cmake_minimum_required(VERSION 3.10) -project(sinewave_example CXX) -add_executable(sinewave_example "sinewave_example.cpp") +project(sinewave CXX) +add_executable(sinewave sinewave.cpp) find_package(Hwd QUIET) if(Hwd_FOUND) - target_link_libraries(sinewave_example Hwd::library) + target_link_libraries(sinewave Hwd::library) else() - target_link_libraries(sinewave_example library) + target_link_libraries(sinewave library) endif() diff --git a/examples/sinewave/sinewave.cpp b/examples/sinewave/sinewave.cpp new file mode 100644 index 0000000..afffc82 --- /dev/null +++ b/examples/sinewave/sinewave.cpp @@ -0,0 +1,70 @@ +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + + +volatile sig_atomic_t keep_running {1}; + + +void termination_handler(int signum) +{ + keep_running = false; +} + + +using seconds = std::chrono::duration; +using Clock = std::chrono::high_resolution_clock; + + +int main(int argc, char* argv[]) +{ + struct sigaction int_action; + + int_action.sa_handler = termination_handler; + sigemptyset(&int_action.sa_mask); + int_action.sa_flags = 0; + sigaction(SIGINT, &int_action, NULL); + + seconds interval{ 0.01 }; + int i = 0; + int samples = 0; + int opt = 0; + + try { + while ((opt = getopt(argc, argv, "n:i:")) != -1) { + switch (opt) { + case 'i': + interval = seconds{ std::stod(optarg) }; + break; + case 'n': + samples = std::stoi(optarg); + break; + default: + std::cerr << "Usage: " << argv[0] << " [-i interval][-n samples]" << std::endl; + return 1; + } + } + } + catch (const std::invalid_argument& ia) { + std::cerr << "Invalid argument: " << ia.what() << std::endl; + return 1; + } + + while (keep_running) { + if (i >= samples) break; + i++; + const auto endTime = Clock::now() + interval; + std::cout << hwd::sinewave::get_point() << std::endl; + std::this_thread::sleep_until(endTime); + } + + return 0; +} diff --git a/examples/sinewave/sinewave_example.cpp b/examples/sinewave/sinewave_example.cpp deleted file mode 100644 index afffc82..0000000 --- a/examples/sinewave/sinewave_example.cpp +++ /dev/null @@ -1,70 +0,0 @@ -#include -#include - -#include -#include -#include -#include -#include -#include - -#include - - -volatile sig_atomic_t keep_running {1}; - - -void termination_handler(int signum) -{ - keep_running = false; -} - - -using seconds = std::chrono::duration; -using Clock = std::chrono::high_resolution_clock; - - -int main(int argc, char* argv[]) -{ - struct sigaction int_action; - - int_action.sa_handler = termination_handler; - sigemptyset(&int_action.sa_mask); - int_action.sa_flags = 0; - sigaction(SIGINT, &int_action, NULL); - - seconds interval{ 0.01 }; - int i = 0; - int samples = 0; - int opt = 0; - - try { - while ((opt = getopt(argc, argv, "n:i:")) != -1) { - switch (opt) { - case 'i': - interval = seconds{ std::stod(optarg) }; - break; - case 'n': - samples = std::stoi(optarg); - break; - default: - std::cerr << "Usage: " << argv[0] << " [-i interval][-n samples]" << std::endl; - return 1; - } - } - } - catch (const std::invalid_argument& ia) { - std::cerr << "Invalid argument: " << ia.what() << std::endl; - return 1; - } - - while (keep_running) { - if (i >= samples) break; - i++; - const auto endTime = Clock::now() + interval; - std::cout << hwd::sinewave::get_point() << std::endl; - std::this_thread::sleep_until(endTime); - } - - return 0; -} -- cgit v1.1