iSpike
2.1
Spike conversion library for robotics
|
00001 #ifndef JOINTOUTPUTCHANNEL_HPP_ 00002 #define JOINTOUTPUTCHANNEL_HPP_ 00003 00004 #include <iSpike/Channel/OutputChannel/OutputChannel.hpp> 00005 #include <iSpike/Writer/AngleWriter.hpp> 00006 #include <iSpike/Log/Log.hpp> 00007 00008 #include <string> 00009 #include <vector> 00010 00011 namespace ispike { 00012 00014 class JointOutputChannel : public OutputChannel { 00015 public: 00016 JointOutputChannel(); 00017 virtual ~JointOutputChannel(); 00018 void initialize(Writer* writer, map<string,Property>& properties); 00019 void setFiring(const std::vector<unsigned>& buffer); 00020 void setProperties(map<string, Property>& properties); 00021 void step(); 00022 00023 00024 protected: 00025 void updateProperties(map<string, Property>& properties); 00026 00027 00028 private: 00030 AngleWriter* writer; 00031 00033 double minAngle; 00034 00036 double maxAngle; 00037 00039 double rateOfDecay; 00040 00042 std::vector<double> currentVariables; 00043 00045 std::vector<double> currentVariableAngles; 00046 00048 double currentIncrement; 00049 }; 00050 00051 } 00052 00053 #endif /* JOINTOUTPUTCHANNEL_HPP_ */