FACT++  1.0
ConnectionDrive Class Reference
+ Inheritance diagram for ConnectionDrive:
+ Collaboration diagram for ConnectionDrive:

Classes

struct  SDO
 
struct  Timeout_t
 

Public Member Functions

virtual void UpdateSource (const string &="", bool=false)
 
virtual void UpdateSource (const array< double, 6 > &, const string &="")
 
double GetDevAbs (double nomzd, double meszd, double devaz)
 
void ProcessDriveStatus (const string &line)
 
bool ProcessStargReport (const string &line)
 
bool ProcessTpointReport (const string &line)
 
bool ProcessDriveReport (const string &line)
 
 ConnectionDrive (ba::io_service &ioservice, MessageImp &imp)
 
void SetVerbose (bool b)
 
void SetDeviationCondition (uint16_t limit, uint16_t counter, uint16_t max)
 
int GetState () const
 
virtual void UpdatePointing (const Time &, const array< double, 2 > &)
 
virtual void UpdateTracking (const Time &, const array< double, 12 > &)
 
virtual void UpdateStatus (const Time &, const array< uint8_t, 3 > &)
 
virtual void UpdateTPoint (const Time &, const DimTPoint &, const string &)
 
virtual void UpdateSource (const Time &, const string &, bool)
 
virtual void UpdateSource (const Time &, const array< double, 5 > &, const string &="")
 
 ConnectionDrive (ba::io_service &ioservice, MessageImp &imp)
 
void SetVerbosity (const uint16_t &v)
 
uint16_t GetVerbosity () const
 
void RequestSdo (uint8_t node, uint16_t idx, uint8_t subidx=0)
 
void SendSdo (uint8_t node, uint16_t idx, uint8_t subidx, uint32_t val)
 
void SendSdo (uint8_t node, uint16_t idx, uint32_t val)
 
bool IsMoving () const
 
bool IsInitialized () const
 
bool HasError () const
 
bool IsOnline () const
 
bool IsReady () const
 
bool IsBlocked () const
 
Encoder GetSePos () const
 
double GetSeTime () const
 
Encoder GetVelUnit () const
 
void SetRpmMode (bool mode)
 
void SetAcceleration (const Acceleration &acc)
 
void SetPointingVelocity (const Velocity &vel, double scale=1)
 
void SetTrackingVelocity (const Velocity &vel)
 
void StartAbsolutePositioning (const Encoder &enc, bool zd, bool az)
 
void SetLedVoltage (const uint32_t &v1, const uint32_t &v2)
 
- Public Member Functions inherited from Connection
void SetLogStream (MessageImp *log)
 
std::ostream & Out ()
 
void AsyncRead (const boost::asio::mutable_buffers_1 buffers, int type=0)
 
void AsyncWrite (const boost::asio::const_buffers_1 &buffers)
 
template<class T >
void AsyncWaitImp (boost::asio::deadline_timer &timer, int millisec, void(T::*handler)(const boost::system::error_code &))
 
void AsyncWait (boost::asio::deadline_timer &timer, int millisec, void(Connection::*handler)(const boost::system::error_code &))
 
 Connection (boost::asio::io_service &io_service, std::ostream &out)
 
void SetEndpoint (const std::string &addr, int port)
 
void SetEndpoint (const std::string &addr, const std::string &port)
 
void SetEndpoint (const std::string &addr)
 
void SetEndpoint (const boost::asio::ip::tcp::endpoint &ep)
 
virtual void StartConnect ()
 
void PostClose (bool restart=true)
 
void PostMessage (const void *msg, size_t s=0)
 
void PostMessage (const std::string &cmd, size_t s=-1)
 
template<typename T , size_t N>
void PostMessage (const std::array< T, N > &msg)
 
template<typename T >
void PostMessage (const std::vector< T > &msg)
 
virtual void HandleReadTimeout (const boost::system::error_code &)
 
bool IsTxQueueEmpty () const
 
