/* * Solenoid.cpp * * Created on: Aug 2, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "Solenoid.h" #include namespace flippR_driver { namespace output { namespace items { Solenoid::Solenoid(std::shared_ptr output_gpio_interface, uint8_t address, std::string name, std::chrono::milliseconds deactivation_time): Item(output_gpio_interface, address, name), deactivation_time(deactivation_time) {} void Solenoid::triggerTask() { gpio_interface->activate(this); std::this_thread::sleep_for(deactivation_time); gpio_interface->deactivate(this); } void Solenoid::trigger() { this->trigger_task = std::async(std::launch::async, &Solenoid::triggerTask, this); } } } /* namespace output */ }