Loading...
Searching...
No Matches
rot_caps Struct Reference
Rotator API

Rotator capability data structure. More...

`#include <rotator.h>`

Collaboration diagram for rot_caps:
[legend]

## Data Fields

rot_model_t | rot_model
const char * | model_name
const char * | mfg_name
const char * | version
const char * | copyright
enum rig_status_e | status
int | rot_type
enum rig_port_e | port_type
int | serial_rate_min
int | serial_rate_max
int | serial_data_bits
int | serial_stop_bits
enum serial_parity_e | serial_parity
enum serial_handshake_e | serial_handshake
int | write_delay
int | post_write_delay
int | timeout
int | retry
setting_t | has_get_func
setting_t | has_set_func
setting_t | has_get_level
setting_t | has_set_level
setting_t | has_get_parm
setting_t | has_set_parm
rot_status_t | has_status
gran_t | level_gran [64]
gran_t | parm_gran [64]
const struct confparams * | extparms
const struct confparams * | extlevels
const struct confparams * | extfuncs
int * | ext_tokens
azimuth_t | min_az
azimuth_t | max_az
elevation_t | min_el
elevation_t | max_el
const struct confparams * | cfgparams
const rig_ptr_t | priv
int(* | rot_init )(ROT *rot)
int(* | rot_cleanup )(ROT *rot)
int(* | rot_open )(ROT *rot)
int(* | rot_close )(ROT *rot)
int(* | set_conf )(ROT *rot, hamlib_token_t token, const char *val)
int(* | get_conf )(ROT *rot, hamlib_token_t token, char *val)
int(* | set_position )(ROT *rot, azimuth_t azimuth, elevation_t elevation)
int(* | get_position )(ROT *rot, azimuth_t *azimuth, elevation_t *elevation)
int(* | stop )(ROT *rot)
int(* | park )(ROT *rot)
int(* | reset )(ROT *rot, rot_reset_t reset)
int(* | move )(ROT *rot, int direction, int speed)
const char *(* | get_info )(ROT *rot)
int(* | set_level )(ROT *rot, setting_t level, value_t val)
int(* | get_level )(ROT *rot, setting_t level, value_t *val)
int(* | set_func )(ROT *rot, setting_t func, int status)
int(* | get_func )(ROT *rot, setting_t func, int *status)
int(* | set_parm )(ROT *rot, setting_t parm, value_t val)
int(* | get_parm )(ROT *rot, setting_t parm, value_t *val)
int(* | set_ext_level )(ROT *rot, hamlib_token_t token, value_t val)
int(* | get_ext_level )(ROT *rot, hamlib_token_t token, value_t *val)
int(* | set_ext_func )(ROT *rot, hamlib_token_t token, int status)
int(* | get_ext_func )(ROT *rot, hamlib_token_t token, int *status)
int(* | set_ext_parm )(ROT *rot, hamlib_token_t token, value_t val)
int(* | get_ext_parm )(ROT *rot, hamlib_token_t token, value_t *val)
int(* | get_status )(ROT *rot, rot_status_t *status)
const char * | macro_name
int(* | get_conf2 )(ROT *rot, hamlib_token_t token, char *val, int val_len)

## Detailed Description

Rotator capability data structure.

The main idea of this structure is that it will be defined by the backend rotator driver, and will remain read-only for the application. Fields that need to be modifiable by the application are copied into the rot_state structure, which is the private memory area of the ROT instance.

This way, you can have several rotators running within the same application, sharing the rot_caps structure of the backend, while keeping their own customized data.

Note: Don't move fields around and only add new fields at the end of the rot_caps structure. Shared libraries and DLLs depend on a constant structure to maintain compatibility.

## Field Documentation

## cfgparams

const struct confparams* rot_caps::cfgparams

Configuration parameters.

## copyright

const char* rot_caps::copyright

Copyright info (should be LGPL).

## ext_tokens

int* rot_caps::ext_tokens

Extension token list.

## extfuncs

const struct confparams* rot_caps::extfuncs

Extension functions list,

See also
  rot_ext.c.

## extlevels

const struct confparams* rot_caps::extlevels

Extension levels list,

See also
  rot_ext.c.

## extparms

const struct confparams* rot_caps::extparms

Extension parameters list,

See also
  rot_ext.c.

## get_conf

int(* rot_caps::get_conf) (ROT *rot, hamlib_token_t token, char *val)

Pointer to backend implementation of rot_get_conf().

## get_conf2

int(* rot_caps::get_conf2) (ROT *rot, hamlib_token_t token, char *val, int val_len)

Pointer to backend implementation of rot_get_conf2().

## get_ext_func

int(* rot_caps::get_ext_func) (ROT *rot, hamlib_token_t token, int *status)

Pointer to backend implementation of rot_get_ext_func().

## get_ext_level

int(* rot_caps::get_ext_level) (ROT *rot, hamlib_token_t token, value_t *val)

Pointer to backend implementation of rot_get_ext_level().

## get_ext_parm

int(* rot_caps::get_ext_parm) (ROT *rot, hamlib_token_t token, value_t *val)

Pointer to backend implementation of rot_get_ext_parm().

## get_func

int(* rot_caps::get_func) (ROT *rot, setting_t func, int *status)

Pointer to backend implementation of rot_get_func().

## get_info

const char *(* rot_caps::get_info) (ROT *rot)

Pointer to backend implementation of rot_get_info().

## get_level

int(* rot_caps::get_level) (ROT *rot, setting_t level, value_t *val)

Pointer to backend implementation of rot_get_level().

## get_parm

int(* rot_caps::get_parm) (ROT *rot, setting_t parm, value_t *val)

Pointer to backend implementation of rot_get_parm().

## get_position

int(* rot_caps::get_position) (ROT *rot, azimuth_t *azimuth, elevation_t *elevation)

Pointer to backend implementation of rot_get_position().

## get_status

int(* rot_caps::get_status) (ROT *rot, rot_status_t *status)

Pointer to backend implementation of rot_get_status().

## has_get_func

setting_t rot_caps::has_get_func

List of get functions.

## has_get_level

setting_t rot_caps::has_get_level

List of get levels.

## has_get_parm

setting_t rot_caps::has_get_parm

List of get parameters.

## has_set_func

setting_t rot_caps::has_set_func

List of set functions.

## has_set_level

setting_t rot_caps::has_set_level

List of set levels.

## has_set_parm

setting_t rot_caps::has_set_parm

List of set parameters.

## has_status

rot_status_t rot_caps::has_status

Supported status flags.

## level_gran

gran_t rot_caps::level_gran[64]

level granularity (i.e. steps).

## macro_name

const char* rot_caps::macro_name

Rotator model macro name.

## max_az

azimuth_t rot_caps::max_az

Upper limit for azimuth (relative to North).

## max_el

elevation_t rot_caps::max_el

Upper limit for elevation.

## mfg_name

const char* rot_caps::mfg_name

Manufacturer, e.g. Tower Torquer.

## min_az

azimuth_t rot_caps::min_az

Lower limit for azimuth (relative to North).

## min_el

elevation_t rot_caps::min_el

Lower limit for elevation.

## model_name

const char* rot_caps::model_name

Model name, e.g. TT-360.

## move

int(* rot_caps::move) (ROT *rot, int direction, int speed)

Pointer to backend implementation of rot_move().

## park

int(* rot_caps::park) (ROT *rot)

Pointer to backend implementation of rot_park().

## parm_gran

gran_t rot_caps::parm_gran[64]

parm granularity (i.e. steps).

## port_type

enum rig_port_e rot_caps::port_type

Type of communication port (serial, ethernet, etc.).

## post_write_delay

int rot_caps::post_write_delay

Post-write delay.

## priv

const rig_ptr_t rot_caps::priv

Private data.

## reset

int(* rot_caps::reset) (ROT *rot, rot_reset_t reset)

Pointer to backend implementation of rot_reset().

## retry

int rot_caps::retry

Number of retries if command fails.

## rot_cleanup

int(* rot_caps::rot_cleanup) (ROT *rot)

Pointer to backend implementation of rot_cleanup().

## rot_close

int(* rot_caps::rot_close) (ROT *rot)

Pointer to backend implementation of rot_close().

## rot_init

int(* rot_caps::rot_init) (ROT *rot)

Pointer to backend implementation of rot_init().

## rot_model

rot_model_t rot_caps::rot_model

Rotator model as defined in rotlist.h.

## rot_open

int(* rot_caps::rot_open) (ROT *rot)

Pointer to backend implementation of rot_open().

## rot_type

int rot_caps::rot_type

Rotator type.

## serial_data_bits

int rot_caps::serial_data_bits

Number of data bits.

## serial_handshake

enum serial_handshake_e rot_caps::serial_handshake

Handshake.

## serial_parity

enum serial_parity_e rot_caps::serial_parity

Parity.

## serial_rate_max

int rot_caps::serial_rate_max

Maximal serial speed.

## serial_rate_min

int rot_caps::serial_rate_min

Minimal serial speed.

## serial_stop_bits

int rot_caps::serial_stop_bits

Number of stop bits.

## set_conf

int(* rot_caps::set_conf) (ROT *rot, hamlib_token_t token, const char *val)

Pointer to backend implementation of rot_set_conf().

## set_ext_func

int(* rot_caps::set_ext_func) (ROT *rot, hamlib_token_t token, int status)

Pointer to backend implementation of rot_set_ext_func().

## set_ext_level

int(* rot_caps::set_ext_level) (ROT *rot, hamlib_token_t token, value_t val)

Pointer to backend implementation of rot_set_ext_level().

## set_ext_parm

int(* rot_caps::set_ext_parm) (ROT *rot, hamlib_token_t token, value_t val)

Pointer to backend implementation of rot_set_ext_parm().

## set_func

int(* rot_caps::set_func) (ROT *rot, setting_t func, int status)

Pointer to backend implementation of rot_set_func().

## set_level

int(* rot_caps::set_level) (ROT *rot, setting_t level, value_t val)

Pointer to backend implementation of rot_set_level().

## set_parm

int(* rot_caps::set_parm) (ROT *rot, setting_t parm, value_t val)

Pointer to backend implementation of rot_set_parm().

## set_position

int(* rot_caps::set_position) (ROT *rot, azimuth_t azimuth, elevation_t elevation)

Pointer to backend implementation of rot_set_position().

## status

enum rig_status_e rot_caps::status

Driver status.

## stop

int(* rot_caps::stop) (ROT *rot)

Pointer to backend implementation of rot_stop().

## timeout

int rot_caps::timeout

Timeout.

## version

const char* rot_caps::version

Driver version, typically in YYYYMMDD.x format.

## write_delay

int rot_caps::write_delay

Write delay.

The documentation for this struct was generated from the following file:

- rotator.h