Hamlib  4.3
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
Data Fields
rot_caps Struct Reference

Rotator capability data structure. More...

#include <rotator.h>

Collaboration diagram for rot_caps:
Collaboration graph
[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 confparamsextparms
 
const struct confparamsextlevels
 
const struct confparamsextfuncs
 
int * ext_tokens
 
azimuth_t min_az
 
azimuth_t max_az
 
elevation_t min_el
 
elevation_t max_el
 
const struct confparamscfgparams
 
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, token_t token, const char *val)
 
int(* get_conf )(ROT *rot, 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, token_t token, value_t val)
 
int(* get_ext_level )(ROT *rot, token_t token, value_t *val)
 
int(* set_ext_func )(ROT *rot, token_t token, int status)
 
int(* get_ext_func )(ROT *rot, token_t token, int *status)
 
int(* set_ext_parm )(ROT *rot, token_t token, value_t val)
 
int(* get_ext_parm )(ROT *rot, token_t token, value_t *val)
 
int(* get_status )(ROT *rot, rot_status_t *status)
 
const char * macro_name
 

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, token_t token, char *val)

Pointer to backend implementation of rot_get_conf().

◆ get_ext_func

int(* rot_caps::get_ext_func) (ROT *rot, 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, 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, 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, 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, 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, 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, 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: