staticMode.h
Go to the documentation of this file.
00001 /*
00002  * Copyright 2017 Fraunhofer Institute for Manufacturing Engineering and Automation (IPA)
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *   http://www.apache.org/licenses/LICENSE-2.0
00009 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 
00018 #ifndef STATICMODE_H
00019 #define STATICMODE_H
00020 
00021 #include <mode.h>
00022 
00023 class StaticMode : public Mode
00024 {
00025 public:
00026     StaticMode(color::rgba color, int priority = 0, double freq = 0, int pulses = 0, double timeout = 0)
00027         :Mode(priority, freq, pulses, timeout), _timer_inc(0)
00028     {
00029         _color = color;
00030         _inc = (1. / UPDATE_RATE_HZ) * _freq;
00031     }
00032 
00033     void execute()
00034     {
00035         if(_timer_inc == 0.0)
00036             m_sigColorReady(_color);
00037         if(_timer_inc >= 1.0)
00038             _timer_inc = 0.0;
00039         else
00040             _timer_inc += _inc;
00041     }
00042 
00043     std::string getName(){ return std::string("StaticMode"); }
00044 
00045 private:
00046     double _timer_inc;
00047     double _inc;
00048 };
00049 
00050 #endif


cob_light
Author(s): Benjamin Maidel
autogenerated on Sat Jun 8 2019 21:02:07