diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gpiocmds.c | 20 | ||||
-rw-r--r-- | src/pwmcmds.c | 11 |
2 files changed, 17 insertions, 14 deletions
diff --git a/src/gpiocmds.c b/src/gpiocmds.c index 69f60f97..52e3d8d5 100644 --- a/src/gpiocmds.c +++ b/src/gpiocmds.c @@ -44,14 +44,15 @@ digital_out_event(struct timer *timer) void command_config_digital_out(uint32_t *args) { + struct gpio_out pin = gpio_out_setup(args[1], args[2]); struct digital_out_s *d = oid_alloc(args[0], command_config_digital_out , sizeof(*d)); - d->default_value = args[2]; - d->pin = gpio_out_setup(args[1], d->default_value); - d->max_duration = args[3]; + d->pin = pin; + d->default_value = args[3]; + d->max_duration = args[4]; } DECL_COMMAND(command_config_digital_out, - "config_digital_out oid=%c pin=%u default_value=%c" + "config_digital_out oid=%c pin=%u value=%c default_value=%c" " max_duration=%u"); void @@ -159,17 +160,18 @@ soft_pwm_load_event(struct timer *timer) void command_config_soft_pwm_out(uint32_t *args) { + struct gpio_out pin = gpio_out_setup(args[1], !!args[3]); struct soft_pwm_s *s = oid_alloc(args[0], command_config_soft_pwm_out , sizeof(*s)); + s->pin = pin; s->cycle_time = args[2]; - s->default_value = !!args[3]; - s->max_duration = args[4]; + s->default_value = !!args[4]; + s->max_duration = args[5]; s->flags = s->default_value ? SPF_ON : 0; - s->pin = gpio_out_setup(args[1], s->default_value); } DECL_COMMAND(command_config_soft_pwm_out, - "config_soft_pwm_out oid=%c pin=%u cycle_ticks=%u default_value=%c" - " max_duration=%u"); + "config_soft_pwm_out oid=%c pin=%u cycle_ticks=%u value=%c" + " default_value=%c max_duration=%u"); void command_schedule_soft_pwm_out(uint32_t *args) diff --git a/src/pwmcmds.c b/src/pwmcmds.c index 82326b9d..cf025ddb 100644 --- a/src/pwmcmds.c +++ b/src/pwmcmds.c @@ -37,14 +37,15 @@ pwm_event(struct timer *timer) void command_config_pwm_out(uint32_t *args) { + struct gpio_pwm pin = gpio_pwm_setup(args[1], args[2], args[3]); struct pwm_out_s *p = oid_alloc(args[0], command_config_pwm_out, sizeof(*p)); - p->default_value = args[3]; - p->pin = gpio_pwm_setup(args[1], args[2], p->default_value); - p->max_duration = args[4]; + p->pin = pin; + p->default_value = args[4]; + p->max_duration = args[5]; } DECL_COMMAND(command_config_pwm_out, - "config_pwm_out oid=%c pin=%u cycle_ticks=%u default_value=%hu" - " max_duration=%u"); + "config_pwm_out oid=%c pin=%u cycle_ticks=%u value=%hu" + " default_value=%hu max_duration=%u"); void command_schedule_pwm_out(uint32_t *args) |