Configuring sensor
This commit is contained in:
		
					parent
					
						
							
								a56804ec46
							
						
					
				
			
			
				commit
				
					
						ee42fc0bbc
					
				
			
		
					 1 changed files with 52 additions and 6 deletions
				
			
		
							
								
								
									
										58
									
								
								Src/main.c
									
										
									
									
									
								
							
							
						
						
									
										58
									
								
								Src/main.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -18,6 +18,7 @@
 | 
			
		|||
/* USER CODE END Header */
 | 
			
		||||
/* Includes ------------------------------------------------------------------*/
 | 
			
		||||
#include "main.h"
 | 
			
		||||
#include "sensor_registers.h"
 | 
			
		||||
 | 
			
		||||
/* Private includes ----------------------------------------------------------*/
 | 
			
		||||
/* USER CODE BEGIN Includes */
 | 
			
		||||
| 
						 | 
				
			
			@ -62,6 +63,49 @@ static void MX_I2C1_Init(void);
 | 
			
		|||
 | 
			
		||||
/* USER CODE END 0 */
 | 
			
		||||
 | 
			
		||||
typedef struct config_s {
 | 
			
		||||
    const uint8_t address;
 | 
			
		||||
    const uint8_t write_read;
 | 
			
		||||
    uint8_t command[2];
 | 
			
		||||
} Config;
 | 
			
		||||
 | 
			
		||||
void configure_sensor() {
 | 
			
		||||
    const uint16_t size_msg = 2; {
 | 
			
		||||
        const uint8_t wakeup_cmd = 1;
 | 
			
		||||
        const uint8_t data[] = { config_reg, wakeup_cmd };
 | 
			
		||||
        HAL_I2C_Master_Transmit(&hi2c1, sensor_addr, data, size_msg, 6);
 | 
			
		||||
    }
 | 
			
		||||
    HAL_Delay(6); {
 | 
			
		||||
        const uint8_t data[] = { mbit_trim_reg, 0x0C };
 | 
			
		||||
        HAL_I2C_Master_Transmit(&hi2c1, sensor_addr, data, size_msg, 6);
 | 
			
		||||
    }
 | 
			
		||||
    HAL_Delay(6); {
 | 
			
		||||
        const uint8_t data[] = { bias_trim_top_reg, 0x0C };
 | 
			
		||||
        HAL_I2C_Master_Transmit(&hi2c1, sensor_addr, data, size_msg, 6);
 | 
			
		||||
    }
 | 
			
		||||
    HAL_Delay(6); {
 | 
			
		||||
        const uint8_t data[] = { bias_trim_bot_reg, 0x0C };
 | 
			
		||||
        HAL_I2C_Master_Transmit(&hi2c1, sensor_addr, data, size_msg, 6);
 | 
			
		||||
    }
 | 
			
		||||
    HAL_Delay(6); {
 | 
			
		||||
        const uint8_t data[] = { clk_trim_reg, 0x14 };
 | 
			
		||||
        HAL_I2C_Master_Transmit(&hi2c1, sensor_addr, data, size_msg, 6);
 | 
			
		||||
    }
 | 
			
		||||
    HAL_Delay(6); {
 | 
			
		||||
        const uint8_t data[] = { bpa_trim_top_reg, 0x0C };
 | 
			
		||||
        HAL_I2C_Master_Transmit(&hi2c1, sensor_addr, data, size_msg, 6);
 | 
			
		||||
    }
 | 
			
		||||
    HAL_Delay(6); {
 | 
			
		||||
        const uint8_t data[] = { bpa_trim_bot_reg, 0x0C };
 | 
			
		||||
        HAL_I2C_Master_Transmit(&hi2c1, sensor_addr, data, size_msg, 6);
 | 
			
		||||
    }
 | 
			
		||||
    HAL_Delay(6); {
 | 
			
		||||
        const uint8_t data[] = { pu_reg, 0x88 };
 | 
			
		||||
        HAL_I2C_Master_Transmit(&hi2c1, sensor_addr, data, size_msg, 6);
 | 
			
		||||
    }
 | 
			
		||||
    HAL_Delay(6);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
  * @brief  The application entry point.
 | 
			
		||||
  * @retval int
 | 
			
		||||
| 
						 | 
				
			
			@ -91,6 +135,14 @@ int main(void) {
 | 
			
		|||
    MX_GPIO_Init();
 | 
			
		||||
    MX_I2C1_Init();
 | 
			
		||||
    /* USER CODE BEGIN 2 */
 | 
			
		||||
    // TODO: configs
 | 
			
		||||
    configure_sensor(); {
 | 
			
		||||
        uint8_t data = status_reg;
 | 
			
		||||
        uint8_t received_data = 0;
 | 
			
		||||
        HAL_I2C_Master_Transmit(&hi2c1, sensor_addr, &data, 1, 5);
 | 
			
		||||
        HAL_Delay(30);
 | 
			
		||||
        HAL_I2C_Master_Receive(&hi2c1, sensor_addr | 1, &received_data, 1, 5);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* USER CODE END 2 */
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -106,7 +158,6 @@ int main(void) {
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
  * @brief System Clock Configuration
 | 
			
		||||
  * @retval None
 | 
			
		||||
  */
 | 
			
		||||
void SystemClock_Config(void) {
 | 
			
		||||
    RCC_OscInitTypeDef RCC_OscInitStruct = { 0 };
 | 
			
		||||
| 
						 | 
				
			
			@ -146,8 +197,6 @@ void SystemClock_Config(void) {
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
  * @brief I2C1 Initialization Function
 | 
			
		||||
  * @param None
 | 
			
		||||
  * @retval None
 | 
			
		||||
  */
 | 
			
		||||
static void MX_I2C1_Init(void) {
 | 
			
		||||
    /* USER CODE BEGIN I2C1_Init 0 */
 | 
			
		||||
| 
						 | 
				
			
			@ -188,8 +237,6 @@ static void MX_I2C1_Init(void) {
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
  * @brief GPIO Initialization Function
 | 
			
		||||
  * @param None
 | 
			
		||||
  * @retval None
 | 
			
		||||
  */
 | 
			
		||||
static void MX_GPIO_Init(void) {
 | 
			
		||||
    /* USER CODE BEGIN MX_GPIO_Init_1 */
 | 
			
		||||
| 
						 | 
				
			
			@ -208,7 +255,6 @@ static void MX_GPIO_Init(void) {
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
  * @brief  This function is executed in case of error occurrence.
 | 
			
		||||
  * @retval None
 | 
			
		||||
  */
 | 
			
		||||
void Error_Handler(void) {
 | 
			
		||||
    /* USER CODE BEGIN Error_Handler_Debug */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue