Ignore:
Timestamp:
Feb 11, 2025, 4:00:08 PM (3 months ago)
Author:
Zed
Message:

BME280 data transfer works ok. Device returns its ID 0x60.

Location:
ctrl/firmware/Main/CubeMX/Core
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • ctrl/firmware/Main/CubeMX/Core/Inc/main.h

    r84 r88  
    126126#define ETH_SPI_NSS_Pin GPIO_PIN_4
    127127#define ETH_SPI_NSS_GPIO_Port GPIOB
     128#define BME_I2C_SCL_Pin GPIO_PIN_6
     129#define BME_I2C_SCL_GPIO_Port GPIOB
     130#define BME_I2C_SDA_Pin GPIO_PIN_7
     131#define BME_I2C_SDA_GPIO_Port GPIOB
    128132#define ETH_SPI_INT_Pin GPIO_PIN_8
    129133#define ETH_SPI_INT_GPIO_Port GPIOB
  • ctrl/firmware/Main/CubeMX/Core/Src/freertos.c

    r87 r88  
    3636#include "beeper_task.h"
    3737#include "onewire_task.h"
     38#include "bme_task.h"
    3839
    3940/* USER CODE END Includes */
     
    5354#define BEEPER_TASK_STACK_DEPTH_WORDS                           (128U)
    5455#define ONEWIRE_TASK_STACK_DEPTH_WORDS                          (128U)
     56#define BME_TASK_STACK_DEPTH_WORDS                                      (256U)
    5557
    5658/* USER CODE END PD */
     
    6971static StackType_t beeperTaskStackBuffer[BEEPER_TASK_STACK_DEPTH_WORDS]                                 __attribute__((section(".DTCM_RAM")));
    7072static StackType_t onewireTaskStackBuffer[ONEWIRE_TASK_STACK_DEPTH_WORDS]                               __attribute__((section(".DTCM_RAM")));
     73static StackType_t bmeTaskStackBuffer[BME_TASK_STACK_DEPTH_WORDS]                                               __attribute__((section(".DTCM_RAM")));
    7174
    7275static uint8_t beeperQueueStorageArea[BEEPER_QUEUE_SIZE * BEEPER_QUEUE_ITEM_SIZE]               __attribute__((section(".DTCM_RAM")));
     
    7881static StaticTask_t beeperTaskBuffer                                                                                                    __attribute__((section(".DTCM_RAM")));
    7982static StaticTask_t onewireTaskBuffer                                                                                                   __attribute__((section(".DTCM_RAM")));
     83static StaticTask_t bmeTaskBuffer                                                                                                               __attribute__((section(".DTCM_RAM")));
    8084
    8185static StaticQueue_t beeperQueueBuffer                                                                                                  __attribute__((section(".DTCM_RAM")));
     
    8791static const char* const beeperTaskName = "BeeperTask";
    8892static const char* const onewireTaskName = "1WireTask";
    89 
     93static const char* const bmeTaskName = "BMETask";
    9094
    9195/* USER CODE END Variables */
     
    190194  if (r == NULL) printf("Cannot create %s!\n", onewireTaskName);
    191195
     196  r = xTaskCreateStatic(bmeTaskStart, bmeTaskName, BME_TASK_STACK_DEPTH_WORDS, NULL, 24, bmeTaskStackBuffer, &bmeTaskBuffer);
     197  if (r == NULL) printf("Cannot create %s!\n", bmeTaskName);
     198
    192199  /* USER CODE END RTOS_THREADS */
    193200
  • ctrl/firmware/Main/CubeMX/Core/Src/gpio.c

    r84 r88  
    128128
    129129  /*Configure GPIO pins : PB0 PB1 PB2 PB11
    130                            PB12 PB13 PB3 PB5
    131                            PB6 PB7 */
     130                           PB12 PB13 PB3 PB5 */
    132131  GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_11
    133                           |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_3|GPIO_PIN_5
    134                           |GPIO_PIN_6|GPIO_PIN_7;
     132                          |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_3|GPIO_PIN_5;
    135133  GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
    136134  GPIO_InitStruct.Pull = GPIO_NOPULL;
  • ctrl/firmware/Main/CubeMX/Core/Src/main.c

    r86 r88  
    2222#include "dma.h"
    2323#include "fatfs.h"
     24#include "i2c.h"
    2425#include "mdma.h"
    2526#include "memorymap.h"
     
    140141  MX_USART10_UART_Init();
    141142  MX_TIM6_Init();
     143  MX_I2C1_Init();
    142144  /* USER CODE BEGIN 2 */
    143145
     
    193195  * in the RCC_OscInitTypeDef structure.
    194196  */
    195   RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE;
     197  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE
     198                              |RCC_OSCILLATORTYPE_LSE;
    196199  RCC_OscInitStruct.HSEState = RCC_HSE_ON;
    197200  RCC_OscInitStruct.LSEState = RCC_LSE_ON;
     201  RCC_OscInitStruct.HSIState = RCC_HSI_DIV1;
     202  RCC_OscInitStruct.HSICalibrationValue = 64;
    198203  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
    199204  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
     
    246251  PeriphClkInitStruct.PLL3.PLL3P = 2;
    247252  PeriphClkInitStruct.PLL3.PLL3Q = 8;
    248   PeriphClkInitStruct.PLL3.PLL3R = 2;
     253  PeriphClkInitStruct.PLL3.PLL3R = 4;
    249254  PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3VCIRANGE_0;
    250255  PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOMEDIUM;
Note: See TracChangeset for help on using the changeset viewer.