Projects
domecam:swift
domecam
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 22
View file
domecam.changes
Changed
@@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Fri May 6 13:55:33 UTC 2022 - Matwey V. Kornilov <matwey@sai.msu.ru> + +- Version 0.1.7 + +------------------------------------------------------------------- Tue Apr 12 18:42:11 UTC 2022 - Matwey V. Kornilov <matwey@sai.msu.ru> - Version 0.1.6
View file
_service
Changed
@@ -3,7 +3,7 @@ <param name="url">http://curl.sai.msu.ru/hg/home/matwey/domecam/</param> <param name="scm">hg</param> <param name="versionformat">{latesttag}</param> - <param name="revision">0.1.6</param> + <param name="revision">0.1.7</param> </service> <service name="tar" mode="buildtime" /> <service name="recompress" mode="buildtime">
View file
domecam-0.1.6.obscpio/.hgtags -> domecam-0.1.7.obscpio/.hgtags
Changed
@@ -4,3 +4,4 @@ 02ff28d26953387cf82a03f8fd1c65efd070aae1 0.1.3 bed3c493a6fd64ba8f0929b8ad56ab51144628f6 0.1.4 8e510d8d9774e21cdbf83dd82d7b029285889ae4 0.1.5 +3f19208b6ac21b2b2776f064440fb20d5f99170b 0.1.6
View file
domecam-0.1.6.obscpio/CMakeLists.txt -> domecam-0.1.7.obscpio/CMakeLists.txt
Changed
@@ -1,5 +1,5 @@ cmake_minimum_required (VERSION 3.5) -project(domecam LANGUAGES C CXX VERSION 0.1.6) +project(domecam LANGUAGES C CXX VERSION 0.1.7) set(CMAKE_CXX_STANDARD 11)
View file
domecam-0.1.6.obscpio/exe/carriage.cpp -> domecam-0.1.7.obscpio/exe/carriage.cpp
Changed
@@ -10,6 +10,8 @@ #include <string> #include <thread> +#include <boost/optional.hpp> + #include <application.h> #include <carriage.h> #include <executor.h> @@ -44,21 +46,6 @@ constexpr const char application::camera_opt[]; constexpr const char application::device_opt[]; -class carriage_home_executor: public carriage_executor { -private: - class runner: public carriage_executor::runner { - public: - runner(const carriage_home_executor& e, abstract_carriage& c); - - void run(); - }; -public: - carriage_home_executor(); - - virtual executor_result run(abstract_carriage& c) const override; - virtual ~carriage_home_executor() override = default; -}; - class carriage_mask_executor: public carriage_executor { private: class runner: public carriage_executor::runner { @@ -179,7 +166,7 @@ int application::do_run(const boost::program_options::variables_map& va, abstract_carriage& c) { if (va.count(home_opt)) { - carriage_home_executor executor_; + carriage_home_executor executor_(boost::none); executor_.run(c); } else if (va.count(mask_opt)) { carriage_mask_executor executor_(va[mask_opt].as<std::uint16_t>()); @@ -191,12 +178,10 @@ carriage_axis_executor executor_(va[axis_opt].as<std::uint16_t>()); executor_.run(c); } else if (va.count(run_opt)) { - const auto axis{c.status() & abstract_carriage::status_t::axis ? std::uint16_t{1} : std::uint16_t{0}}; - carriage_run_executor executor_(axis, va[run_opt].as<std::int16_t>()); + carriage_run_executor executor_(boost::none, va[run_opt].as<std::int16_t>()); executor_.run(c); } else if (va.count(track_opt)) { - const auto axis{c.status() & abstract_carriage::status_t::axis ? std::uint16_t{1} : std::uint16_t{0}}; - carriage_track_executor executor_(axis, carriage::direction::cw); + carriage_track_executor executor_(boost::none, carriage::direction::cw); executor_.run(c); } else if (va.count(speed_opt)) { carriage_speed_executor executor_(va[speed_opt].as<std::uint16_t>()); @@ -209,26 +194,6 @@ return 0; } -carriage_home_executor::carriage_home_executor(): - carriage_executor() { -} - -executor_result carriage_home_executor::run(abstract_carriage& c) const { - runner r(*this, c); - - r.run(); - - return {}; -} - -carriage_home_executor::runner::runner(const carriage_home_executor& e, abstract_carriage& c): - carriage_executor::runner(c) { -} - -void carriage_home_executor::runner::run() { - c_.home(); -} - carriage_mask_executor::carriage_mask_executor(std::uint16_t mask): carriage_executor(), mask_(mask) {
View file
domecam-0.1.6.obscpio/include/executor/carriage.h -> domecam-0.1.7.obscpio/include/executor/carriage.h
Changed
@@ -7,18 +7,20 @@ #ifndef _EXECUTOR_CARRIAGE_H #define _EXECUTOR_CARRIAGE_H +#include <boost/optional.hpp> + #include <executorfwd.h> class carriage_track_executor: public carriage_executor { private: - const std::uint16_t axis_; + const boost::optional<std::uint16_t> axis_; const abstract_carriage::direction direction_; struct runner; public: - carriage_track_executor(std::uint16_t axis, abstract_carriage::direction d); + carriage_track_executor(const boost::optional<std::uint16_t>& axis, abstract_carriage::direction d); virtual executor_result run(abstract_carriage& c) const override; virtual ~carriage_track_executor() override = default; @@ -27,15 +29,28 @@ class carriage_run_executor: public carriage_executor { private: - const std::uint16_t axis_; + const boost::optional<std::uint16_t> axis_; const std::int16_t absolute_pos_; struct runner; public: - explicit carriage_run_executor(std::uint16_t axis, std::int16_t absolute_pos); + carriage_run_executor(const boost::optional<std::uint16_t>& axis, std::int16_t absolute_pos); virtual executor_result run(abstract_carriage& c) const override; virtual ~carriage_run_executor() override = default; }; +class carriage_home_executor: + public carriage_executor { +private: + const boost::optional<std::uint16_t> axis_; + + struct runner; +public: + explicit carriage_home_executor(const boost::optional<std::uint16_t>& axis); + + virtual executor_result run(abstract_carriage& c) const override; + virtual ~carriage_home_executor() override = default; +}; + #endif // _EXECUTOR_CARRIAGE_H
View file
domecam-0.1.6.obscpio/include/io.h -> domecam-0.1.7.obscpio/include/io.h
Changed
@@ -178,6 +178,9 @@ return std::unique_ptr<executor>{new carriage_track_executor( pt.get<std::uint16_t>("axis"), load<abstract_carriage::direction>(pt.get_child("direction")))}; + } else if (type == "carriage_home") { + return std::unique_ptr<executor>{new carriage_home_executor( + pt.get<std::uint16_t>("axis"))}; } throw std::runtime_error(std::string("Unknown executor type ") + type);
View file
domecam-0.1.6.obscpio/src/executor/carriage.cpp -> domecam-0.1.7.obscpio/src/executor/carriage.cpp
Changed
@@ -23,12 +23,14 @@ } void carriage_track_executor::runner::run() { - c_.axis(executor_.axis_); + if (executor_.axis_) { + c_.axis(*executor_.axis_); + } c_.sync_track(executor_.direction_); } -carriage_track_executor::carriage_track_executor(std::uint16_t axis, abstract_carriage::direction d): +carriage_track_executor::carriage_track_executor(const boost::optional<std::uint16_t>& axis, abstract_carriage::direction d): carriage_executor(), axis_{axis}, direction_{d} { @@ -59,12 +61,14 @@ } void carriage_run_executor::runner::run() { - c_.axis(executor_.axis_); + if (executor_.axis_) { + c_.axis(*executor_.axis_); + } c_.sync_run_absolute(executor_.absolute_pos_); } -carriage_run_executor::carriage_run_executor(std::uint16_t axis, std::int16_t absolute_pos): +carriage_run_executor::carriage_run_executor(const boost::optional<std::uint16_t>& axis, std::int16_t absolute_pos): carriage_executor(), axis_(axis), absolute_pos_(absolute_pos) { @@ -74,6 +78,43 @@ runner r(*this, c); r.run(); + + return {}; +} + + +struct carriage_home_executor::runner: + public carriage_executor::runner { + + const carriage_home_executor& executor_; + + runner(const carriage_home_executor& e, abstract_carriage& c); + + void run(); +}; + + +carriage_home_executor::runner::runner(const carriage_home_executor& e, abstract_carriage& c): + carriage_executor::runner(c), + executor_{e} { +} + +void carriage_home_executor::runner::run() { + if (executor_.axis_) { + c_.axis(*executor_.axis_); + } + c_.home(); +} + +carriage_home_executor::carriage_home_executor(const boost::optional<std::uint16_t>& axis): + carriage_executor(), + axis_(axis) { +} + +executor_result carriage_home_executor::run(abstract_carriage& c) const { + runner r(*this, c); + + r.run(); return {}; }
View file
domecam.obsinfo
Changed
@@ -1,3 +1,3 @@ name: domecam -version: 0.1.6 -mtime: 1649788803 +version: 0.1.7 +mtime: 1651845130
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.