Skip to content

Commit

Permalink
GPIO library added to all projects
Browse files Browse the repository at this point in the history
  • Loading branch information
MaJerle committed Mar 8, 2015
1 parent 4c6d587 commit 52a87e7
Show file tree
Hide file tree
Showing 166 changed files with 10,233 additions and 4,510 deletions.
44 changes: 7 additions & 37 deletions 00-STM32F429_LIBRARIES/lwip/stm32f4x7_eth_bsp.c
Original file line number Diff line number Diff line change
Expand Up @@ -152,20 +152,14 @@ static void ETH_MACDMA_Config(void) {
* @retval None
*/
void ETH_GPIO_Config(void) {
GPIO_InitTypeDef GPIO_InitStructure;

/* Enable SYSCFG clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);

/* Configure MCO1 (PA8) */
/* This pin must be initialized as MCO, but not needed to be used */
/* It looks like a bug in STM32F4 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* Init alternate function for PA8 = MCO */
TM_GPIO_Init(GPIOA, GPIO_Pin_8, TM_GPIO_Mode_AF, TM_GPIO_OType_PP, TM_GPIO_PuPd_NOPULL, TM_GPIO_Speed_High);

/* Set PA8 output */
RCC_MCO1Config(RCC_MCO1Source_HSE, RCC_MCO1Div_1);
Expand All @@ -175,44 +169,20 @@ void ETH_GPIO_Config(void) {

/* Check if user has defined it's own pins */
if (!TM_ETHERNET_InitPinsCallback()) {
/* Init default pins */

/* Enable GPIO clocks */
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOC, ENABLE);

/* Init default pins */
/* Ethernet pins configuration */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_7;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource1, GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_ETH);
TM_GPIO_InitAlternate(GPIOA, GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_7, TM_GPIO_OType_PP, TM_GPIO_PuPd_NOPULL, TM_GPIO_Speed_High, GPIO_AF_ETH);

/* RX pins and MDC */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_PinAFConfig(GPIOC, GPIO_PinSource1, GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOC, GPIO_PinSource4, GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOC, GPIO_PinSource5, GPIO_AF_ETH);
TM_GPIO_InitAlternate(GPIOC, GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5, TM_GPIO_OType_PP, TM_GPIO_PuPd_NOPULL, TM_GPIO_Speed_High, GPIO_AF_ETH);

/* Check TX pins */
#ifdef ETHERNET_RMII_PINSPACK_2
/* Pinspack 2, TXD0, TXD1 and TX_EN pins are connected to GPIOG pins */
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_14;
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_PinAFConfig(GPIOG, GPIO_PinSource11, GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOG, GPIO_PinSource13, GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOG, GPIO_PinSource14, GPIO_AF_ETH);
TM_GPIO_InitAlternate(GPIOG, GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_14, TM_GPIO_OType_PP, TM_GPIO_PuPd_NOPULL, TM_GPIO_Speed_High, GPIO_AF_ETH);
#else
/* Pinspack 1, TXD0, TXD1 and TX_EN pins are connected to GPIOB pins */
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource11, GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource12, GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_ETH);
TM_GPIO_InitAlternate(GPIOB, GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13, TM_GPIO_OType_PP, TM_GPIO_PuPd_NOPULL, TM_GPIO_Speed_High, GPIO_AF_ETH);
#endif
}
}
Expand Down
2 changes: 2 additions & 0 deletions 00-STM32F429_LIBRARIES/tm_stm32f4_ethernet.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ extern C {
* - attributes.h
* - LwIP stack
* - TM DELAY
* - TM GPIO
*/
/**
* Includes
Expand All @@ -100,6 +101,7 @@ extern C {
#include "defines.h"
#include "attributes.h"
#include "tm_stm32f4_delay.h"
#include "tm_stm32f4_gpio.h"

/* Ethernet based includes */
#include "stm32f4x7_eth.h"
Expand Down
32 changes: 32 additions & 0 deletions 00-STM32F429_LIBRARIES/tm_stm32f4_exti.c
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,8 @@ void EXTI0_IRQHandler(void) {
EXTI_ClearITPendingBit(EXTI_Line0);
/* Call user function */
TM_EXTI_Handler_0();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_0);
}
}
#endif
Expand All @@ -230,6 +232,8 @@ void EXTI1_IRQHandler(void) {
EXTI_ClearITPendingBit(EXTI_Line1);
/* Call user function */
TM_EXTI_Handler_1();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_1);
}
}
#endif
Expand All @@ -242,6 +246,8 @@ void EXTI2_IRQHandler(void) {
EXTI_ClearITPendingBit(EXTI_Line2);
/* Call user function */
TM_EXTI_Handler_2();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_2);
}
}
#endif
Expand All @@ -254,6 +260,8 @@ void EXTI3_IRQHandler(void) {
EXTI_ClearITPendingBit(EXTI_Line3);
/* Call user function */
TM_EXTI_Handler_3();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_3);
}
}
#endif
Expand All @@ -266,6 +274,8 @@ void EXTI4_IRQHandler(void) {
EXTI_ClearITPendingBit(EXTI_Line4);
/* Call user function */
TM_EXTI_Handler_4();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_4);
}
}
#endif
Expand All @@ -278,34 +288,44 @@ void EXTI9_5_IRQHandler(void) {
EXTI_ClearITPendingBit(EXTI_Line5);
/* Call user function */
TM_EXTI_Handler_5();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_5);
}
/* Check status */
if (EXTI_GetITStatus(EXTI_Line6) != RESET) {
/* Clear bit */
EXTI_ClearITPendingBit(EXTI_Line6);
/* Call user function */
TM_EXTI_Handler_6();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_6);
}
/* Check status */
if (EXTI_GetITStatus(EXTI_Line7) != RESET) {
/* Clear bit */
EXTI_ClearITPendingBit(EXTI_Line7);
/* Call user function */
TM_EXTI_Handler_7();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_7);
}
/* Check status */
if (EXTI_GetITStatus(EXTI_Line8) != RESET) {
/* Clear bit */
EXTI_ClearITPendingBit(EXTI_Line8);
/* Call user function */
TM_EXTI_Handler_8();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_8);
}
/* Check status */
if (EXTI_GetITStatus(EXTI_Line9) != RESET) {
/* Clear bit */
EXTI_ClearITPendingBit(EXTI_Line9);
/* Call user function */
TM_EXTI_Handler_9();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_9);
}
}
#endif
Expand All @@ -318,41 +338,53 @@ void EXTI15_10_IRQHandler(void) {
EXTI_ClearITPendingBit(EXTI_Line10);
/* Call user function */
TM_EXTI_Handler_10();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_10);
}
/* Check status */
if (EXTI_GetITStatus(EXTI_Line11) != RESET) {
/* Clear bit */
EXTI_ClearITPendingBit(EXTI_Line11);
/* Call user function */
TM_EXTI_Handler_11();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_11);
}
/* Check status */
if (EXTI_GetITStatus(EXTI_Line12) != RESET) {
/* Clear bit */
EXTI_ClearITPendingBit(EXTI_Line12);
/* Call user function */
TM_EXTI_Handler_12();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_12);
}
/* Check status */
if (EXTI_GetITStatus(EXTI_Line13) != RESET) {
/* Clear bit */
EXTI_ClearITPendingBit(EXTI_Line13);
/* Call user function */
TM_EXTI_Handler_13();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_13);
}
/* Check status */
if (EXTI_GetITStatus(EXTI_Line14) != RESET) {
/* Clear bit */
EXTI_ClearITPendingBit(EXTI_Line14);
/* Call user function */
TM_EXTI_Handler_14();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_14);
}
/* Check status */
if (EXTI_GetITStatus(EXTI_Line15) != RESET) {
/* Clear bit */
EXTI_ClearITPendingBit(EXTI_Line15);
/* Call user function */
TM_EXTI_Handler_15();
/* Call global function */
TM_EXTI_Handler(GPIO_Pin_15);
}
}
#endif
11 changes: 9 additions & 2 deletions 00-STM32F429_LIBRARIES/tm_stm32f4_exti.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* @email [email protected]
* @website http://stm32f4-discovery.com
* @link http://stm32f4-discovery.com/2014/10/library-38-external-interrupts-for-stm32f4
* @version v1.0
* @version v1.1
* @ide Keil uVision
* @license GNU GPL v3
*
Expand All @@ -26,6 +26,11 @@
* | along with this program. If not, see <http://www.gnu.org/licenses/>.
* |----------------------------------------------------------------------
*
* Version 1.1
* - March 08, 2015
* - Added function TM_EXTI_Handler, which is called anytime EXTI interrupt occur,
* no matter on which GPIO_Pin. GPIO_Pin_x is passed as argument where x is 0 to 15
*
* This library allows you to easy enable external interrupt on specific pin.
*
* You only need to specify GPIOx, pin and interrupt trigger you want to use and you are ready to use.
Expand Down Expand Up @@ -73,7 +78,7 @@
* #define TM_EXTI_PRIORITY 0x0A
*/
#ifndef TM_EXTI_H
#define TM_EXTI_H 100
#define TM_EXTI_H 110

