Commit b3e299c0 authored by Federico Vaga's avatar Federico Vaga

wrtd: fix sw trigger

Signed-off-by: 's avatarFederico Vaga <federico.vaga@gmail.com>


NOTE
This commit has been created by `git subtree` on the Mock Turtle repository
on tag mock-turtle-2.0

This commit will not compile
parent fcf8d63e
......@@ -190,5 +190,9 @@ extern int wrtd_out_reset_counters(struct wrtd_node *dev, unsigned int output);
extern int wrtd_out_check_triggered(struct wrtd_node *dev, unsigned int output);
//int wrtd_out_wait_trigger(struct wrtd_node*, int output_mask, struct wrtd_trig_id *id);
/**
* @file libwrtd-internal.c
*/
extern struct wr_timestamp picos_to_ts(uint64_t p);
#endif
......@@ -238,7 +238,29 @@ static int wrtd_cmd_reset(struct wrtd_node *wrtd, int input,
static int wrtd_cmd_sw_trigger(struct wrtd_node *wrtd, int input,
int argc, char *argv[])
{
return wrtd_in_trigger_software(wrtd, input);
struct wrtd_trigger_entry ent;
uint64_t ts;
int ret;
if (argc != 1 || argv[0] == NULL) {
fprintf(stderr, "Missing deadtime value\n");
return -1;
}
ret = parse_trigger_id(argv[0], &ent.id);
if (ret < 0)
return -1;
if (argv[1] != NULL) {
parse_delay(argv[1], &ts);
ent.ts = picos_to_ts(ts);
} else {
ent.ts.seconds = 0;
ent.ts.ticks = 100000000000ULL / 8000ULL; /* 100ms */
ent.ts.bins = 0;
}
return wrtd_in_trigger_software(wrtd, &ent);
}
int main(int argc, char *argv[])
......
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