From fa26d442e569819d855aff18d2b8db17765fa41f Mon Sep 17 00:00:00 2001 From: klassents Date: Sun, 13 Oct 2024 09:59:44 +0700 Subject: [PATCH] =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB?= =?UTF-8?q?=D0=B0=20=D0=BC=D0=B0=D0=BA=D1=80=D0=BE=D1=81=D1=8B=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20spi=20=D0=BD=D0=B0=20=D1=82=D0=B5,=20=D1=87?= =?UTF-8?q?=D1=82=D0=BE=20=D0=B2=20LL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- variants/standart/variant.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/variants/standart/variant.c b/variants/standart/variant.c index f5466c2..ed0f3b6 100644 --- a/variants/standart/variant.c +++ b/variants/standart/variant.c @@ -266,25 +266,20 @@ int8_t digitalPinToInterrupt(uint32_t digPinNumber) } // ---------------------- SPI ---------------------- // -// pins shift in registers -#define PIN_3_SHIFT 3 -#define PIN_4_SHIFT 4 -#define PORT1_GET_PAD_PUPD(pinShift) ((PAD_CONFIG->PORT_1_PUPD >> (pinShift<<1)) & 0b11) -#define PORT1_GET_GPIO_STATE(pinShift) ((GPIO_1->OUTPUT_ >> pinShift) & 0b1) - void spi_onBegin(void) { // On Elbear Ace-Uno rev1.1.0 there is a seller on pin 1.6 which replace D10 from spi NSS pin 1.3 to pin 1.4, // because spi needs pin 1.3 for correct work // replace config from 1.3 to 1.4 - uint8_t config = PIN_GET_PAD_CONFIG(PORT_1_CFG, PIN_3_SHIFT); + uint8_t config = PIN_GET_PAD_CONFIG(PORT_1_CFG, PIN_MASK_TO_PIN_NUMBER(GPIO_PIN_3)); if (config == 0) // common gpio { // get info from pin gpio1.3 and set config to gpio1.4 HAL_GPIO_PinConfig(GPIO_1, GPIO_PIN_4, HAL_GPIO_GetPinDirection(GPIO_1, GPIO_PIN_3), - (HAL_GPIO_PullTypeDef)PORT1_GET_PAD_PUPD(PIN_3_SHIFT), HAL_GPIO_DS_2MA); - HAL_GPIO_WritePin(GPIO_1, GPIO_PIN_4, (GPIO_PinState)PORT1_GET_GPIO_STATE(PIN_3_SHIFT)); + (HAL_GPIO_PullTypeDef)PIN_GET_PAD_CONFIG(PORT_1_PUPD, PIN_MASK_TO_PIN_NUMBER(GPIO_PIN_3)), + HAL_GPIO_DS_2MA); + HAL_GPIO_WritePin(GPIO_1, GPIO_PIN_4, (GPIO_PinState)GPIO_GET_PIN_STATE(GPIO_1, PIN_MASK_TO_PIN_NUMBER(GPIO_PIN_3))); // pin D10 was switched to different gpio and can be used further } @@ -305,8 +300,8 @@ void spi_onEnd(void) { // get info from pin gpio1.4 and set config to gpio1.3 HAL_GPIO_PinConfig(GPIO_1, GPIO_PIN_3, HAL_GPIO_GetPinDirection(GPIO_1, GPIO_PIN_4), - (HAL_GPIO_PullTypeDef)PORT1_GET_PAD_PUPD(PIN_4_SHIFT), HAL_GPIO_DS_2MA); - HAL_GPIO_WritePin(GPIO_1, GPIO_PIN_3, (GPIO_PinState)PORT1_GET_GPIO_STATE(PIN_4_SHIFT)); + (HAL_GPIO_PullTypeDef)PIN_GET_PAD_CONFIG(PORT_1_PUPD, PIN_MASK_TO_PIN_NUMBER(GPIO_PIN_4)), HAL_GPIO_DS_2MA); + HAL_GPIO_WritePin(GPIO_1, GPIO_PIN_3, (GPIO_PinState)GPIO_GET_PIN_STATE(GPIO_1, PIN_MASK_TO_PIN_NUMBER(GPIO_PIN_4))); // switch seller back to pin 1.3 HAL_GPIO_WritePin(GPIO_1, GPIO_PIN_6, GPIO_PIN_LOW);