/***************************************************************
 * PrForceSensorATI.h
 *
 * This is an ATI force sensor class.
 *
 ****************************************************************/

/*
 * modification history
 *----------------------
 *
 * 10/26/97: K.C. Chang: created.
 */

#ifndef _PrForceSensorATI_h
#define _PrForceSensorATI_h

#include "PrForceSensorIntf.h"

class PrForceSensorATIData;

class PrForceSensorATI : public PrForceSensorIntf
{
 public:
    // constructor sets flag
    // flag() should be called before using
    PrForceSensorATI();
    ~PrForceSensorATI();

    virtual Float forceMax();
    virtual Float torqueMax();

    // read force sensor values
    virtual int values(Float *data);

    void display();

 private:
    int flag_;
    PrForceSensorATIData *sensorData_;
    Float forcePerCount_;
    Float torquePerCount_;

    int ReadSensorInfo();
    int SendCommand(unsigned short *bptr, int numwords);
    void ReceiveCommand(unsigned short *bptr, int numword);

    // copy is not allowed
    PrForceSensorATI(const PrForceSensorATI &) {}
};

#endif // _PrForceSensorATI_h
