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


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: