summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAditya Naik2020-04-22 15:58:38 -0400
committerAditya Naik2020-04-22 15:58:38 -0400
commit89c7930fb5be50108a8d72acfbd6fbded8063dd2 (patch)
tree41cd6194c2b7ca99c8ac87b94341df45e7fc875a
parent6b85f7b240cadeb076d666a5f14695eec7497300 (diff)
Manually add MDR
-rw-r--r--makefile2
-rw-r--r--src/main-data.c24
2 files changed, 25 insertions, 1 deletions
diff --git a/makefile b/makefile
index ed9fb02..e9ccdce 100644
--- a/makefile
+++ b/makefile
@@ -36,7 +36,7 @@ BUILD_DIR = build
######################################
# C sources
C_SOURCES = \
-src/main.c \
+src/main-data.c \
src/stm32f4xx_it.c \
src/stm32f4xx_hal_msp.c \
src/system_stm32f4xx.c \
diff --git a/src/main-data.c b/src/main-data.c
index 49849ea..83d648e 100644
--- a/src/main-data.c
+++ b/src/main-data.c
@@ -90,6 +90,30 @@ int main(void)
#ifdef MASTER
/* Add MDR */
+ uint8_t dev_idx = GET_IDX_FROM_ADDR(I2C_ADDRESS);
+ subs_info[dev_idx] = malloc(sizeof(subscription_info_t));
+ subs_info[dev_idx]->mod_idx = subs_info[dev_idx]->entity_idx =
+ subs_info[dev_idx]->class_idx = subs_info[dev_idx]->i2c_idx = 0;
+
+ /* These fields are from the encode_sub callback used for testing */
+ for (int x=0; x<2; x++) {
+ subs_info[dev_idx]->module_ids[subs_info[dev_idx]->mod_idx++]
+ = x+10*x;
+ subs_info[dev_idx]->i2c_address[subs_info[dev_idx]->i2c_idx++]
+ = x+1;
+ }
+ _MDR module_MDR = s2m_MDR_response_init_default;
+
+ device_info[dev_idx] = malloc(sizeof(device_info_t));
+ device_info[dev_idx]->i2c_addr = I2C_ADDRESS;
+ device_info[dev_idx]->device_id = dev_idx;
+
+ module_MDR.MDR_version = 1.1;
+ module_MDR.module_id = 1;
+ module_MDR.module_class = 1;
+ module_MDR.entity_id = 32;
+
+ device_info[dev_idx]->MDR = module_MDR;
/* dataflow */