     1	long StepperMotor::dev_read_position(long axis)
     2	{
     3	
     4		if (axis < 0 || axis > AGSM_MAX_MOTORS)
     5		{
     6			WARNING_STREAM << "Steppermotor::dev_read_position(): axis out of range !";
     7			WARNING_STREAM << endl;
     8			
     9			TangoSys_OMemStream o;
    10			
    11			o << "Axis number " << axis << " out of range" << ends;
    12			throw_exception((const char *)"StepperMotor_OutOfRange",
    13					o.str(),
    14				 	(const char *)"StepperMotor::dev_read_position");
    15		}
    16	
    17		return position[axis];
    18	}
    19	
    20	void always_executed_hook()
    21	{
    22		INFO_STREAM << "In the always_executed_hook method << endl;
    23	}
    24	
    25	Tango_DevState StepperMotor::dev_state()
    26	{
    27		INFO_STREAM << "In StepperMotor state command" << endl;
    28		return DeviceImpl::dev_state();
    29	}
    30	
    31	Tango_DevString StepperMotor::dev_status()
    32	{
    33		INFO_STREAM << "In StepperMotor status command" << endl;
    34		return DeviceImpl::dev_status();
    35	}
    36	
    37	void read_Direction(Tango::Attribute att)
    38	{
    39		att.set_value(attr_Direction_read);
    40	}
