kopia lustrzana https://github.com/Hamlib/Hamlib
Definitions, storage and infrastructure for queuing config commands
rodzic
341a205bd7
commit
86a7a0636c
|
@ -1853,6 +1853,22 @@ struct rig_spectrum_line
|
||||||
unsigned char *spectrum_data; /*!< 8-bit spectrum data covering bandwidth of either the span_freq in center mode or from low edge to high edge in fixed mode. A higher value represents higher signal strength. */
|
unsigned char *spectrum_data; /*!< 8-bit spectrum data covering bandwidth of either the span_freq in center mode or from low edge to high edge in fixed mode. A higher value represents higher signal strength. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Config item for deferred processing
|
||||||
|
**/
|
||||||
|
struct deferred_config_item {
|
||||||
|
struct deferred_config_item *next;
|
||||||
|
hamlib_token_t token;
|
||||||
|
char *value; // strdup'ed, must be freed
|
||||||
|
};
|
||||||
|
typedef struct deferred_config_item deferred_config_item_t;
|
||||||
|
|
||||||
|
struct deferred_config_header {
|
||||||
|
struct deferred_config_item *first; // NULL if none
|
||||||
|
struct deferred_config_item *last;
|
||||||
|
};
|
||||||
|
typedef struct deferred_config_header deferred_config_header_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Rig data structure.
|
* \brief Rig data structure.
|
||||||
*
|
*
|
||||||
|
|
34
src/misc.c
34
src/misc.c
|
@ -3125,4 +3125,38 @@ int rig_test_2038(RIG *rig)
|
||||||
|
|
||||||
//! @endcond
|
//! @endcond
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add item to be sent to device after it is opened
|
||||||
|
* (currently only used by rotators)
|
||||||
|
**/
|
||||||
|
int queue_deferred_config(deferred_config_header_t *head, hamlib_token_t token, const char *val)
|
||||||
|
{
|
||||||
|
deferred_config_item_t *item;
|
||||||
|
|
||||||
|
if (!(item = malloc(sizeof(deferred_config_item_t))))
|
||||||
|
{
|
||||||
|
return -RIG_ENOMEM;
|
||||||
|
}
|
||||||
|
if (!(item->value = strdup(val)))
|
||||||
|
{
|
||||||
|
free(item);
|
||||||
|
return -RIG_ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
|
item->token = token;
|
||||||
|
item->next = NULL;
|
||||||
|
|
||||||
|
if (!head->first)
|
||||||
|
{
|
||||||
|
head->first = item;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
head->last->next = item;
|
||||||
|
}
|
||||||
|
|
||||||
|
head->last = item;
|
||||||
|
|
||||||
|
return RIG_OK;
|
||||||
|
}
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
|
@ -211,6 +211,8 @@ extern HAMLIB_EXPORT(int) rig_settings_load_all(char *settings_file);
|
||||||
|
|
||||||
extern int check_level_param(RIG *rig, setting_t level, value_t val, gran_t **gran);
|
extern int check_level_param(RIG *rig, setting_t level, value_t val, gran_t **gran);
|
||||||
|
|
||||||
|
extern int queue_deferred_config(deferred_config_header_t *head, hamlib_token_t token, const char *val);
|
||||||
|
|
||||||
// Takes rig-specific band result and maps it the bandlist int the rig's backend
|
// Takes rig-specific band result and maps it the bandlist int the rig's backend
|
||||||
extern HAMLIB_EXPORT(hamlib_band_t) rig_get_band(RIG *rig, freq_t freq, int band);
|
extern HAMLIB_EXPORT(hamlib_band_t) rig_get_band(RIG *rig, freq_t freq, int band);
|
||||||
extern HAMLIB_EXPORT(const char*) rig_get_band_str(RIG *rig, hamlib_band_t band, int which);
|
extern HAMLIB_EXPORT(const char*) rig_get_band_str(RIG *rig, hamlib_band_t band, int which);
|
||||||
|
|
Ładowanie…
Reference in New Issue