summaryrefslogtreecommitdiff
path: root/digital/io/src/main.c
diff options
context:
space:
mode:
authorNicolas Schodet2009-05-05 08:27:28 +0200
committerNicolas Schodet2009-05-05 08:27:28 +0200
commitc2b0d24d97c81990b213905ff58088136410a666 (patch)
tree38a8796dd77e187644435c0851e3f7ecfd40729f /digital/io/src/main.c
parent6abdc9299138fe3b1e4f84605492a9c634b3d088 (diff)
* digital/io:
- added PWM.
Diffstat (limited to 'digital/io/src/main.c')
-rw-r--r--digital/io/src/main.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/digital/io/src/main.c b/digital/io/src/main.c
index 9f9874a4..fd5b720c 100644
--- a/digital/io/src/main.c
+++ b/digital/io/src/main.c
@@ -47,6 +47,7 @@
#include "chrono.h" /* chrono_end_match */
#include "gutter.h" /* gutter_generate_wait_finished_event */
#include "sharp.h" /* sharp module */
+#include "pwm.h"
#include "playground.h"
#include "io.h"
@@ -149,6 +150,8 @@ main_init (void)
top_start ();
/* Sharp module */
sharp_init ();
+ /* PWM module */
+ pwm_init ();
/* io initialization done */
proto_send0 ('z');
@@ -193,6 +196,9 @@ main_loop (void)
return;
}
+ /* Update PWM */
+ pwm_update ();
+
/* Update TWI module to get new data from the asserv board */
asserv_update_status ();
@@ -427,6 +433,7 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args)
}
}
break;
+
case c ('s', 2):
/* Set servo motor to a desired position using the servo module.
* - 1b: servo id number;
@@ -472,6 +479,14 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args)
v8_to_v16 (args[3], args[4]));
break;
+ case c ('w', 4):
+ /* Set PWM.
+ * - 1w: PWM value id number;
+ * - 1w: pwm high time value (position).
+ */
+ pwm_set (v8_to_v16 (args[0], args[1]), v8_to_v16 (args[2], args[3]));
+ break;
+
/* EEPROM command */
case c ('e', 1):
{