summaryrefslogtreecommitdiffhomepage
path: root/digital/mimot/src/dirty
diff options
context:
space:
mode:
Diffstat (limited to 'digital/mimot/src/dirty')
-rw-r--r--digital/mimot/src/dirty/cs.c13
-rw-r--r--digital/mimot/src/dirty/cs.h3
-rw-r--r--digital/mimot/src/dirty/main.c1
-rw-r--r--digital/mimot/src/dirty/twi_proto.c1
4 files changed, 18 insertions, 0 deletions
diff --git a/digital/mimot/src/dirty/cs.c b/digital/mimot/src/dirty/cs.c
index 73c2cbd1..fad1bc98 100644
--- a/digital/mimot/src/dirty/cs.c
+++ b/digital/mimot/src/dirty/cs.c
@@ -67,3 +67,16 @@ cs_update (void)
control_system_single_update (&cs_aux[i]);
}
+void
+cs_reset (void)
+{
+ uint8_t i;
+ for (i = 0; i < AC_ASSERV_AUX_NB; i++)
+ {
+ output_set (&output_aux[i], 0);
+ output_brake (&output_aux[i], 0);
+ control_state_set_mode (&cs_aux[i].state, CS_MODE_NONE, 0);
+ }
+ output_update ();
+}
+
diff --git a/digital/mimot/src/dirty/cs.h b/digital/mimot/src/dirty/cs.h
index ab3c3a62..c754e380 100644
--- a/digital/mimot/src/dirty/cs.h
+++ b/digital/mimot/src/dirty/cs.h
@@ -40,4 +40,7 @@ cs_update_prepare (void);
void
cs_update (void);
+void
+cs_reset (void);
+
#endif /* cs_h */
diff --git a/digital/mimot/src/dirty/main.c b/digital/mimot/src/dirty/main.c
index f6b7fd6a..187f013a 100644
--- a/digital/mimot/src/dirty/main.c
+++ b/digital/mimot/src/dirty/main.c
@@ -206,6 +206,7 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args)
{
case c ('z', 0):
/* Reset. */
+ cs_reset ();
utils_reset ();
break;
/* Commands. */
diff --git a/digital/mimot/src/dirty/twi_proto.c b/digital/mimot/src/dirty/twi_proto.c
index 3ac4b8a4..66cdb5aa 100644
--- a/digital/mimot/src/dirty/twi_proto.c
+++ b/digital/mimot/src/dirty/twi_proto.c
@@ -108,6 +108,7 @@ twi_proto_callback (u8 *buf, u8 size)
{
case c ('z', 0):
/* Reset. */
+ cs_reset ();
utils_reset ();
break;
case c ('b', 4):