00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __GCODE_RECEIVER__
00019 #define __GCODE_RECEIVER__
00020
00021
00022 #include <rtt/RTT.hpp>
00023 #include <rtt/TaskContext.hpp>
00024 #include <rtt/Ports.hpp>
00025 #include <rtt/Properties.hpp>
00026 #include <rtt/Command.hpp>
00027 #include <rtt/Method.hpp>
00028
00029 #include <kdl/frames.hpp>
00030
00031 namespace OCL
00032 {
00033
00034 class gcodeReceiver : public RTT::TaskContext
00035 {
00036 public:
00038 gcodeReceiver(std::string name);
00039
00041 virtual~gcodeReceiver();
00042
00043 virtual bool configureHook();
00044 virtual bool startHook();
00045 virtual void updateHook();
00046 virtual void stopHook();
00047
00048 private:
00049
00050 RTT::Property<int> port_prop;
00051 RTT::Attribute<KDL::Frame> initial_pos;
00052
00053
00054 RTT::DataPort<KDL::Frame> cart_pos;
00055
00056
00057 KDL::Frame f;
00058 char buffer[256];
00059 int newsockfd;
00060 int sockfd;
00061 double data[6];
00062 bool received;
00063
00064 };
00065 }
00066
00067 #endif