int IsClosed () const
 
bool IsDisconnected () const
 
bool IsConnected () const
 
bool IsConnecting () const
 
void SetVerbose (bool b=true)
 
void SetDebugTx (bool b=true)
 
std::string URL () const
 
const boost::asio::ip::tcp::endpoint & GetEndpoint () const
 
- Public Member Functions inherited from MessageImp
 MessageImp (std::ostream &out=std::cout)
 
virtual ~MessageImp ()
 
virtual void IndicateStateChange (const Time &, const std::string &)
 
void StateChanged (const Time &time, const std::string &server, const std::string &msg, int state)
 
int Update (const std::string &txt, int severity=kMessage)
 
int Update (const char *txt, int severity=kMessage)
 
int Update (const std::ostringstream &str, int severity=kMessage)
 
int Debug (const std::string &str)
 
int Message (const std::string &str)
 
int Info (const std::string &str)
 
int Warn (const std::string &str)
 
int Error (const std::string &str)
 
int Alarm (const std::string &str)
 
int Fatal (const std::string &str)
 
int Comment (const std::string &str)
 
int Debug (const char *txt)
 
int Message (const char *txt)
 
int Info (const char *txt)
 
int Warn (const char *txt)
 
int Error (const char *txt)
 
int Alarm (const char *txt)
 
int Fatal (const char *txt)
 
int Comment (const char *txt)
 
int Debug (const std::ostringstream &str)
 
int Message (const std::ostringstream &str)
 
int Info (const std::ostringstream &str)
 
int Warn (const std::ostringstream &str)
 
int Alarm (const std::ostringstream &str)
 
int Error (const std::ostringstream &str)
 
int Fatal (const std::ostringstream &str)
 
int Comment (const std::ostringstream &str)
 
std::ostream & operator() () const
 
std::ostream & Out () const
 
virtual bool MessageQueueEmpty () const
 

Static Public Member Functions

static Time ReadTime (istream &in)
 
static double ReadAngle (istream &in)
 

Public Attributes

uint16_t fDeviationLimit
 
uint16_t fDeviationCounter
 
uint16_t fDeviationMax
 
vector< double > fDevBuffer
 
uint64_t fDevCount
 
uint64_t fTrackingCounter
 
Time fPdoTime2 [2]
 

Static Public Attributes

static const uint16_t kMaxAddr
 

Protected Member Functions

void HandleReceivedReport (const boost::system::error_code &err, size_t bytes_received)
 
void StartReadReport ()
 
void KeepAlive ()
 
void HandleKeepAlive (const bs::error_code &error)
 

Protected Attributes

map< uint16_t, int > fCounter
 
ba::streambuf fBuffer
 
boost::asio::deadline_timer fKeepAlive
 
- Protected Attributes inherited from Connection
boost::asio::deadline_timer fInTimeout
 

Private Types

enum  NodeId_t { kNodeAz = 1, kNodeZd = 3 }
 
enum  {
  kRxNodeguard = 0xe, kRxPdo1 = 3, kRxPdo2 = 5, kRxPdo3 = 7,
  kRxPdo4 = 9, kRxSdo = 0xb, kRxSdo4 = 0x40|0x3, kRxSdo2 = 0x40|0xb,
  kRxSdo1 = 0x40|0xf, kRxSdoOk = 0x60, kRxSdoErr = 0x80, kTxSdo = 0x40,
  kTxSdo4 = 0x20|0x3, kTxSdo2 = 0x20|0xb, kTxSdo1 = 0x20|0xf
}
 
enum  Index_t {
  kReqArmed = 0x1000, kReqPDO = 0x1001, kReqErrStat = 0x1003, kReqSoftVer = 0x100a,
  kReqKeepAlive = 0x100b, kReqVel = 0x2002, kReqVelRes = 0x6002, kReqVelMax = 0x6003,
  kReqPos = 0x6004, kReqPosRes = 0x6501, kSetArmed = 0x1000, kSetPointVel = 0x2002,
  kSetAcc = 0x2003, kSetRpmMode = 0x3006, kSetTrackVel = 0x3007, kSetLedVoltage = 0x4000,
  kSetPosition = 0x6004
}
 
