From d9a7097fa3ceb320e6a59c1f5ba9280fc6406e96 Mon Sep 17 00:00:00 2001 From: Denis Bodor Date: Tue, 30 Jan 2024 09:46:48 +0100 Subject: [PATCH 1/2] Add pullup on card detection + change to exact baudrate @3.5Mhz clock (1/((1/3500000)*372)) --- src/drv/stm32cube/bsp_smartcard.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/drv/stm32cube/bsp_smartcard.c b/src/drv/stm32cube/bsp_smartcard.c index 65480464..c618a161 100644 --- a/src/drv/stm32cube/bsp_smartcard.c +++ b/src/drv/stm32cube/bsp_smartcard.c @@ -79,7 +79,7 @@ static void smartcard_gpio_hw_init(bsp_dev_smartcard_t dev_num) /*SMARTCARD1 CD pin configuration*/ GPIO_InitStructure.Pin = BSP_SMARTCARD1_CD_PIN; GPIO_InitStructure.Mode = GPIO_MODE_INPUT; - GPIO_InitStructure.Pull = GPIO_NOPULL; + GPIO_InitStructure.Pull = GPIO_PULLUP; HAL_GPIO_Init(BSP_SMARTCARD1_CD_PORT, &GPIO_InitStructure); } @@ -142,7 +142,7 @@ bsp_status_t bsp_smartcard_init(bsp_dev_smartcard_t dev_num, mode_config_proto_t hsmartcard->Instance = BSP_SMARTCARD1; /* Defaults */ - hsmartcard->Init.BaudRate = 9600; /* Starting baudrate = 3,5MHz / 372etu */ + hsmartcard->Init.BaudRate = 9408; /* Starting baudrate = 3,5MHz / 372etu */ hsmartcard->Init.WordLength = SMARTCARD_WORDLENGTH_9B; hsmartcard->Init.StopBits = SMARTCARD_STOPBITS_1_5; hsmartcard->Init.Parity = SMARTCARD_PARITY_EVEN; From 9826b18554b91d28d5369964d75c9998846e6a39 Mon Sep 17 00:00:00 2001 From: Denis Bodor Date: Tue, 13 Feb 2024 17:45:41 +0100 Subject: [PATCH 2/2] Change smartcard default speed to 9408 for 3.5Mhz clock --- src/hydrabus/hydrabus_bbio_smartcard.c | 2 +- src/hydrabus/hydrabus_mode_smartcard.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hydrabus/hydrabus_bbio_smartcard.c b/src/hydrabus/hydrabus_bbio_smartcard.c index 4eb9d23d..0cde4e33 100644 --- a/src/hydrabus/hydrabus_bbio_smartcard.c +++ b/src/hydrabus/hydrabus_bbio_smartcard.c @@ -27,7 +27,7 @@ #include "hydrabus_bbio_smartcard.h" #include "bsp_smartcard.h" -#define SMARTCARD_DEFAULT_SPEED (9600) +#define SMARTCARD_DEFAULT_SPEED (9408) void bbio_smartcard_init_proto_default(t_hydra_console *con) { diff --git a/src/hydrabus/hydrabus_mode_smartcard.c b/src/hydrabus/hydrabus_mode_smartcard.c index b16456fc..dca9fb85 100644 --- a/src/hydrabus/hydrabus_mode_smartcard.c +++ b/src/hydrabus/hydrabus_mode_smartcard.c @@ -22,7 +22,7 @@ #include "bsp_smartcard.h" #include -#define SMARTCARD_DEFAULT_SPEED (9600) +#define SMARTCARD_DEFAULT_SPEED (9408) static int exec(t_hydra_console *con, t_tokenline_parsed *p, int token_pos); static int show(t_hydra_console *con, t_tokenline_parsed *p);