X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=test-modbus%2Ftest.c;h=e8909987baef0d4d2b9cda74929b72daf7f4b349;hb=71d8e81533dc24d06cae545edac06c0fe393b374;hp=4dc1f41757f2aaf86d68261ae88e540c9857e050;hpb=f8c650828fe1cedb50bc66b636ab76756ec67837;p=home-hw.git diff --git a/test-modbus/test.c b/test-modbus/test.c index 4dc1f41..e890998 100644 --- a/test-modbus/test.c +++ b/test-modbus/test.c @@ -33,6 +33,11 @@ static void gpio_setup(void) // PC13 = BluePill LED gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO13); gpio_clear(GPIOC, GPIO13); + + // Pins for MODBUS USART + gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO_USART2_RX); + gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO_USART2_TX); + gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO1); } static volatile u32 ms_ticks; @@ -98,7 +103,7 @@ int main(void) // gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO8); for (;;) { - //gpio_toggle(GPIOC, GPIO13); + gpio_toggle(GPIOC, GPIO13); delay_ms(50); // gpio_toggle(GPIOA, GPIO8); //timer_set_oc_mode(TIM4, TIM_OC1, TIM_OCM_FORCE_LOW); @@ -109,3 +114,62 @@ int main(void) return 0; } + +/*** Modbus callbacks ***/ + +bool modbus_check_discrete_input(u16 addr UNUSED) +{ + return false; +} + +bool modbus_get_discrete_input(u16 addr UNUSED) +{ + return false; +} + +bool modbus_check_coil(u16 addr UNUSED) +{ + return false; +} + +bool modbus_get_coil(u16 addr UNUSED) +{ + return false; +} + +void modbus_set_coil(u16 addr UNUSED, bool value UNUSED) +{ +} + +bool modbus_check_input_register(u16 addr UNUSED) +{ + return false; +} + +u16 modbus_get_input_register(u16 addr UNUSED) +{ + return 0; +} + +bool modbus_check_holding_register(u16 addr UNUSED) +{ + return (addr < 16); +} + +u16 modbus_get_holding_register(u16 addr UNUSED) +{ + return 0xbeef; +} + +void modbus_set_holding_register(u16 addr UNUSED, u16 value UNUSED) +{ +} + +const char * const modbus_id_strings[MODBUS_ID_MAX] = { + [MODBUS_ID_VENDOR_NAME] = "United Computer Wizards", + [MODBUS_ID_PRODUCT_CODE] = "42", + [MODBUS_ID_MAJOR_MINOR_REVISION] = "1.0", + [MODBUS_ID_VENDOR_URL] = "http://www.ucw.cz/", + [MODBUS_ID_PRODUCT_NAME] = "Magic Gadget", + [MODBUS_ID_USER_APP_NAME] = NULL, +};