enum  {
  kUpsAlarm = 0x01, kUpsBattery = 0x02, kUpsCharging = 0x04, kEmergencyOk = 0x10,
  kOvervoltOk = 0x20, kManualMode = 0x40, kAxisBb = 0x01, kAxisMoving = 0x02,
  kAxisRpmMode = 0x04, kAxisRf = 0x20, kAxisHasPower = 0x80
}
 

Private Member Functions

virtual void UpdatePointing (const Time &, const array< double, 2 > &)
 
virtual void UpdateTracking (const Time &, const array< double, 8 > &)
 
virtual void UpdateStatus (const Time &, const array< uint8_t, 3 > &)
 
virtual void UpdateStarguider (const Time &, const DimStarguider &)
 
virtual void UpdateTPoint (const Time &, const DimTPoint &, const string &)
 
void ConnectionEstablished ()
 
void SendCanFrame (uint16_t cobid, uint8_t m0=0, uint8_t m1=0, uint8_t m2=0, uint8_t m3=0, uint8_t m4=0, uint8_t m5=0, uint8_t m6=0, uint8_t m7=0)
 
void HandleSdo (const uint8_t &node, const uint16_t &idx, const uint8_t &subidx, const uint32_t &val, const Time &tv)
 
void HandleSdoOk (const uint8_t &node, const uint16_t &idx, const uint8_t &subidx, const Time &)
 
void HandleSdoError (const uint8_t &node, const uint16_t &idx, const uint8_t &subidx, const Time &)
 
void HandlePdo1 (const uint8_t &node, const uint8_t *data, const Time &tv)
 
void HandlePdo3 (const uint8_t &node, const uint8_t *data, const Time &tv)
 
string ErrCodeToString (uint32_t code) const
 
void LogErrorCode (uint32_t node)
 
void HandlePdo2 (const uint8_t &node, const uint8_t *data, const Time &)
 
void HandleReceivedData (const boost::system::error_code &err, size_t bytes_received, int)
 
void StartReadReport ()
 
void ConnectionEstablished ()
 
void HandleTimeoutImp (const std::list< Timeout_t >::iterator &ref, const bs::error_code &error)
 
void HandleTimeout (const std::list< Timeout_t >::iterator &ref, const bs::error_code &error)
 
void SendSdoRequest (uint8_t node, uint8_t req, uint16_t idx, uint8_t subidx, uint32_t val=0)
 

Static Private Member Functions

static uint32_t String (uint8_t b0=0, uint8_t b1=0, uint8_t b2=0, uint8_t b3=0)
 

Private Attributes

int fState
 
bool fIsVerbose
 
uint16_t fVerbosity
 
uint32_t fVelRes [2]
 
uint32_t fVelMax [2]
 
uint32_t fPosRes [2]
 
uint32_t fErrCode [2]
 
int32_t fPdoPos1 [2]
 
int32_t fPdoPos2 [2]
 
Time fPdoTime1 [2]
 
bool fHasChangedPos1 [2]
 
bool fHasChangedPos2 [2]
 
uint8_t fStatusAxis [2]
 
uint8_t fStatusSys
 
std::list< Timeout_tfTimeouts
 
vector< uint8_t > fData
 
bool fIsInitialized [2]
 

Additional Inherited Members

- Public Types inherited from MessageImp
enum  Severity {
  kMessage = 10, kInfo = 20, kWarn = 30, kError = 40,
  kAlarm = 45, kFatal = 50, kComment = 90, kDebug = 99
}
 Severity of a message. More...
 

Detailed Description

Definition at line 30 of file cosyctrl.cc.


The documentation for this class was generated from the following files: