From 89c7930fb5be50108a8d72acfbd6fbded8063dd2 Mon Sep 17 00:00:00 2001 From: Aditya Naik Date: Wed, 22 Apr 2020 15:58:38 -0400 Subject: Manually add MDR --- makefile | 2 +- src/main-data.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) 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 */ -- cgit v1.2.3