aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gpiocmds.c20
-rw-r--r--src/pwmcmds.c11
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)