/* C++ detection */
#ifdef __cplusplus
Expand Down Expand Up @@ -192,6 +197,8 @@ __weak void TM_EXTI_Handler_12(void); /* Handle lines 12 */
__weak void TM_EXTI_Handler_13(void); /* Handle lines 13 */
__weak void TM_EXTI_Handler_14(void); /* Handle lines 14 */
__weak void TM_EXTI_Handler_15(void); /* Handle lines 15 */
/* Handler for all lines. This function is called anytime interrupt occured on any pin */
__weak void TM_EXTI_Handler(uint16_t GPIO_Pin);

/* C++ detection */
#ifdef __cplusplus
Expand Down
Binary file modified 01-STM32F4xx_Keil_CMSIS_Default_Project.zip
Binary file not shown.
50 changes: 25 additions & 25 deletions 01-STM32F4xx_Keil_CMSIS_Default_Project/project.uvguix.tilz0R

Large diffs are not rendered by default.

42 changes: 34 additions & 8 deletions 01-STM32F4xx_Keil_CMSIS_Default_Project/project.uvoptx
Original file line number Diff line number Diff line change
Expand Up @@ -1511,7 +1511,7 @@

<Group>
<GroupName>TM</GroupName>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
Expand Down Expand Up @@ -1567,6 +1567,32 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>14</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\00-STM32F429_LIBRARIES\tm_stm32f4_gpio.c</PathWithFileName>
<FilenameWithoutPath>tm_stm32f4_gpio.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>15</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\00-STM32F429_LIBRARIES\tm_stm32f4_gpio.h</PathWithFileName>
<FilenameWithoutPath>tm_stm32f4_gpio.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>

<Group>
Expand All @@ -1577,7 +1603,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>14</FileNumber>
<FileNumber>16</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
Expand All @@ -1590,7 +1616,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>15</FileNumber>
<FileNumber>17</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
Expand All @@ -1603,7 +1629,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>16</FileNumber>
<FileNumber>18</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
Expand All @@ -1616,7 +1642,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>17</FileNumber>
<FileNumber>19</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
Expand All @@ -1629,7 +1655,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>18</FileNumber>
<FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
Expand All @@ -1642,7 +1668,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>19</FileNumber>
<FileNumber>21</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
Expand All @@ -1655,7 +1681,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>20</FileNumber>
<FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
Expand Down
Loading

0 comments on commit 52a87e7

Please sign in to comment.