summaryrefslogtreecommitdiffhomepage
path: root/digital
diff options
context:
space:
mode:
Diffstat (limited to 'digital')
-rw-r--r--digital/mimot/src/dirty/models.host.c2
-rw-r--r--digital/mimot/src/dirty/simu.host.c9
-rw-r--r--digital/mimot/src/dirty/simu.host.h3
3 files changed, 13 insertions, 1 deletions
diff --git a/digital/mimot/src/dirty/models.host.c b/digital/mimot/src/dirty/models.host.c
index b1141748..db4152e0 100644
--- a/digital/mimot/src/dirty/models.host.c
+++ b/digital/mimot/src/dirty/models.host.c
@@ -91,7 +91,7 @@ static const struct robot_t robospierre_robot =
/** Number of steps for each auxiliary motor encoder. */
{ 256, 250 },
/** Sensor update function. */
- NULL,
+ simu_sensor_update_robospierre,
};
/* Table of models. */
diff --git a/digital/mimot/src/dirty/simu.host.c b/digital/mimot/src/dirty/simu.host.c
index af07d744..8afd73ca 100644
--- a/digital/mimot/src/dirty/simu.host.c
+++ b/digital/mimot/src/dirty/simu.host.c
@@ -152,6 +152,15 @@ simu_sensor_update_marcel (void)
{
}
+/** Update sensors for Robospierre. */
+void
+simu_sensor_update_robospierre (void)
+{
+ PINC = 0;
+ if (simu_aux_model[0].th < 120.0 * 5.0 / 6.0 * simu_aux_model[0].m.i_G)
+ PINC |= IO_BV (CONTACT_AUX0_ZERO_IO);
+}
+
/** Do a simulation step. */
static void
simu_step (void)
diff --git a/digital/mimot/src/dirty/simu.host.h b/digital/mimot/src/dirty/simu.host.h
index 6250bed1..87a728b6 100644
--- a/digital/mimot/src/dirty/simu.host.h
+++ b/digital/mimot/src/dirty/simu.host.h
@@ -45,4 +45,7 @@ simu_sensor_update_aquajim (void);
void
simu_sensor_update_marcel (void);
+void
+simu_sensor_update_robospierre (void);
+
#endif /* simu_host_h */