Main Page   Data Structures   File List   Data Fields   Globals   Related Pages   Examples  

rotator.c File Reference

Rotator interface. More...

#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <hamlib/rotator.h>
#include <serial.h>
#include "rot_conf.h"
#include "token.h"

Functions

int foreach_opened_rot (int(*cfunc)(ROT *, rig_ptr_t), rig_ptr_t data)
 execs cfunc() on each opened rot

ROTrot_init (rot_model_t rot_model)
 allocate a new ROT handle

int rot_open (ROT *rot)
 open the communication to the rot

int rot_close (ROT *rot)
 close the communication to the rot

int rot_cleanup (ROT *rot)
 release a rot handle and free associated memory

int rot_set_conf (ROT *rot, token_t token, const char *val)
 set a rotator configuration parameter

int rot_get_conf (ROT *rot, token_t token, char *val)
 get the value of a configuration parameter

int rot_set_position (ROT *rot, azimuth_t azimuth, elevation_t elevation)
 set the azimuth and elevation of the rotator

int rot_get_position (ROT *rot, azimuth_t *azimuth, elevation_t *elevation)
 get the azimuth and elevation of the rotator

int rot_park (ROT *rot)
 park the antenna

int rot_stop (ROT *rot)
 stop the rotator

int rot_reset (ROT *rot, rot_reset_t reset)
 reset the rotator

int rot_move (ROT *rot, int direction, int speed)
 move the rotator in the specified direction

const char * rot_get_info (ROT *rot)
 get general information from the rotator


Detailed Description

Rotator interface.

Author:
Stephane Fillod
Date:
2000-2002
Hamlib interface is a frontend implementing rotator wrapper functions.

Function Documentation

int foreach_opened_rot int(*    cfunc)(ROT *, rig_ptr_t),
rig_ptr_t    data
 

execs cfunc() on each opened rot

Parameters:
cfunc The function to be executed on each rot
data Data pointer to be passed to cfunc()
Calls cfunc() function for each opened rot. The contents of the opened rot table is processed in random order according to a function pointed to by cfunc, whic is called with two arguments, the first pointing to the ROT handle, the second to a data pointer data. If data is not needed, then it can be set to NULL. The processing of the opened rot table is stopped when cfunc() returns 0.

int rot_cleanup ROT   rot
 

release a rot handle and free associated memory

Parameters:
rot The ROT handle of the radio to be closed
Releases a rot struct which port has eventualy been closed already with rot_close().

Returns:
RIG_OK if the operation has been sucessful, otherwise a negative value if an error occured (in which case, cause is set appropriately).
See also:
rot_init(), rot_close()

int rot_close ROT   rot
 

close the communication to the rot

Parameters:
rot The ROT handle of the rotator to be closed
Closes communication to a radio which ROT handle has been passed by argument that was previously open with rot_open().

Returns:
RIG_OK if the operation has been sucessful, otherwise a negative value if an error occured (in which case, cause is set appropriately).
See also:
rot_cleanup(), rot_open()

int rot_get_conf ROT   rot,
token_t    token,
char *    val
 

get the value of a configuration parameter

Parameters:
rot The rot handle
token The parameter
val The location where to store the value of config token
Retrieves the value of a configuration paramter associated with token.

Returns:
RIG_OK if the operation has been sucessful, otherwise a negative value if an error occured (in which case, cause is set appropriately).
See also:
rot_set_conf()

const char* rot_get_info ROT   rot
 

get general information from the rotator

Parameters:
rot The rot handle
Retrieves some general information from the rotator. This can include firmware revision, exact model name, or just nothing.

Returns:
a pointer to static memory containing the ASCIIZ string if the operation has been sucessful, otherwise NULL if an error occured or get_info not part of capabilities.

int rot_get_position ROT   rot,
azimuth_t   azimuth,
elevation_t   elevation
 

get the azimuth and elevation of the rotator

Parameters:
rot The rot handle
azimuth The location where to store the current azimuth
elevation The location where to store the current elevation
Retrieves the current azimuth and elevation of the rotator.

Returns:
RIG_OK if the operation has been sucessful, otherwise a negative value if an error occured (in which case, cause is set appropriately).
See also:
rot_set_position()

ROT* rot_init rot_model_t    rot_model
 

allocate a new ROT handle

Parameters:
rot_model The rot model for this new handle
Allocates a new ROT handle and initializes the associated data for rot_model.

Returns:
a pointer to the ROT handle otherwise NULL if memory allocation failed or rot_model is unknown (e.g. backend autoload failed).
See also:
rot_cleanup(), rot_open()

int rot_move ROT   rot,
int    direction,
int    speed
 

move the rotator in the specified direction

Parameters:
rot The rot handle
direction Direction of movement
speed Speed of movement
Move the rotator in the specified direction. The speed is a value between 1 and 100.

int rot_open ROT   rot
 

open the communication to the rot

Parameters:
rot The ROT handle of the rotator to be opened
Opens communication to a rotator which ROT handle has been passed by argument.

Returns:
RIG_OK if the operation has been sucessful, otherwise a negative value if an error occured (in which case, cause is set appropriately).
Return values:
RIG_EINVAL rot is NULL or unconsistent.
RIG_ENIMPL port type communication is not implemented yet.
See also:
rot_init(), rot_close()

int rot_park ROT   rot
 

park the antenna

Parameters:
rot The rot handle
Park the antenna.

Returns:
RIG_OK if the operation has been sucessful, otherwise a negative value if an error occured (in which case, cause is set appropriately).

int rot_reset ROT   rot,
rot_reset_t    reset
 

reset the rotator

Parameters:
rot The rot handle
reset The reset operation to perform
Resets the rotator.

Returns:
RIG_OK if the operation has been sucessful, otherwise a negative value if an error occured (in which case, cause is set appropriately).

int rot_set_conf ROT   rot,
token_t    token,
const char *    val
 

set a rotator configuration parameter

Parameters:
rot The rot handle
token The parameter
val The value to set the parameter to
Sets a configuration parameter.

Returns:
RIG_OK if the operation has been sucessful, otherwise a negative value if an error occured (in which case, cause is set appropriately).
See also:
rot_get_conf()

int rot_set_position ROT   rot,
azimuth_t    azimuth,
elevation_t    elevation
 

set the azimuth and elevation of the rotator

Parameters:
rot The rot handle
azimuth The azimuth to set to
elevation The elevation to set to
Sets the azimuth and elevation of the rotator.

Returns:
RIG_OK if the operation has been sucessful, otherwise a negative value if an error occured (in which case, cause is set appropriately).
See also:
rot_get_position()

int rot_stop ROT   rot
 

stop the rotator

Parameters:
rot The rot handle
Stop the rotator.

Returns:
RIG_OK if the operation has been sucessful, otherwise a negative value if an error occured (in which case, cause is set appropriately).


Generated on Mon May 26 17:46:56 2003 for Hamlib - the C library reference by doxygen1.3-rc3