drivers: implement config_list()

This commit is contained in:
Bert Vermeulen 2013-01-25 02:32:05 +01:00
parent c5fb502f97
commit a1c743fc51
19 changed files with 300 additions and 0 deletions

View File

@ -302,6 +302,19 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return SR_OK; return SR_OK;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
void *cb_data) void *cb_data)
{ {
@ -370,6 +383,7 @@ SR_PRIV struct sr_dev_driver agdmm_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -189,6 +189,30 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return SR_OK; return SR_OK;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
struct dev_context *devc;
(void)sdi;
switch (key) {
case SR_CONF_SAMPLERATE:
if (!sdi || !sdi->priv)
return SR_ERR_ARG;
devc = sdi->priv;
if (!devc->supp_rates.list) {
sr_err("Instance did not contain a samplerate list.");
return SR_ERR_ARG;
}
*data = &devc->supp_rates;
break;
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
void *cb_data) void *cb_data)
{ {
@ -322,6 +346,7 @@ SR_PRIV struct sr_dev_driver alsa_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -843,6 +843,22 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return ret; return ret;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
case SR_CONF_SAMPLERATE:
*data = &samplerates;
break;
default:
return SR_ERR_ARG;
}
return SR_OK;
}
/* Software trigger to determine exact trigger position. */ /* Software trigger to determine exact trigger position. */
static int get_trigger_offset(uint16_t *samples, uint16_t last_sample, static int get_trigger_offset(uint16_t *samples, uint16_t last_sample,
struct sigma_trigger *t) struct sigma_trigger *t)
@ -1438,6 +1454,7 @@ SR_PRIV struct sr_dev_driver asix_sigma_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -365,6 +365,23 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return SR_OK; return SR_OK;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
case SR_CONF_SAMPLERATE:
fill_supported_samplerates_if_needed();
*data = &samplerates;
break;
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int receive_data(int fd, int revents, void *cb_data) static int receive_data(int fd, int revents, void *cb_data)
{ {
int i, ret; int i, ret;
@ -514,6 +531,7 @@ SR_PRIV struct sr_dev_driver chronovu_la8_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -246,6 +246,19 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return SR_OK; return SR_OK;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
void *cb_data) void *cb_data)
{ {
@ -314,6 +327,7 @@ SR_PRIV struct sr_dev_driver colead_slm_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -298,6 +298,22 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return ret; return ret;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
case SR_CONF_SAMPLERATE:
*data = &samplerates;
break;
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static void samples_generator(uint8_t *buf, uint64_t size, static void samples_generator(uint8_t *buf, uint64_t size,
struct dev_context *devc) struct dev_context *devc)
{ {
@ -490,6 +506,7 @@ SR_PRIV struct sr_dev_driver demo_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -336,6 +336,19 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return SR_OK; return SR_OK;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
void *cb_data) void *cb_data)
{ {
@ -410,6 +423,7 @@ SR_PRIV struct sr_dev_driver flukedmm_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -650,6 +650,22 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return ret; return ret;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
case SR_CONF_SAMPLERATE:
*data = &samplerates;
break;
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int receive_data(int fd, int revents, void *cb_data) static int receive_data(int fd, int revents, void *cb_data)
{ {
struct timeval tv; struct timeval tv;
@ -1024,6 +1040,7 @@ SR_PRIV struct sr_dev_driver fx2lafw_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -580,6 +580,19 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return ret; return ret;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static void send_chunk(struct sr_dev_inst *sdi, unsigned char *buf, static void send_chunk(struct sr_dev_inst *sdi, unsigned char *buf,
int num_samples) int num_samples)
{ {
@ -914,6 +927,7 @@ SR_PRIV struct sr_dev_driver hantek_dso_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -261,6 +261,19 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return ret; return ret;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static void mark_xfer(struct libusb_transfer *xfer) static void mark_xfer(struct libusb_transfer *xfer)
{ {
@ -480,6 +493,7 @@ SR_PRIV struct sr_dev_driver lascar_el_usb_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -392,6 +392,22 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return ret; return ret;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
case SR_CONF_SAMPLERATE:
*data = &samplerates;
break;
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
void *cb_data) void *cb_data)
{ {
@ -493,6 +509,7 @@ SR_PRIV struct sr_dev_driver link_mso19_driver_info = {
.dev_clear = hw_cleanup, .dev_clear = hw_cleanup,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -302,6 +302,19 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return ret; return ret;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
void *cb_data) void *cb_data)
{ {
@ -337,6 +350,7 @@ SR_PRIV struct sr_dev_driver nexus_osciprime_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -329,6 +329,22 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return ret; return ret;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
case SR_CONF_SAMPLERATE:
*data = &samplerates;
break;
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
void *cb_data) void *cb_data)
{ {
@ -504,6 +520,7 @@ SR_PRIV struct sr_dev_driver ols_driver_info = {
.dev_clear = hw_cleanup, .dev_clear = hw_cleanup,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -439,6 +439,19 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return ret; return ret;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
void *cb_data) void *cb_data)
{ {
@ -509,6 +522,7 @@ SR_PRIV struct sr_dev_driver rigol_ds1xx2_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -423,6 +423,19 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return SR_OK; return SR_OK;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
void *cb_data, int dmm) void *cb_data, int dmm)
{ {
@ -522,6 +535,7 @@ SR_PRIV struct sr_dev_driver ID##_driver_info = { \
.dev_clear = clear_instances_##ID_UPPER, \ .dev_clear = clear_instances_##ID_UPPER, \
.config_get = config_get, \ .config_get = config_get, \
.config_set = config_set, \ .config_set = config_set, \
.config_list = config_list, \
.dev_open = hw_dev_open, \ .dev_open = hw_dev_open, \
.dev_close = hw_dev_close, \ .dev_close = hw_dev_close, \
.dev_acquisition_start = hw_dev_acquisition_start_##ID_UPPER, \ .dev_acquisition_start = hw_dev_acquisition_start_##ID_UPPER, \

View File

@ -238,6 +238,19 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return SR_OK; return SR_OK;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
void *cb_data) void *cb_data)
{ {
@ -307,6 +320,7 @@ SR_PRIV struct sr_dev_driver tondaj_sl_814_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -255,6 +255,19 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return SR_OK; return SR_OK;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
void *cb_data) void *cb_data)
{ {
@ -317,6 +330,7 @@ SR_PRIV struct sr_dev_driver uni_t_ut61d_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,
@ -335,6 +349,7 @@ SR_PRIV struct sr_dev_driver voltcraft_vc820_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -298,6 +298,19 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
return ret; return ret;
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static void receive_transfer(struct libusb_transfer *transfer) static void receive_transfer(struct libusb_transfer *transfer)
{ {
struct dev_context *devc; struct dev_context *devc;
@ -466,6 +479,7 @@ SR_PRIV struct sr_dev_driver victor_dmm_driver_info = {
.dev_clear = clear_instances, .dev_clear = clear_instances,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,

View File

@ -649,6 +649,22 @@ static int config_set(int id, const void *value, const struct sr_dev_inst *sdi)
} }
} }
static int config_list(int key, const void **data, const struct sr_dev_inst *sdi)
{
(void)sdi;
switch (key) {
case SR_CONF_SAMPLERATE:
*data = &samplerates;
break;
default:
return SR_ERR_ARG;
}
return SR_OK;
}
static void set_triggerbar(struct dev_context *devc) static void set_triggerbar(struct dev_context *devc)
{ {
unsigned int ramsize; unsigned int ramsize;
@ -787,6 +803,7 @@ SR_PRIV struct sr_dev_driver zeroplus_logic_cube_driver_info = {
.dev_clear = hw_cleanup, .dev_clear = hw_cleanup,
.config_get = config_get, .config_get = config_get,
.config_set = config_set, .config_set = config_set,
.config_list = config_list,
.dev_open = hw_dev_open, .dev_open = hw_dev_open,
.dev_close = hw_dev_close, .dev_close = hw_dev_close,
.dev_acquisition_start = hw_dev_acquisition_start, .dev_acquisition_start = hw_dev_acquisition_start,