Commit 6f6d715f authored by Federico Vaga's avatar Federico Vaga

deprecate: set|get_buffer

Signed-off-by: Federico Vaga's avatarFederico Vaga <federico.vaga@cern.ch>
parent 35e9fa64
......@@ -446,10 +446,11 @@ int fmctdc_channel_disable(struct fmctdc_board *userb, unsigned int channel)
* The function returns current buffer mode: 0 for FIFO, 1 for circular buffer.
* @param[in] userb TDC board instance token
* @param[in] channel to use
* @return buffer mode, otherwise a negative errno code is set
* appropriately
* @param[out] mode the buffer mode in use
* @return 0 on success, otherwise -1 and errno is set appropriately
*/
int fmctdc_get_buffer_mode(struct fmctdc_board *userb, unsigned int channel)
int fmctdc_buffer_sw_mode_get(struct fmctdc_board *userb, unsigned int channel,
enum fmctdc_buffer_sw_mode *mode)
{
__define_board(b, userb);
uint32_t val;
......@@ -466,7 +467,8 @@ int fmctdc_get_buffer_mode(struct fmctdc_board *userb, unsigned int channel)
ret = fmctdc_sysfs_get(b, attr, &val);
if (ret)
return ret;
return val;
*mode = val;
return 0;
}
/**
......@@ -477,8 +479,8 @@ int fmctdc_get_buffer_mode(struct fmctdc_board *userb, unsigned int channel)
* @return 0 on success, otherwise a negative errno code is set
* appropriately
*/
int fmctdc_set_buffer_mode(struct fmctdc_board *userb, unsigned int channel,
enum fmctdc_buffer_mode mode)
int fmctdc_buffer_sw_mode_set(struct fmctdc_board *userb, unsigned int channel,
enum fmctdc_buffer_sw_mode mode)
{
__define_board(b, userb);
uint32_t val;
......@@ -859,18 +861,12 @@ int fmctdc_reference_set(struct fmctdc_board *userb,
struct __fmctdc_board *b = (void *)(userb);
uint32_t ch_ref = ch_reference;
char path[64];
int err;
enum ft_transfer_mode mode;
if (ch_target >= FMCTDC_NUM_CHANNELS || ch_reference >= FMCTDC_NUM_CHANNELS ) {
errno = EINVAL;
return -1;
}
err = fmctdc_buffer_mode(userb, ch_target, &mode);
if (err)
return err;
snprintf(path, sizeof(path), "ft-ch%d/diff-reference", ch_target + 1);
return fmctdc_sysfs_set(b, path, &ch_ref);
}
......@@ -1017,8 +1013,9 @@ int fmctdc_offset_get(struct fmctdc_board *userb,
* @param[out] mode transfer mode
* @return 0 on success, otherwise -1 and errno is set appropriately
*/
int fmctdc_buffer_mode(struct fmctdc_board *userb,
unsigned int channel, enum ft_transfer_mode *mode)
int fmctdc_buffer_hw_mode_get(struct fmctdc_board *userb,
unsigned int channel,
enum fmctdc_buffer_hw_mode *mode)
{
struct __fmctdc_board *b = (void *)(userb);
uint32_t val;
......@@ -1266,3 +1263,21 @@ int fmctdc_channel_status_get(struct fmctdc_board *userb,
return err;
return status;
}
int fmctdc_get_buffer_mode(struct fmctdc_board *userb,
unsigned int channel)
{
int err;
enum fmctdc_buffer_sw_mode mode;
err = fmctdc_buffer_sw_mode_get(userb, channel, &mode);
if (err)
return err;
return mode;
}
int fmctdc_set_buffer_mode(struct fmctdc_board *userb,
unsigned int channel,
enum fmctdc_buffer_sw_mode mode)
__attribute__((alias("fmctdc_buffer_sw_mode_set")));
......@@ -33,12 +33,12 @@ enum fmctdc_channel {
/**
* Enumeration of all buffer modes
*/
enum fmctdc_buffer_mode {
FMCTDC_BUFFER_FIFO = 0, /**< FIFO policy: when buffer is full, new
time-stamps will be dropped */
FMCTDC_BUFFER_CIRC, /**< circular buffer policy: when the buffer is
full, old time-stamps will be overwritten by
new ones */
enum fmctdc_buffer_sw_mode {
FMCTDC_BUF_SW_MODE_FIFO = 0, /**< FIFO policy: when buffer is full, new
time-stamps will be dropped */
FMCTDC_BUF_SW_MODE_CIRC, /**< circular buffer policy: when the buffer is
full, old time-stamps will be overwritten by
new ones */
};
......@@ -51,11 +51,11 @@ enum fmctdc_channel_status {
};
/**
*
* Enumeration of all hardware buffer mode
*/
enum ft_transfer_mode {
FT_ACQ_TYPE_FIFO = 0,
FT_ACQ_TYPE_DMA,
enum fmctdc_buffer_hw_mode {
FMCTDC_BUF_HW_MODE_FIFO = 0,
FMCTDC_BUF_HW_MODE_DMA,
};
/**
......@@ -150,6 +150,16 @@ extern int fmctdc_termination_set(struct fmctdc_board *b,
extern int fmctdc_termination_get(struct fmctdc_board *b,
unsigned int channel,
unsigned int *enable);
extern int fmctdc_buffer_hw_mode_get(struct fmctdc_board *userb,
unsigned int channel,
enum fmctdc_buffer_hw_mode *mode);
extern int fmctdc_buffer_sw_mode_get(struct fmctdc_board *userb,
unsigned int channel,
enum fmctdc_buffer_sw_mode *mode);
extern int fmctdc_buffer_sw_mode_set(struct fmctdc_board *userb,
unsigned int channel,
enum fmctdc_buffer_sw_mode mode);
/* Acquire Time-Stamps */
extern int fmctdc_fread(struct fmctdc_board *b, unsigned int channel,
struct fmctdc_time *t, int n);
......@@ -163,11 +173,6 @@ extern int _fmctdc_tscmp(struct fmctdc_time *a, struct fmctdc_time *b);
extern uint64_t fmctdc_ts_approx_ns(struct fmctdc_time *a);
extern uint64_t fmctdc_ts_ps(struct fmctdc_time *a);
/* deprecated */
extern int fmctdc_get_buffer_mode(struct fmctdc_board *userb,
unsigned int channel);
extern int fmctdc_set_buffer_mode(struct fmctdc_board *userb,
unsigned int channel,
enum fmctdc_buffer_mode mode);
extern int fmctdc_get_buffer_len(struct fmctdc_board *userb,
unsigned int channel);
extern int fmctdc_set_buffer_len(struct fmctdc_board *userb,
......@@ -178,9 +183,6 @@ extern int fmctdc_reference_set(struct fmctdc_board *userb,
extern int fmctdc_reference_get(struct fmctdc_board *userb,
unsigned int ch_target);
extern int fmctdc_reference_clear(struct fmctdc_board *userb, int ch_target);
extern int fmctdc_buffer_mode(struct fmctdc_board *userb,
unsigned int channel,
enum ft_transfer_mode *mode);
extern int fmctdc_set_time(struct fmctdc_board *b, struct fmctdc_time *t)
__attribute__((deprecated));
extern int fmctdc_get_time(struct fmctdc_board *b, struct fmctdc_time *t)
......@@ -217,6 +219,13 @@ extern int fmctdc_channel_enable(struct fmctdc_board *userb,
extern int fmctdc_channel_disable(struct fmctdc_board *userb,
unsigned int channel)
__attribute__((deprecated));
extern int fmctdc_get_buffer_mode(struct fmctdc_board *userb,
unsigned int channel)
__attribute__((deprecated));
extern int fmctdc_set_buffer_mode(struct fmctdc_board *userb,
unsigned int channel,
enum fmctdc_buffer_sw_mode mode)
__attribute__((deprecated));
/* other */
extern const char * const libfmctdc_version_s;
......
......@@ -251,7 +251,7 @@ int main(int argc, char **argv)
int channels[FMCTDC_NUM_CHANNELS];
int chan_count = 0, i, n, ch, fd, n_ts, ret, n_boards;
int nblock = 0, buflen = 16;
enum fmctdc_buffer_mode bufmode = FMCTDC_BUFFER_FIFO;
enum fmctdc_buffer_sw_mode bufmode = FMCTDC_BUF_SW_MODE_FIFO;
int n_samples = -1;
unsigned int n_show = 1;
int flush = 0, read = 0;
......@@ -314,9 +314,9 @@ int main(int argc, char **argv)
break;
case 'm':
if (strcmp(optarg, "fifo") == 0) {
bufmode = FMCTDC_BUFFER_FIFO;
bufmode = FMCTDC_BUF_SW_MODE_FIFO;
} else if (strcmp(optarg, "circ") == 0) {
bufmode = FMCTDC_BUFFER_CIRC;
bufmode = FMCTDC_BUF_SW_MODE_CIRC;
} else {
help(argv[0]);
exit(EXIT_SUCCESS);
......@@ -450,7 +450,7 @@ int main(int argc, char **argv)
}
/* set buffer mode */
ret = fmctdc_set_buffer_mode(brd, ch, bufmode);
ret = fmctdc_buffer_sw_mode_set(brd, ch, bufmode);
if (ret) {
fprintf(stderr,
"%s: chan %d: cannot set buffer mode: %s. Use default\n",
......
......@@ -180,18 +180,21 @@ static void fmctdc_param_test5(struct m_test *m_test)
{
struct fmctdc_test_desc *d = m_test->suite->private;
struct fmctdc_board *tdc = d->tdc;
int i, err, ret;
int i, err;
enum fmctdc_buffer_sw_mode mode;
for (i = 0; i < FMCTDC_NUM_CHANNELS; ++i) {
err = fmctdc_set_buffer_mode(tdc, i, FMCTDC_BUFFER_CIRC);
err = fmctdc_buffer_sw_mode_set(tdc, i, FMCTDC_BUF_SW_MODE_CIRC);
m_assert_int_eq(0, err);
ret = fmctdc_get_buffer_mode(tdc, i);
m_assert_int_eq(FMCTDC_BUFFER_CIRC, ret);
err = fmctdc_buffer_sw_mode_get(tdc, i, &mode);
m_assert_int_eq(0, err);
m_assert_int_eq(FMCTDC_BUF_SW_MODE_CIRC, mode);
err = fmctdc_set_buffer_mode(tdc, i, FMCTDC_BUFFER_FIFO);
err = fmctdc_buffer_sw_mode_set(tdc, i, FMCTDC_BUF_SW_MODE_FIFO);
m_assert_int_eq(0, err);
err = fmctdc_buffer_sw_mode_get(tdc, i, &mode);
m_assert_int_eq(0, err);
ret = fmctdc_get_buffer_mode(tdc, i);
m_assert_int_eq(FMCTDC_BUFFER_FIFO, ret);
m_assert_int_eq(FMCTDC_BUF_SW_MODE_FIFO, mode);
}
}
static const char *fmctdc_param_test5_desc =
......@@ -261,7 +264,7 @@ static void fmctdc_op_test_setup(struct m_test *m_test)
m_assert_int_eq(0, err);
err = fmctdc_coalescing_timeout_set(tdc, i, 10);
m_assert_int_eq(0, err);
err = fmctdc_set_buffer_mode(tdc, i, FMCTDC_BUFFER_FIFO);
err = fmctdc_buffer_sw_mode_set(tdc, i, FMCTDC_BUF_SW_MODE_FIFO);
m_assert_int_eq(0, err);
err = fmctdc_flush(tdc, i);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment