summaryrefslogtreecommitdiff
path: root/digital/io-hub/src/robospierre/simu.host.c
diff options
context:
space:
mode:
authorNicolas Schodet2011-05-23 00:13:14 +0200
committerNicolas Schodet2011-05-23 01:25:09 +0200
commitc5b1353dea8a426d6eea043fb5aa78722f7b0bc5 (patch)
tree110c3c8e92b23c6d9535f0ee22ebac87ef26977f /digital/io-hub/src/robospierre/simu.host.c
parente2ea2a7d57b9a204c08488118aa054b56a1e43fe (diff)
digital/io-hub: add US distance sensors
Diffstat (limited to 'digital/io-hub/src/robospierre/simu.host.c')
-rw-r--r--digital/io-hub/src/robospierre/simu.host.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/digital/io-hub/src/robospierre/simu.host.c b/digital/io-hub/src/robospierre/simu.host.c
index 281a60d6..f7a43eea 100644
--- a/digital/io-hub/src/robospierre/simu.host.c
+++ b/digital/io-hub/src/robospierre/simu.host.c
@@ -28,10 +28,20 @@
#include "modules/utils/utils.h"
#include "modules/host/host.h"
#include "modules/host/mex.h"
+#include "modules/adc/adc.h"
#include "io.h"
/** AVR registers. */
-uint8_t PINA, PINE, PINF;
+uint8_t PORTA, DDRA, PINA, PINE, PINF;
+
+static void
+simu_adc_handle (void *user, mex_msg_t *msg)
+{
+ uint8_t index;
+ uint16_t value;
+ mex_msg_pop (msg, "BH", &index, &value);
+ adc_values[index] = value;
+}
/** Initialise simulation. */
void
@@ -40,6 +50,8 @@ simu_init (void)
const char *mex_instance;
mex_node_connect ();
mex_instance = host_get_instance ("io-hub0", 0);
+ uint8_t mtype = mex_node_reservef ("%s:adc", mex_instance);
+ mex_node_register (mtype, simu_adc_handle, 0);
}
/** Make a simulation step. */