This repository has been archived by the owner on Jan 10, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Migrated igyroscope.hpp, l3gd20h.hpp, and l3gd20h.cpp to HAL. Most of the changes had to do with WriteReg, ReadReg, and Receive since these functions are related to I2C communication.
- Loading branch information
1 parent
20e9287
commit c9cd976
Showing
16 changed files
with
10,946 additions
and
35 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/* USER CODE BEGIN Header */ | ||
/** | ||
****************************************************************************** | ||
* @file i2c.h | ||
* @brief This file contains all the function prototypes for | ||
* the i2c.c file | ||
****************************************************************************** | ||
* @attention | ||
* | ||
* Copyright (c) 2023 STMicroelectronics. | ||
* All rights reserved. | ||
* | ||
* This software is licensed under terms that can be found in the LICENSE file | ||
* in the root directory of this software component. | ||
* If no LICENSE file comes with this software, it is provided AS-IS. | ||
* | ||
****************************************************************************** | ||
*/ | ||
/* USER CODE END Header */ | ||
/* Define to prevent recursive inclusion -------------------------------------*/ | ||
#ifndef __I2C_H__ | ||
#define __I2C_H__ | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
/* Includes ------------------------------------------------------------------*/ | ||
#include "main.h" | ||
|
||
/* USER CODE BEGIN Includes */ | ||
|
||
/* USER CODE END Includes */ | ||
|
||
extern I2C_HandleTypeDef hi2c1; | ||
|
||
/* USER CODE BEGIN Private defines */ | ||
|
||
/* USER CODE END Private defines */ | ||
|
||
void MX_I2C1_Init(void); | ||
|
||
/* USER CODE BEGIN Prototypes */ | ||
|
||
/* USER CODE END Prototypes */ | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif /* __I2C_H__ */ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
/* USER CODE BEGIN Header */ | ||
/** | ||
****************************************************************************** | ||
* @file i2c.c | ||
* @brief This file provides code for the configuration | ||
* of the I2C instances. | ||
****************************************************************************** | ||
* @attention | ||
* | ||
* Copyright (c) 2023 STMicroelectronics. | ||
* All rights reserved. | ||
* | ||
* This software is licensed under terms that can be found in the LICENSE file | ||
* in the root directory of this software component. | ||
* If no LICENSE file comes with this software, it is provided AS-IS. | ||
* | ||
****************************************************************************** | ||
*/ | ||
/* USER CODE END Header */ | ||
/* Includes ------------------------------------------------------------------*/ | ||
#include "i2c.h" | ||
|
||
/* USER CODE BEGIN 0 */ | ||
|
||
/* USER CODE END 0 */ | ||
|
||
I2C_HandleTypeDef hi2c1; | ||
|
||
/* I2C1 init function */ | ||
void MX_I2C1_Init(void) | ||
{ | ||
|
||
/* USER CODE BEGIN I2C1_Init 0 */ | ||
|
||
/* USER CODE END I2C1_Init 0 */ | ||
|
||
/* USER CODE BEGIN I2C1_Init 1 */ | ||
|
||
/* USER CODE END I2C1_Init 1 */ | ||
hi2c1.Instance = I2C1; | ||
hi2c1.Init.ClockSpeed = 100000; | ||
hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; | ||
hi2c1.Init.OwnAddress1 = 0; | ||
hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; | ||
hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; | ||
hi2c1.Init.OwnAddress2 = 0; | ||
hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; | ||
hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; | ||
if (HAL_I2C_Init(&hi2c1) != HAL_OK) | ||
{ | ||
Error_Handler(); | ||
} | ||
|
||
/** Configure Analogue filter | ||
*/ | ||
if (HAL_I2CEx_ConfigAnalogFilter(&hi2c1, I2C_ANALOGFILTER_ENABLE) != HAL_OK) | ||
{ | ||
Error_Handler(); | ||
} | ||
|
||
/** Configure Digital filter | ||
*/ | ||
if (HAL_I2CEx_ConfigDigitalFilter(&hi2c1, 0) != HAL_OK) | ||
{ | ||
Error_Handler(); | ||
} | ||
/* USER CODE BEGIN I2C1_Init 2 */ | ||
|
||
/* USER CODE END I2C1_Init 2 */ | ||
|
||
} | ||
|
||
void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle) | ||
{ | ||
|
||
GPIO_InitTypeDef GPIO_InitStruct = {0}; | ||
if(i2cHandle->Instance==I2C1) | ||
{ | ||
/* USER CODE BEGIN I2C1_MspInit 0 */ | ||
|
||
/* USER CODE END I2C1_MspInit 0 */ | ||
|
||
__HAL_RCC_GPIOB_CLK_ENABLE(); | ||
/**I2C1 GPIO Configuration | ||
PB6 ------> I2C1_SCL | ||
PB9 ------> I2C1_SDA | ||
*/ | ||
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_9; | ||
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; | ||
GPIO_InitStruct.Pull = GPIO_NOPULL; | ||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; | ||
GPIO_InitStruct.Alternate = GPIO_AF4_I2C1; | ||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); | ||
|
||
/* I2C1 clock enable */ | ||
__HAL_RCC_I2C1_CLK_ENABLE(); | ||
/* USER CODE BEGIN I2C1_MspInit 1 */ | ||
|
||
/* USER CODE END I2C1_MspInit 1 */ | ||
} | ||
} | ||
|
||
void HAL_I2C_MspDeInit(I2C_HandleTypeDef* i2cHandle) | ||
{ | ||
|
||
if(i2cHandle->Instance==I2C1) | ||
{ | ||
/* USER CODE BEGIN I2C1_MspDeInit 0 */ | ||
|
||
/* USER CODE END I2C1_MspDeInit 0 */ | ||
/* Peripheral clock disable */ | ||
__HAL_RCC_I2C1_CLK_DISABLE(); | ||
|
||
/**I2C1 GPIO Configuration | ||
PB6 ------> I2C1_SCL | ||
PB9 ------> I2C1_SDA | ||
*/ | ||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6); | ||
|
||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_9); | ||
|
||
/* USER CODE BEGIN I2C1_MspDeInit 1 */ | ||
|
||
/* USER CODE END I2C1_MspDeInit 1 */ | ||
} | ||
} | ||
|
||
/* USER CODE BEGIN 1 */ | ||
|
||
/* USER CODE END 1 */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.