24 #define _AMPLIFIER_H 1
107 #define NETAMPCTL_RET "RPRT "
130 #define AMP_TYPE_MASK (AMP_FLAG_1|AMP_FLAG_2)
132 #define AMP_TYPE_OTHER 0
133 #define AMP_TYPE_1 AMP_FLAG_1
134 #define AMP_TYPE_2 AMP_FLAG_2
135 #define AMP_TYPE_ALL (AMP_FLAG_1|AMP_FLAG_2)
143 AMP_LEVEL_SWR = (1 << 0),
144 AMP_LEVEL_NH = (1 << 1),
145 AMP_LEVEL_PF = (1 << 2),
146 AMP_LEVEL_PWR_INPUT = (1 << 3),
147 AMP_LEVEL_PWR_FWD = (1 << 4),
148 AMP_LEVEL_PWR_REFLECTED = (1 << 5),
149 AMP_LEVEL_PWR_PEAK = (1 << 6),
150 AMP_LEVEL_FAULT = (1 << 7),
151 AMP_LEVEL_PWR = (1 << 8),
156 #define AMP_LEVEL_FLOAT_LIST (AMP_LEVEL_SWR)
157 #define AMP_LEVEL_STRING_LIST (AMP_LEVEL_FAULT)
158 #define AMP_LEVEL_IS_FLOAT(l) ((l)&_LEVEL_FLOAT_LIST)
159 #define AMP_LEVEL_IS_STRING(l) ((l)&_LEVEL_STRING_LIST)
168 #define AMP_MODEL(arg) .amp_model=arg,.macro_name=#arg
255 const char *(*get_info)(
AMP *amp);
325 extern HAMLIB_EXPORT(
AMP *)
328 extern HAMLIB_EXPORT(
int)
331 extern HAMLIB_EXPORT(
int)
334 extern HAMLIB_EXPORT(
int)
337 extern HAMLIB_EXPORT(
int)
341 extern HAMLIB_EXPORT(
int)
342 amp_get_conf HAMLIB_PARAMS((
AMP *amp,
345 extern HAMLIB_EXPORT(
int)
348 extern HAMLIB_EXPORT(
int)
357 extern HAMLIB_EXPORT(
int)
360 extern HAMLIB_EXPORT(
int)
364 extern HAMLIB_EXPORT(
int)
368 extern HAMLIB_EXPORT(const
char *)
371 extern HAMLIB_EXPORT(
int)
374 extern HAMLIB_EXPORT(
int)
378 extern HAMLIB_EXPORT(
int)
379 amp_register HAMLIB_PARAMS((const struct
amp_caps *caps));
381 extern HAMLIB_EXPORT(
int)
382 amp_unregister HAMLIB_PARAMS((
amp_model_t amp_model));
384 extern HAMLIB_EXPORT(
int)
385 amp_list_foreach HAMLIB_PARAMS((
int (*cfunc)(const struct
amp_caps *,
389 extern HAMLIB_EXPORT(
int)
390 amp_load_backend HAMLIB_PARAMS((const
char *be_name));
392 extern HAMLIB_EXPORT(
int)
393 amp_check_backend HAMLIB_PARAMS((
amp_model_t amp_model));
395 extern HAMLIB_EXPORT(
int)
396 amp_load_all_backends HAMLIB_PARAMS((
void));
399 amp_probe_all HAMLIB_PARAMS((hamlib_port_t *p));
401 extern HAMLIB_EXPORT(
int)
407 extern HAMLIB_EXPORT(const struct confparams *)
415 extern HAMLIB_EXPORT(const struct amp_caps *)
416 amp_get_caps HAMLIB_PARAMS((
amp_model_t amp_model));
426 extern HAMLIB_EXPORT(const struct confparams *)
430 extern HAMLIB_EXPORT(
int)
435 extern HAMLIB_EXPORT(
int)
442 extern HAMLIB_EXPORT(const struct confparams *)
447 extern HAMLIB_EXPORT(const
char *)
amp_strlevel(setting_t);
462 #define amp_debug rig_debug
enum serial_handshake_e serial_handshake
Definition: amplifier.h:206
Definition: amplifier.h:125
Amplifier capabilities.
Definition: amplifier.h:189
hamlib_token_t token
Definition: rig.h:903
int(* set_freq)(AMP *amp, freq_t val)
Definition: amplifier.h:233
int amp_set_powerstat(AMP *amp, powerstat_t status)
Turn the amplifier On or Off or toggle the Standby or Operate status.
Definition: amplifier.c:906
double freq_t
Frequency type,.
Definition: rig.h:458
int timeout
Definition: amplifier.h:210
int comm_state
Definition: amplifier.h:290
gran_t parm_gran[64]
Definition: amplifier.h:298
setting_t amp_parse_level(const char *s)
Convert alpha string to enum AMP_LEVEL_...
Definition: misc.c:1148
const char * copyright
Definition: amplifier.h:195
int amp_get_freq(AMP *amp, freq_t *freq)
Query the operating frequency of the amplifier.
Definition: amplifier.c:647
int serial_rate_max
Definition: amplifier.h:202
int amp_open(AMP *amp)
Open the communication channel to the amplifier.
Definition: amplifier.c:311
const char * model_name
Definition: amplifier.h:192
const char * mfg_name
Definition: amplifier.h:193
int serial_stop_bits
Definition: amplifier.h:204
int amp_model_t
Convenience type definition for an amplifier model.
Definition: amplist.h:124
powerstat_t
Radio power state.
Definition: rig.h:710
int retry
Definition: amplifier.h:211
int amp_reset(AMP *amp, amp_reset_t reset)
Reset the amplifier.
Definition: amplifier.c:608
setting_t has_set_level
Definition: amplifier.h:218
setting_t amp_has_get_level(AMP *amp, setting_t level)
Check which level settings can be queried.
Definition: amp_settings.c:102
setting_t has_set_level
Definition: amplifier.h:295
int amp_get_powerstat(AMP *amp, powerstat_t *status)
Query the power or standby status of the amplifier.
Definition: amplifier.c:943
serial_handshake_e
Serial handshake.
Definition: rig.h:345
int write_delay
Definition: amplifier.h:208
gran_t level_gran[64]
Definition: amplifier.h:220
int serial_data_bits
Definition: amplifier.h:203
int(* get_powerstat)(AMP *amp, powerstat_t *status)
Definition: amplifier.h:251
Universal approach for passing values.
Definition: rig.h:1027
enum rig_status_e status
Definition: amplifier.h:196
int(* amp_close)(AMP *amp)
Definition: amplifier.h:231
The Rig structure.
Definition: rig.h:3097
setting_t amp_has_set_level(AMP *amp, setting_t level)
Check which level settings can be set.
Definition: amp_settings.c:69
Master amplifier structure.
Definition: amplifier.h:315
rig_status_e
Development status of the backend.
Definition: rig.h:417
gran_t parm_gran[64]
Definition: amplifier.h:221
int post_write_delay
Definition: amplifier.h:209
AMP * amp_init(amp_model_t amp_model)
Allocate a new AMP handle.
Definition: amplifier.c:184
Amplifier state structure.
Definition: amplifier.h:279
amp_type_t
Amplifier type flags.
Definition: amplifier.h:122
int amp_set_level(AMP *amp, setting_t level, value_t val)
Set the value of a requested level.
Definition: amplifier.c:760
const struct confparams * cfgparams
Definition: amplifier.h:213
const struct confparams * amp_ext_lookup(AMP *amp, const char *name)
Lookup an extension levels or parameters token by its name and return a pointer to the containing con...
Definition: extamp.c:176
int(* amp_cleanup)(AMP *amp)
Definition: amplifier.h:229
int serial_rate_min
Definition: amplifier.h:201
hamlib_port_t ampport
Definition: amplifier.h:299
const char * amp_model_macro_name
Definition: amplifier.h:215
#define RIG_SETTING_MAX
Maximum # of rig settings.
Definition: rig.h:1209
const char * amp_get_info(AMP *amp)
Query general information from the amplifier.
Definition: amplifier.c:722
const struct confparams * extlevels
Definition: amplifier.h:261
int amp_get_ext_level(AMP *amp, hamlib_token_t level, value_t *val)
Query the value of a requested extension levels token.
Definition: amplifier.c:868
int(* set_ext_level)(AMP *amp, hamlib_token_t level, value_t val)
Definition: amplifier.h:249
Definition: amplifier.h:124
serial_parity_e
Serial parity.
Definition: rig.h:333
int amp_token_foreach(AMP *amp, int(*cfunc)(const struct confparams *, rig_ptr_t), rig_ptr_t data)
Executes cfunc on all the elements stored in the configuration parameters table.
Definition: amp_conf.c:522
Hamlib rig data structures.
int(* set_powerstat)(AMP *amp, powerstat_t status)
Definition: amplifier.h:250
enum serial_parity_e serial_parity
Definition: amplifier.h:205
struct amp_state state
Definition: amplifier.h:318
int amp_close(AMP *amp)
Close the communication channel to the amplifier.
Definition: amplifier.c:470
const char * amp_strlevel(setting_t level)
Convert enum AMP_LEVEL_... to alpha string.
Definition: misc.c:1239
int(* get_freq)(AMP *amp, freq_t *val)
Definition: amplifier.h:234
long hamlib_token_t
configuration token
Definition: rig.h:861
int tune_value_t
Type definition for the transmatch tuning values of capacitance and inductance.
Definition: amplifier.h:101
level/parm granularity definition
Definition: rig.h:1731
rig_ptr_t obj
Definition: amplifier.h:292
int amp_set_freq(AMP *amp, freq_t freq)
Set the operating frequency of the amplifier.
Definition: amplifier.c:687
gran_t level_gran[64]
Definition: amplifier.h:297
hamlib_token_t amp_token_lookup(AMP *amp, const char *name)
Search for the token ID associated with an amplifier configuration parameter token name...
Definition: amp_conf.c:646
setting_t has_get_level
Definition: amplifier.h:294
int(* get_level)(AMP *amp, setting_t level, value_t *val)
Definition: amplifier.h:246
int amp_set_ext_level(AMP *amp, hamlib_token_t level, value_t val)
Set the value of a requested extension levels token.
Definition: amplifier.c:833
int(* amp_init)(AMP *amp)
Definition: amplifier.h:228
float swr_t
Type definition for SWR (Standing Wave Ratio).
Definition: amplifier.h:81
int(* set_conf)(AMP *amp, hamlib_token_t token, const char *val)
Definition: amplifier.h:236
const char * version
Definition: amplifier.h:194
const struct confparams * amp_confparam_lookup(AMP *amp, const char *name)
Query an amplifier configuration parameter token by its name.
Definition: amp_conf.c:585
int amp_get_level(AMP *amp, setting_t level, value_t *val)
Query the value of a requested level.
Definition: amplifier.c:797
const struct confparams * extparms
Definition: amplifier.h:262
hamlib_port_t_deprecated ampport_deprecated
Definition: amplifier.h:288
struct amp_caps * caps
Definition: amplifier.h:317
rig_ptr_t priv
Definition: amplifier.h:291
int(* reset)(AMP *amp, amp_reset_t reset)
Definition: amplifier.h:245
uint64_t setting_t
Setting.
Definition: rig.h:1203
int(* set_level)(AMP *amp, setting_t level, value_t val)
Definition: amplifier.h:247
int(* get_ext_level)(AMP *amp, hamlib_token_t level, value_t *val)
Definition: amplifier.h:248
enum rig_port_e port_type
Definition: amplifier.h:199
int(* get_conf)(AMP *amp, hamlib_token_t token, char *val)
Definition: amplifier.h:238
const char * macro_name
Definition: amplifier.h:264
int amp_cleanup(AMP *amp)
Release an AMP handle and free associated memory.
Definition: amplifier.c:562
Hamlib amplifier model definitions.
Configuration parameter structure.
Definition: rig.h:902
void * amp_data_pointer(AMP *amp, rig_ptrx_t idx)
Get the address of amplifier data structure(s)
Definition: amplifier.c:966
int(* get_conf2)(AMP *amp, hamlib_token_t token, char *val, int val_len)
Definition: amplifier.h:237
rig_port_e
Port type.
Definition: rig.h:312
int amp_type
Definition: amplifier.h:198
const rig_ptr_t priv
Definition: amplifier.h:214
int amp_set_conf(AMP *amp, hamlib_token_t token, const char *val)
Set an amplifier configuration parameter.
Definition: amp_conf.c:681
int(* amp_open)(AMP *amp)
Definition: amplifier.h:230
const struct confparams * rig_ext_lookup(RIG *rig, const char *name)
lookup ext token by its name, return pointer to confparams struct.
Definition: ext.c:232
setting_t has_get_level
Definition: amplifier.h:217
amp_model_t amp_model
Definition: amplifier.h:191