|
From: <ak...@us...> - 2008-02-17 21:26:26
|
Revision: 854
http://can.svn.sourceforge.net/can/?rev=854&view=rev
Author: akhe
Date: 2008-02-17 13:26:25 -0800 (Sun, 17 Feb 2008)
Log Message:
-----------
Added some missing libs fro IAR cantest build
Added Paths:
-----------
trunk/firmware/arm/str/cantest_str73x_iar/settings/
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_adc.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_bspi.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_can.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_cfg.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_cmu.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_dma.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_eic.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_flash.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_gpio.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_i2c.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_lib.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_map.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_prccu.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_pwm.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_rtc.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_tb.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_tim.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_type.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_uart.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_wdg.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_wiu.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_wut.h
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_adc.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_bspi.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_can.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_cfg.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_cmu.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_dma.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_eic.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_flash.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_gpio.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_i2c.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_lib.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_prccu.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_pwm.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_rtc.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_tb.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_tim.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_uart.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_wdg.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_wiu.c
trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/source/73x_wut.c
Added: trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_adc.h
===================================================================
--- trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_adc.h (rev 0)
+++ trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_adc.h 2008-02-17 21:26:25 UTC (rev 854)
@@ -0,0 +1,188 @@
+/******************** (C) COPYRIGHT 2005 STMicroelectronics ********************
+* File Name : 73x_adc.h
+* Author : MCD Application Team
+* Date First Issued : 09/27/2005 : V1.0
+* Description : This file contains all the functions prototypes for the
+* ADC software library.
+**********************************************************************************
+* History:
+* 09/27/2005 : V1.0
+**********************************************************************************
+* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
+* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
+* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
+* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
+* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*********************************************************************************/
+
+
+/* Define to prevent recursive inclusion ---------------------------------------*/
+#ifndef __73x_ADC_H
+#define __73x_ADC_H
+
+/* Includes --------------------------------------------------------------------*/
+#include "73x_map.h"
+#include "73x_cfg.h"
+
+
+/* Exported types --------------------------------------------------------------*/
+
+/* ADC Init structure definition */
+typedef struct
+{
+ u8 ADC_Calibration;
+ u8 ADC_SamplingPrescaler;
+ u8 ADC_ConversionPrescaler;
+ u8 ADC_FirstChannel;
+ u8 ADC_ChannelNumber;
+ u16 ADC_CalibAverage;
+ u16 ADC_AutoClockOff;
+ u16 ADC_ConversionMode;
+ }ADC_InitTypeDef;
+
+/* ADC control status flags */
+#define ADC_FLAG_ECH 0x0001
+#define ADC_FLAG_EOC 0x0002
+#define ADC_FLAG_JECH 0x0004
+#define ADC_FLAG_JEOC 0x0008
+#define ADC_FLAG_AnalogWatchdog0_LowThresold 0x0010
+#define ADC_FLAG_AnalogWatchdog0_HighThresold 0x0020
+#define ADC_FLAG_AnalogWatchdog1_LowThresold 0x0040
+#define ADC_FLAG_AnalogWatchdog1_HighThresold 0x0080
+#define ADC_FLAG_AnalogWatchdog2_LowThresold 0x0100
+#define ADC_FLAG_AnalogWatchdog2_HighThresold 0x0200
+#define ADC_FLAG_AnalogWatchdog3_LowThresold 0x0400
+#define ADC_FLAG_AnalogWatchdog3_HighThresold 0x0800
+
+/* ADC Interrupt sources */
+#define ADC_IT_None 0x0000
+#define ADC_IT_ECH 0x0001
+#define ADC_IT_EOC 0x0002
+#define ADC_IT_JECH 0x0004
+#define ADC_IT_JEOC 0x0008
+#define ADC_IT_AnalogWatchdog0_LowThresold 0x0010
+#define ADC_IT_AnalogWatchdog0_HighThresold 0x0020
+#define ADC_IT_AnalogWatchdog1_LowThresold 0x0040
+#define ADC_IT_AnalogWatchdog1_HighThresold 0x0080
+#define ADC_IT_AnalogWatchdog2_LowThresold 0x0100
+#define ADC_IT_AnalogWatchdog2_HighThresold 0x0200
+#define ADC_IT_AnalogWatchdog3_LowThresold 0x0400
+#define ADC_IT_AnalogWatchdog3_HighThresold 0x0800
+
+/* ADC Watchdogs Thresholds */
+#define ADC_AnalogWatchdog0 0x0030
+#define ADC_AnalogWatchdog1 0x00C0
+#define ADC_AnalogWatchdog2 0x0300
+#define ADC_AnalogWatchdog3 0x0C00
+
+/* ADC Channels */
+#define ADC_CHANNEL0 0x0
+#define ADC_CHANNEL1 0x1
+#define ADC_CHANNEL2 0x2
+#define ADC_CHANNEL3 0x3
+#define ADC_CHANNEL4 0x4
+#define ADC_CHANNEL5 0x5
+#define ADC_CHANNEL6 0x6
+#define ADC_CHANNEL7 0x7
+#define ADC_CHANNEL8 0x8
+#define ADC_CHANNEL9 0x9
+#define ADC_CHANNEL10 0xA
+#define ADC_CHANNEL11 0xB
+#define ADC_CHANNEL12 0xC
+#define ADC_CHANNEL13 0xD
+#define ADC_CHANNEL14 0xE
+#define ADC_CHANNEL15 0xF
+
+/* ADC DMA Channels */
+#define ADC_DMA_CHANNEL0 0x0001
+#define ADC_DMA_CHANNEL1 0x0002
+#define ADC_DMA_CHANNEL2 0x0004
+#define ADC_DMA_CHANNEL3 0x0008
+#define ADC_DMA_CHANNEL4 0x0010
+#define ADC_DMA_CHANNEL5 0x0020
+#define ADC_DMA_CHANNEL6 0x0040
+#define ADC_DMA_CHANNEL7 0x0080
+#define ADC_DMA_CHANNEL8 0x0100
+#define ADC_DMA_CHANNEL9 0x0200
+#define ADC_DMA_CHANNEL10 0x0400
+#define ADC_DMA_CHANNEL11 0x0800
+#define ADC_DMA_CHANNEL12 0x1000
+#define ADC_DMA_CHANNEL13 0x2000
+#define ADC_DMA_CHANNEL14 0x4000
+#define ADC_DMA_CHANNEL15 0x8000
+
+/* Mask for DMA enable*/
+#define ADC_DMA_Enable 0x8000
+#define ADC_DMA_Disable 0x000F
+
+/* Mask for Injected conversion start */
+#define ADC_Injec_ConversionStart 0x8000
+
+/* Mask for Watchdog Thresholds Enable */
+#define ADC_AnalogWatchdog_Enable 0x8000
+#define ADC_AnalogWatchdog_Disable 0x7FFF
+
+/* Mask for Power Down Mode */
+#define ADC_PowerDown_Enable 0x8000
+#define ADC_PowerDown_Disable 0x7FFF
+
+/* Mask for Start Conversion */
+#define ADC_ConversionStart 0x0001
+#define ADC_ConversionStop 0xFFFE
+
+/* Mask for Prescaler selection */
+#define ADC_Sampling_Prescaler 0x1
+#define ADC_Conversion_Prescaler 0x2
+#define ADC_Both_Prescalers 0x3
+
+/* ADC Conversion Modes */
+#define ADC_ConversionMode_Scan 0x8000
+#define ADC_ConversionMode_OneShot 0x0000
+
+/* Mask for Auto Clock Off */
+#define ADC_AutoClockOff_Enable 0x4000
+#define ADC_AutoClockOff_Disable 0x0000
+
+/* Mask for Calibration */
+#define ADC_Calibration_ON 0x0002
+#define ADC_Calibration_OFF 0x0000
+#define ADC_CalibAverage_Disable 0x0020
+#define ADC_CalibAverage_Enable 0x0000
+
+/* ADC Init Mask */
+#define ADC_CLR4_Mask 0x8000
+
+/* Module private variables ----------------------------------------------------*/
+
+/* Exported macro --------------------------------------------------------------*/
+
+/* Private functions -----------------------------------------------------------*/
+
+/* Exported functions ----------------------------------------------------------*/
+
+void ADC_DeInit (void);
+void ADC_StructInit (ADC_InitTypeDef *ADC_InitStruct);
+void ADC_Init (ADC_InitTypeDef *ADC_InitStruct);
+void ADC_CalibrationStart (u16 ADC_Calib);
+void ADC_ConversionCmd (u16 ADC_Cmd);
+void ADC_Cmd (FunctionalState NewState);
+void ADC_AutoClockOffConfig (FunctionalState NewState);
+void ADC_ChannelsSelect (u8 FirstChannel,u8 ChannelNumber );
+void ADC_PrescalersConfig (u8 ADC_Selection, u8 ADC_Prescaler);
+void ADC_AnalogWatchdogConfig(u16 ADC_Watchdog, u8 ADC_Channel,
+ u16 LowThreshold, u16 HighThreshold);
+void ADC_AnalogWatchdogCmd(u16 ADC_Watchdog, FunctionalState NewState);
+u16 ADC_GetAnalogWatchdogResult (u16 ADC_Watchdog);
+void ADC_InjectedConversionStart (void);
+void ADC_InjectedChannelsSelect (u8 FirstChannel,u8 ChannelNumber );
+u16 ADC_GetConversionValue( u16 ADC_Channel);
+void ADC_ITConfig (u16 ADC_IT, FunctionalState NewState );
+void ADC_FlagClear (u16 ADC_Flag);
+FlagStatus ADC_FlagStatus (u8 ADC_Flag);
+void ADC_DMAConfig(u16 ADC_DMAChannel, FunctionalState NewState);
+void ADC_DMACmd (FunctionalState NewState);
+u16 ADC_DMAFirstEnabledChannel (void);
+#endif /*__73x_ADC_H */
+
+/******************* (C) COPYRIGHT 2005 STMicroelectronics *****END OF FILE******/
Added: trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_bspi.h
===================================================================
--- trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_bspi.h (rev 0)
+++ trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_bspi.h 2008-02-17 21:26:25 UTC (rev 854)
@@ -0,0 +1,150 @@
+/******************** (C) COPYRIGHT 2005 STMicroelectronics ********************
+* File Name : 73x_bspi.h
+* Author : MCD Application Team
+* Date First Issued : 09/27/2005 : V1.0
+* Description : This file contains all the functions prototypes for the
+* BSPI software library.
+**********************************************************************************
+* History:
+* 09/27/2005 : V1.0
+**********************************************************************************
+* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
+* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
+* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
+* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
+* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*********************************************************************************/
+
+/* Define to prevent recursive inclusion ---------------------------------------*/
+#ifndef __73x_BSPI_H
+#define __73x_BSPI_H
+
+/* Includes --------------------------------------------------------------------*/
+#include "73x_map.h"
+
+/* Exported types --------------------------------------------------------------*/
+/* BSPI Init structure definition */
+typedef struct
+{
+ u8 BSPI_RxFifoSize ;
+ u8 BSPI_TxFifoSize ;
+ u8 BSPI_SSPin ;
+ u8 BSPI_CLKDivider ;
+ u16 BSPI_CPOL ;
+ u16 BSPI_CPHA ;
+ u16 BSPI_WordLength ;
+ u16 BSPI_Mode ;
+}BSPI_InitTypeDef;
+
+/* Exported constants ---------------------------------------------------------*/
+/* BSPI System Enable */
+#define BSPI_Enable 0x0001
+#define BSPI_Disable 0xFFFE
+
+/* BSPI Master/Slave Select */
+#define BSPI_Mode_Master 0x0002
+#define BSPI_Mode_Slave 0x0000
+
+/* BSPI Receive Interrupt */
+#define BSPI_RxIT_NONE 0x0000
+#define BSPI_RxIT_RFNE 0x0004
+#define BSPI_RxIT_RFF 0x000C
+#define BSPI_RxIT_Mask 0xFFF3
+
+/* BSPI Interrupts */
+#define BSPI_IT_REI 0x0010
+#define BSPI_IT_BEI 0x0080
+
+/* BSPI Clock Polarity */
+#define BSPI_CPOL_Low 0x0100
+#define BSPI_CPOL_High 0x0000
+
+/* BSPI Clock Phase */
+#define BSPI_CPHA_1Edge 0x0000
+#define BSPI_CPHA_2Edge 0x0200
+
+/* BSPI Word Length */
+#define BSPI_WordLength_16b 0x0400
+#define BSPI_WordLength_8b 0x0000
+
+/* BSPI Transmit Interrupt */
+#define BSPI_TxIT_NONE 0x0000
+#define BSPI_TxIT_TFE 0x4000
+#define BSPI_TxIT_TUFL 0x8000
+#define BSPI_TxIT_TFF 0xC000
+#define BSPI_TxIT_Mask 0x3FFF
+
+/* BSPI Flags */
+#define BSPI_FLAG_BERR 0x004
+#define BSPI_FLAG_RFNE 0x008
+#define BSPI_FLAG_RFF 0x010
+#define BSPI_FLAG_ROFL 0x020
+#define BSPI_FLAG_TFE 0x040
+#define BSPI_FLAG_TUFL 0x080
+#define BSPI_FLAG_TFF 0x100
+#define BSPI_FLAG_TFNE 0x200
+
+/* BSPI DMA Interface Enable */
+#define BSPI_DMA_Enable 0x02
+#define BSPI_DMA_Disable 0xFD
+
+/* BSPI DMA Transmit Request */
+#define BSPI_DMAReq_Tx 0x40
+
+/* BSPI DMA Receive Request */
+#define BSPI_DMAReq_Rx 0x80
+
+/* BSPI DMA Transmit Burst Length */
+#define BSPI_DMA_TxBurst_1Word 0x00
+#define BSPI_DMA_TxBurst_4Word 0x04
+#define BSPI_DMA_TxBurst_8Word 0x08
+#define BSPI_DMA_TxBurst_16Word 0x0C
+#define BSPI_DMA_TxBurst_Mask 0xF3
+
+/* BSPI DMA Receive Burst Length */
+#define BSPI_DMA_RxBurst_1Word 0x00
+#define BSPI_DMA_RxBurst_4Word 0x10
+#define BSPI_DMA_RxBurst_8Word 0x20
+#define BSPI_DMA_RxBurst_16Word 0x30
+#define BSPI_DMA_RxBurst_Mask 0xCF
+
+/* BSPI Mask Slave Select */
+#define BSPI_SSPin_Masked 0x01
+#define BSPI_SSPin_Used 0x00
+
+/* BSPI receive FIFO disable */
+#define BSPI_DFIFO 0x01
+
+#define BSPI_RxFifoSize_Mask 0x0FFF
+#define BSPI_TxFifoSize_Mask 0xC3FF
+
+#define BSPI_CSR1_Mask 0x00FD
+#define BSPI_CSR2_Mask 0xC3FF
+#define BSPI_CSR3_Mask 0xFFFE
+
+/* Module private variables --------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+void BSPI_DeInit(BSPI_TypeDef* BSPIx);
+void BSPI_StructInit(BSPI_InitTypeDef* BSPI_InitStruct);
+void BSPI_Init(BSPI_TypeDef* BSPIx, BSPI_InitTypeDef* BSPI_InitStruct);
+void BSPI_Cmd(BSPI_TypeDef* BSPIx, FunctionalState NewState);
+void BSPI_ITConfig(BSPI_TypeDef* BSPIx, u16 BSPI_IT, FunctionalState NewState);
+void BSPI_TxITConfig(BSPI_TypeDef* BSPIx, u16 BSPI_TxIT);
+void BSPI_RxITConfig(BSPI_TypeDef* BSPIx, u16 BSPI_RxIT);
+void BSPI_DMAConfig(BSPI_TypeDef* BSPIx, u8 BSPI_DMAReq, FunctionalState NewState);
+void BSPI_DMATxBurstConfig(BSPI_TypeDef* BSPIx, u8 BSPI_DMA_TxBurst);
+void BSPI_DMARxBurstConfig(BSPI_TypeDef* BSPIx, u8 BSPI_DMA_RxBurst);
+void BSPI_DMACmd(BSPI_TypeDef* BSPIx, FunctionalState NewState);
+void BSPI_WordSend(BSPI_TypeDef* BSPIx, u16 Data);
+u16 BSPI_WordReceive(BSPI_TypeDef* BSPIx);
+ErrorStatus BSPI_BufferReceive(BSPI_TypeDef* BSPIx, u8* PtrToBuffer, u8 NbOfBytes);
+ErrorStatus BSPI_BufferSend(BSPI_TypeDef* BSPIx, u8* PtrToBuffer, u8 NbOfBytes);
+void BSPI_RxFifoDisable(BSPI_TypeDef* BSPIx);
+FlagStatus BSPI_FlagStatus(BSPI_TypeDef* BSPIx, u16 BSPI_Flag);
+
+#endif /* __73x_BSPI_H */
+
+/******************* (C) COPYRIGHT 2005 STMicroelectronics *****END OF FILE****/
Added: trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_can.h
===================================================================
--- trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_can.h (rev 0)
+++ trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_can.h 2008-02-17 21:26:25 UTC (rev 854)
@@ -0,0 +1,166 @@
+/******************** (C) COPYRIGHT 2005 STMicroelectronics ********************
+* File Name : 73x_can.h
+* Author : MCD Application Team
+* Date First Issued : 09/27/2005 : V1.0
+* Description : This file contains all the functions prototypes for the
+* CAN bus software library.
+**********************************************************************************
+* History:
+* 09/27/2005 : V1.0
+**********************************************************************************
+* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
+* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
+* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
+* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
+* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*********************************************************************************/
+
+/* Define to prevent recursive inclusion ---------------------------------------*/
+
+#ifndef __73x_CAN_H
+#define __73x_CAN_H
+
+/* Includes --------------------------------------------------------------------*/
+#include "73x_map.h"
+
+/* Exported types --------------------------------------------------------------*/
+
+/* CAN Init structure define */
+typedef struct
+{
+ u8 CAN_Mask;
+ u32 CAN_Bitrate;
+}CAN_InitTypeDef;
+
+/* Exported constants ----------------------------------------------------------*/
+/* Standard bitrates available*/
+enum
+{
+ CAN_BITRATE_100K,
+ CAN_BITRATE_125K,
+ CAN_BITRATE_250K,
+ CAN_BITRATE_500K,
+ CAN_BITRATE_1M
+};
+
+/* Control register*/
+#define CAN_CR_TEST 0x0080
+#define CAN_CR_CCE 0x0040
+#define CAN_CR_DAR 0x0020
+#define CAN_CR_EIE 0x0008
+#define CAN_CR_SIE 0x0004
+#define CAN_CR_IE 0x0002
+#define CAN_CR_INIT 0x0001
+
+/* Status register */
+#define CAN_SR_BOFF 0x0080
+#define CAN_SR_EWARN 0x0040
+#define CAN_SR_EPASS 0x0020
+#define CAN_SR_RXOK 0x0010
+#define CAN_SR_TXOK 0x0008
+#define CAN_SR_LEC 0x0007
+
+/* Test register*/
+#define CAN_TESTR_RX 0x0080
+#define CAN_TESTR_TX1 0x0040
+#define CAN_TESTR_TX0 0x0020
+#define CAN_TESTR_LBACK 0x0010
+#define CAN_TESTR_SILENT 0x0008
+#define CAN_TESTR_BASIC 0x0004
+
+/* IFn / Command Request register*/
+#define CAN_CRR_BUSY 0x8000
+
+/* IFn / Command Mask register*/
+#define CAN_CMR_WRRD 0x0080
+#define CAN_CMR_MASK 0x0040
+#define CAN_CMR_ARB 0x0020
+#define CAN_CMR_CONTROL 0x0010
+#define CAN_CMR_CLRINTPND 0x0008
+#define CAN_CMR_TXRQSTNEWDAT 0x0004
+#define CAN_CMR_DATAA 0x0002
+#define CAN_CMR_DATAB 0x0001
+
+/* IFn / Mask 2 register*/
+#define CAN_M2R_MXTD 0x8000
+#define CAN_M2R_MDIR 0x4000
+
+/* IFn / Arbitration 2 register*/
+#define CAN_A2R_MSGVAL 0x8000
+#define CAN_A2R_XTD 0x4000
+#define CAN_A2R_DIR 0x2000
+
+/* IFn / Message Control register*/
+#define CAN_MCR_NEWDAT 0x8000
+#define CAN_MCR_MSGLST 0x4000
+#define CAN_MCR_INTPND 0x2000
+#define CAN_MCR_UMASK 0x1000
+#define CAN_MCR_TXIE 0x0800
+#define CAN_MCR_RXIE 0x0400
+#define CAN_MCR_RMTEN 0x0200
+#define CAN_MCR_TXRQST 0x0100
+#define CAN_MCR_EOB 0x0080
+
+
+/* Wake-up modes*/
+enum
+{
+ CAN_WAKEUP_ON_EXT,
+ CAN_WAKEUP_ON_CAN
+};
+
+
+/* CAN message structure*/
+typedef struct
+{
+ u32 IdType;
+ u32 Id;
+ u8 Dlc;
+ u8 Data[8];
+} canmsg;
+
+/* Message ID types*/
+enum
+{
+ CAN_STD_ID,
+ CAN_EXT_ID
+};
+
+/* Message ID limits*/
+
+#define CAN_LAST_STD_ID ((1<<11) - 1)
+#define CAN_LAST_EXT_ID ((1L<<29) - 1)
+
+/* Exported functions ------------------------------------------------------- */
+
+void CAN_Init (CAN_TypeDef *CANx, CAN_InitTypeDef *CAN_InitStruct);
+void CAN_DeInit (CAN_TypeDef *CANx);
+void CAN_StructInit(CAN_InitTypeDef *CAN_InitStruct);
+void CAN_SetBitrate(CAN_TypeDef *CANx, u32 bitrate);
+void CAN_SetTiming(CAN_TypeDef *CANx, u32 tseg1, u32 tseg2, u32 sjw, u32 brp);
+void CAN_SetUnusedMsgObj(CAN_TypeDef *CANx, u32 msgobj);
+void CAN_SetTxMsgObj(CAN_TypeDef *CANx, u32 msgobj, u32 idType);
+void CAN_SetRxMsgObj(CAN_TypeDef *CANx, u32 msgobj, u32 idType, u32 idLow, u32 idHigh, bool singleOrFifoLast);
+void CAN_InvalidateAllMsgObj(CAN_TypeDef *CANx);
+void CAN_ReleaseMessage(CAN_TypeDef *CANx, u32 msgobj);
+u32 CAN_SendMessage(CAN_TypeDef *CANx, u32 msgobj, canmsg* pCanMsg);
+u32 CAN_ReceiveMessage(CAN_TypeDef *CANx, u32 msgobj, bool release, canmsg* pCanMsg);
+void CAN_WaitEndOfTx(CAN_TypeDef *CANx);
+u32 CAN_BasicSendMessage(CAN_TypeDef *CANx, canmsg* pCanMsg);
+u32 CAN_BasicReceiveMessage(CAN_TypeDef *CANx, canmsg* pCanMsg);
+void CAN_EnterTestMode(CAN_TypeDef *CANx, u8 mask);
+void CAN_EnterInitMode(CAN_TypeDef *CANx, u8 mask);
+void CAN_LeaveInitMode(CAN_TypeDef *CANx);
+void CAN_LeaveTestMode(CAN_TypeDef *CANx);
+void CAN_ReleaseTxMessage(CAN_TypeDef *CANx, u32 msgobj);
+void CAN_ReleaseRxMessage(CAN_TypeDef *CANx, u32 msgobj);
+u32 CAN_IsMessageWaiting(CAN_TypeDef *CANx, u32 msgobj);
+u32 CAN_IsTransmitRequested(CAN_TypeDef *CANx, u32 msgobj);
+u32 CAN_IsInterruptPending(CAN_TypeDef *CANx, u32 msgobj);
+u32 CAN_IsObjectValid(CAN_TypeDef *CANx, u32 msgobj);
+
+
+#endif /* __73x_CAN_H */
+
+/******************* (C) COPYRIGHT 2005 STMicroelectronics *****END OF FILE****/
Added: trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_cfg.h
===================================================================
--- trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_cfg.h (rev 0)
+++ trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_cfg.h 2008-02-17 21:26:25 UTC (rev 854)
@@ -0,0 +1,109 @@
+/******************** (C) COPYRIGHT 2005 STMicroelectronics ********************
+* File Name : 73x_cfg.h
+* Author : MCD Application Team
+* Date First Issued : 09/27/2005 : V1.0
+* Description : This file contains all the functions prototypes for the
+* CFG software library.
+**********************************************************************************
+* History:
+* 09/27/2005 : V1.0
+**********************************************************************************
+* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
+* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
+* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
+* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
+* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*********************************************************************************/
+
+/* Define to prevent recursive inclusion ------------------------------------ */
+#ifndef __73x_CFG_H
+#define __73x_CFG_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "73x_map.h"
+
+/* Exported types ------------------------------------------------------------*/
+/* The memory to be remapped */
+typedef enum
+{
+ CFG_MEM_RAM = 0x01,
+ CFG_MEM_FLASH
+} CFG_MEM_TypeDef;
+
+/* Exported constants --------------------------------------------------------*/
+#define CFG_CLK_RAM 0
+#define CFG_CLK_I2C0 1
+#define CFG_CLK_WIU 2
+#define CFG_CLK_UART0 4
+#define CFG_CLK_UART1 5
+#define CFG_CLK_TIM0 6
+#define CFG_CLK_TIM1 7
+#define CFG_CLK_TB0 8
+#define CFG_CLK_CAN0 10
+#define CFG_CLK_CAN1 11
+#define CFG_CLK_PWM0 12
+#define CFG_CLK_PWM1 13
+#define CFG_CLK_PWM2 14
+#define CFG_CLK_PWM3 15
+#define CFG_CLK_PWM4 16
+#define CFG_CLK_PWM5 17
+#define CFG_CLK_GPIO0 18
+#define CFG_CLK_GPIO1 19
+#define CFG_CLK_GPIO2 20
+#define CFG_CLK_GPIO3 21
+#define CFG_CLK_GPIO4 22
+#define CFG_CLK_GPIO5 23
+#define CFG_CLK_GPIO6 24
+#define CFG_CLK_BSPI0 25
+#define CFG_CLK_BSPI1 26
+#define CFG_CLK_BSPI2 27
+#define CFG_CLK_ADC 28
+#define CFG_CLK_EIC 29
+#define CFG_CLK_WUT 30
+#define CFG_CLK_I2C1 32
+#define CFG_CLK_TIM5 35
+#define CFG_CLK_TIM6 36
+#define CFG_CLK_TIM7 37
+#define CFG_CLK_TIM8 38
+#define CFG_CLK_TIM9 39
+#define CFG_CLK_UART2 40
+#define CFG_CLK_UART3 41
+#define CFG_CLK_TB1 45
+#define CFG_CLK_TB2 46
+#define CFG_CLK_CAN2 47
+#define CFG_CLK_TIM2 48
+#define CFG_CLK_TIM3 49
+#define CFG_CLK_TIM4 50
+#define CFG_CLK_RTC 51
+#define CFG_CLK_DMA0 52
+#define CFG_CLK_DMA1 53
+#define CFG_CLK_DMA2 54
+#define CFG_CLK_DMA3 55
+#define CFG_CLK_ARB 61
+#define CFG_CLK_AHB 62
+
+/* CFG flags */
+#define CFG_FLAG_SYS 0x800
+#define CFG_FLAG_BOOT 0x400
+#define CFG_FLAG_USER1 0x200
+#define CFG_FLAG_USER2 0x100
+#define CFG_FLAG_JTBT 0x80
+
+/* Module private variables --------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+
+void CFG_RemapConfig(CFG_MEM_TypeDef CFG_Mem );
+void CFG_PeripheralClockConfig(u8 CFG_CLK_Periph, FunctionalState NewStatus);
+void CFG_EmulationPeripheralClockConfig(u8 CFG_CLK_Periph, FunctionalState NewStatus);
+void CFG_PeripheralClockStop(u8 CFG_CLK_Periph);
+void CFG_PeripheralClockStart(u8 CFG_CLK_Periph);
+u32 CFG_DeviceID(void);
+void CFG_FlashPowerOnDelay(u8 Delay);
+FlagStatus CFG_FlagStatus(u16 CFG_Flag);
+
+#endif /* __73x_CFG_H */
+
+/******************* (C) COPYRIGHT 2005 STMicroelectronics *****END OF FILE****/
Added: trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_cmu.h
===================================================================
--- trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_cmu.h (rev 0)
+++ trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_cmu.h 2008-02-17 21:26:25 UTC (rev 854)
@@ -0,0 +1,119 @@
+/******************** (C) COPYRIGHT 2005 STMicroelectronics ********************
+* File Name : 73x_cmu.h
+* Author : MCD Application Team
+* Date First Issued : 09/27/2005 : V1.0
+* Description : This file contains all the functions prototypes for the
+* CMU software library.
+**********************************************************************************
+* History:
+* 09/27/2005 : V1.0
+**********************************************************************************
+* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
+* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
+* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
+* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
+* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*********************************************************************************/
+
+/* Define to prevent recursive inclusion ------------------------------------ */
+#ifndef __73x_CMU_H
+#define __73x_CMU_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "73x_map.h"
+
+/* Exported types ------------------------------------------------------------*/
+typedef struct{
+ u8 CMU_RCOscControl; /*Adjusts the frequency of Rc oscillator */
+ u8 CMU_EndCountValue; /*End of count value */
+ u16 CMU_FreqRef_High; /*Frequency reference high bits */
+ u16 CMU_FreqRef_Low; /*Frequency reference low bits */
+ u16 CMU_CKSEL0; /*RC-Oscillator selector bit */
+ u16 CMU_CKSEL1; /*Oscillator-PLL selector bit */
+ u16 CMU_CKSEL2; /*CK selector bit */
+}CMU_InitTypeDef;
+
+/* Exported constants --------------------------------------------------------*/
+/*CMU CKOUT = CKRC or CKOSC*/
+#define CMU_CKSEL0_CKOSC 0x0001
+#define CMU_CKSEL0_CKRC 0x0000
+
+/*CMU Frequency Meter clock = CKPLL or CKOSC*/
+#define CMU_CKSEL1_CKPLL 0x0002
+#define CMU_CKSEL1_CKOSC 0x0000
+
+/*CMU Digital logic clock = CKRC or CKOSC*/
+#define CMU_CKSEL2_CKOSC 0x0004
+#define CMU_CKSEL2_CKRC 0x0000
+
+/*CMU Reset Enable/Disable*/
+#define CMU_Reset_Enable 0x0008
+#define CMU_Reset_Disable 0xFFF7
+
+/*CMU Start Frequency Measure*/
+#define CMU_StartFreqMeas 0x0010
+
+/* ReadyFrequencybit*/
+#define CMU_SFMbit 0x0010
+
+/*Select CMU_Mode*/
+#define CMU_Stop_High 0xFF7F
+#define CMU_Stop_Low 0x0080
+#define CMU_Run_Low 0x0100
+#define CMU_Run_High 0xFEFF
+
+/*Select CMU_IT */
+#define CMU_IT_OSCLessRC 0x01
+#define CMU_IT_EndCounter 0x02
+#define CMU_IT_FreqLessLowRef 0x04
+#define CMU_IT_Reset 0x08
+
+/*Select Stop oscillator*/
+#define CMU_RCoscSoftStop 0x0020
+#define CMU_RCoscHardStop 0x0040
+#define CMU_MainoscStop 0x0400
+
+/*Flag Status*/
+#define CMU_FLAG_CKON0bit 0x01
+#define CMU_FLAG_CKON1bit 0x02
+#define CMU_FLAG_CKON2bit 0x04
+#define CMU_FLAG_RONbit 0x08
+#define CMU_FLAG_CRFbit 0x10
+
+
+/*CMU Clear Flag Reset */
+#define CMU_ClearCRFbit 0x0200
+
+/*Sequence*/
+#define CMU_KeyValue1 0x50FA
+#define CMU_KeyValue2 0xAF05
+
+/*Initialize register*/
+#define CMU_RCCTL_MASK 0x0008
+#define CMU_FDISP_MASK 0x0000
+#define CMU_FRH_MASK 0x0FFF
+#define CMU_FRL_MASK 0x0000
+#define CMU_CTRL_MASK 0xFFF8
+
+/* Module private variables --------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+void CMU_DeInit(void);
+void CMU_StructInit(CMU_InitTypeDef *CMU_InitStruct);
+void CMU_Init(CMU_InitTypeDef *Init_Structure);
+void CMU_ITConfig(u8 CMU_IT, FunctionalState NewState);
+void CMU_StopOscConfig(u16 CMU_StopOsc);
+void CMU_ResetConfig(FunctionalState NewState);
+u16 CMU_GetOSCFrequency(void);
+void CMU_Lock(FunctionalState NewState);
+void CMU_ModeOscConfig(u16 CMU_OSCMode);
+void CMU_ITClear(u16 CMU_ITClear);
+void CMU_FlagClear(void);
+FlagStatus CMU_FlagStatus (u8 CMU_Flag);
+
+#endif /* __73x_CMU_H */
+
+/******************* (C) COPYRIGHT 2005 STMicroelectronics *****END OF FILE****/
+
Added: trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_dma.h
===================================================================
--- trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_dma.h (rev 0)
+++ trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_dma.h 2008-02-17 21:26:25 UTC (rev 854)
@@ -0,0 +1,168 @@
+/******************** (C) COPYRIGHT 2005 STMicroelectronics ********************
+* File Name : 73x_dma.h
+* Author : MCD Application Team
+* Date First Issued : 09/27/2005 : V1.0
+* Description : This file contains all the functions prototypes for the
+* DMA software library.
+**********************************************************************************
+* History:
+* 09/27/2005 : V1.0
+**********************************************************************************
+* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
+* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
+* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
+* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
+* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*********************************************************************************/
+
+/* Define to prevent recursive inclusion ------------------------------------ */
+#ifndef __73x_DMA_H
+#define __73x_DMA_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "73x_map.h"
+
+/* Exported types ------------------------------------------------------------*/
+/* DMA Init structure define */
+typedef struct
+{
+ u8 DMA_Stream;
+ u16 DMA_BufferSize;
+ u16 DMA_SRC;
+ u16 DMA_DST;
+ u16 DMA_SRCSize;
+ u16 DMA_SRCBurst;
+ u16 DMA_DSTSize;
+ u16 DMA_Mode;
+ u16 DMA_M2M;
+ u16 DMA_Dir;
+ u32 DMA_SRCBaseAddr;
+ u32 DMA_DSTBaseAddr;
+ u32 DMA_TriggeringSource;
+}DMA_InitTypeDef;
+
+/* Exported constants --------------------------------------------------------*/
+/* DMAx data stream */
+#define DMA_Stream0 0x00
+#define DMA_Stream1 0x40
+#define DMA_Stream2 0x80
+#define DMA_Stream3 0xC0
+
+/* DMA enable */
+#define DMA_Enable 0x0001
+#define DMA_Disable 0xFFFE
+
+/* DMAx interrupt Mask */
+#define DMA_IT_SI0 0x01
+#define DMA_IT_SI1 0x02
+#define DMA_IT_SI2 0x04
+#define DMA_IT_SI3 0x08
+#define DMA_IT_SE0 0x10
+#define DMA_IT_SE1 0x20
+#define DMA_IT_SE2 0x40
+#define DMA_IT_SE3 0x80
+#define DMA_IT_ALL 0xFF
+
+/* DMAx Flags */
+#define DMA_FLAG_INT0 0x0001
+#define DMA_FLAG_INT1 0x0002
+#define DMA_FLAG_INT2 0x0004
+#define DMA_FLAG_INT3 0x0008
+#define DMA_FLAG_ERR0 0x0010
+#define DMA_FLAG_ERR1 0x0020
+#define DMA_FLAG_ERR2 0x0040
+#define DMA_FLAG_ERR3 0x0080
+#define DMA_FLAG_ACT0 0x0100
+#define DMA_FLAG_ACT1 0x0200
+#define DMA_FLAG_ACT2 0x0400
+#define DMA_FLAG_ACT3 0x0800
+
+/* DMAx Increment Current Source Register */
+#define DMA_SRC_INCR 0x0002
+#define DMA_SRC_NOT_INCR 0x0000
+
+/* DMAx Increment Current Destination Register */
+#define DMA_DST_INCR 0x0004
+#define DMA_DST_NOT_INCR 0x0000
+
+/* Source to DMA data width */
+#define DMA_SRCSize_Byte 0x0000
+#define DMA_SRCSize_HalfWord 0x0008
+#define DMA_SRCSize_Word 0x0010
+
+/* DMA peripheral burst size */
+#define DMA_SRCBurst_1Word 0x0000
+#define DMA_SRCBurst_4Word 0x0020
+#define DMA_SRCBurst_8Word 0x0040
+#define DMA_SRCBurst_16Word 0x0060
+
+/* DMA to Destination data width */
+#define DMA_DSTSize_Byte 0x0000
+#define DMA_DSTSize_HalfWord 0x0080
+#define DMA_DSTSize_Word 0x0100
+
+/* DMA mode */
+#define DMA_Mode_Circular 0x0200
+#define DMA_Mode_Normal 0x0000
+
+/* Memory to Memory Transfer */
+#define DMA_M2M_Enable 0x0800
+#define DMA_M2M_Disable 0x0000
+
+/* Direction Transfer */
+#define DMA_Dir_PeriphDST 0x2000
+#define DMA_Dir_PeriphSRC 0x0000
+
+/* Selection of the triggering source for DMA0 Stream2, DMA0 Stream3,
+ DMA2 Stream3 and DMA3 Stream2 */
+#define DMA_TriggeringSource_BSPI0 0x00000010
+#define DMA_TriggeringSource_BSPI1 0x00000020
+#define DMA_TriggeringSource_TIM8_TIM9 0xFFFFFFDF
+
+/* DMA Priority (defined in Native Arbiter PRIOR register) */
+#define DMA_Priority_High 0x03
+#define DMA_Priority_Low 0x00
+
+/* Module private variables --------------------------------------------------*/
+/* DMA streamx Registers */
+#define DMA_SOURCEL 0x00 /* DMA source base address low register */
+#define DMA_SourceH 0x04 /* DMA source base address high register */
+#define DMA_DESTL 0x08 /* DMA destination base address low register */
+#define DMA_DESTH 0x0C /* DMA destination base address high register */
+#define DMA_MAX 0x10 /* DMA Maximum count register */
+#define DMA_CTRL 0x14 /* DMA Control register */
+#define DMA_SOCURRH 0x18 /* DMA Current Source address high register */
+#define DMA_SOCURRL 0x1C /* DMA Current Source address low register */
+#define DMA_DECURRH 0x20 /* DMA Current Destination address high register */
+#define DMA_DECURRL 0x24 /* DMA Current Destination address low register */
+#define DMA_TCNT 0x28 /* DMA Terminal Counter Register */
+#define DMA_LUBUFF 0x2C /* DMA Last Used Buffer location */
+
+/* DMA Last Buffer Sweep */
+#define DMA_LAST0 0x01
+#define DMA_LAST1 0x02
+#define DMA_LAST2 0x04
+#define DMA_LAST3 0x08
+
+/* Exported macro ------------------------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+void DMA_DeInit(DMA_TypeDef* DMAx, u8 DMA_Stream);
+void DMA_Init(DMA_TypeDef* DMAx, DMA_InitTypeDef* DMA_InitStruct);
+void DMA_StructInit(DMA_InitTypeDef* DMA_InitStruct);
+void DMA_AHBArbitrationConfig(u8 DMA_Priority);
+void DMA_Cmd(DMA_TypeDef* DMAx, u8 DMA_Stream, FunctionalState NewState);
+void DMA_ITConfig(DMA_TypeDef* DMAx, u16 DMA_IT, FunctionalState NewState);
+u32 DMA_GetCurrDSTAddr(DMA_TypeDef* DMAx, u8 DMA_Stream);
+u32 DMA_GetCurrSRCAddr(DMA_TypeDef* DMAx, u8 DMA_Stream);
+u16 DMA_GetTerminalCounter(DMA_TypeDef* DMAx, u8 DMA_Stream);
+void DMA_LastBufferSweepConfig(DMA_TypeDef* DMAx, u8 DMA_Stream);
+void DMA_LastBufferAddrConfig(DMA_TypeDef* DMAx, u8 DMA_Stream, u16 DMA_LastBufferAddr);
+void DMA_TimeOutConfig(u16 TimeOut_Value);
+FlagStatus DMA_FlagStatus(DMA_TypeDef* DMAx, u16 DMA_Flag);
+void DMA_FlagClear(DMA_TypeDef* DMAx, u16 DMA_Flag);
+
+#endif /* __73x_DMA_H */
+
+/******************* (C) COPYRIGHT 2005 STMicroelectronics *****END OF FILE****/
Added: trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_eic.h
===================================================================
--- trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_eic.h (rev 0)
+++ trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_eic.h 2008-02-17 21:26:25 UTC (rev 854)
@@ -0,0 +1,165 @@
+/******************** (C) COPYRIGHT 2005 STMicroelectronics **********************
+* File Name : 73x_eic.h
+* Author : MCD Application Team
+* Date First Issued : 09/27/2005 : V1.0
+* Description : This file contains all the functions prototypes for the
+* EIC software library.
+**********************************************************************************
+* History:
+* 09/27/2005 : V1.0
+**********************************************************************************
+* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
+* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
+* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
+* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
+* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*********************************************************************************/
+
+
+/* Define to prevent recursive inclusion ------------------------------------ */
+#ifndef __73x_EIC_H
+#define __73x_EIC_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "73x_map.h"
+
+/* Exported types ------------------------------------------------------------*/
+/* EIC Init structure define */
+typedef struct
+{
+ u8 EIC_IRQChannel; /* IRQ Interrupt Vector */
+ u8 EIC_FIQChannel; /* FIQ Interrupt Vector */
+ FunctionalState EIC_IRQCmd; /* ENABLE or DISABLE the selected IRQ Channels */
+ FunctionalState EIC_FIQCmd; /* ENABLE or DISABLE the selected FIQ Channels */
+ u8 EIC_IRQChannelPriority; /* EIC_IRQChannel priority */
+}EIC_InitTypeDef;
+
+/* External interrupt triggering edge/level */
+typedef enum
+{
+ EXTIT_TRIGGER_Rising_Falling,
+ EXTIT_TRIGGER_Rising,
+ EXTIT_TRIGGER_Falling,
+ EXTIT_TRIGGER_HIGH_Level,
+ EXTIT_TRIGGER_LOW_Level
+} EXTIT_TRIGGER_TypeDef;
+
+/* Exported constants --------------------------------------------------------*/
+/* IRQ channels defines*/
+#define PRCCUCMU_IRQChannel 0
+#define EXTIT01_IRQChannel 1
+#define EXTIT02_IRQChannel 2
+#define EXTIT03_IRQChannel 3
+#define EXTIT04_IRQChannel 4
+#define EXTIT05_IRQChannel 5
+#define EXTIT06_IRQChannel 6
+#define EXTIT07_IRQChannel 7
+#define EXTIT08_IRQChannel 8
+#define EXTIT09_IRQChannel 9
+#define EXTIT10_IRQChannel 10
+#define EXTIT11_IRQChannel 11
+#define EXTIT12_IRQChannel 12
+#define EXTIT13_IRQChannel 13
+#define EXTIT14_IRQChannel 14
+#define EXTIT15_IRQChannel 15
+#define DMATRERR_IRQChannel 16
+#define TIM1_IRQChannel 17
+#define TIM2_IRQChannel 18
+#define TIM3_IRQChannel 19
+#define TIM4_IRQChannel 20
+#define TB0_IRQChannel 21
+#define TB1_IRQChannel 22
+#define TB2_IRQChannel 23
+#define TIM5_IRQChannel 24
+#define TIM6_IRQChannel 25
+#define TIM7_IRQChannel 26
+#define TIM8_IRQChannel 27
+#define TIM9_IRQChannel 28
+#define UART2_IRQChannel 31
+#define UART3_IRQChannel 32
+#define FLASHEOP_IRQChannel 33
+#define PWM0_IRQChannel 34
+#define PWM1_IRQChannel 35
+#define PWM2_IRQChannel 36
+#define PWM3_IRQChannel 37
+#define PWM4_IRQChannel 38
+#define PWM5_IRQChannel 39
+#define WIU_IRQChannel 40
+#define WDGWUT_IRQChannel 41
+#define BSPI0_IRQChannel 42
+#define BSPI1_IRQChannel 43
+#define BSPI2_IRQChannel 44
+#define UART0_IRQChannel 45
+#define UART1_IRQChannel 46
+#define I2C0ITERR_IRQChannel 47
+#define I2C1ITERR_IRQChannel 48
+#define I2C0ITDDC_IRQChannel 51
+#define I2C1ITDDC_IRQChannel 52
+#define CAN0_IRQChannel 55
+#define CAN1_IRQChannel 56
+#define CAN2_IRQChannel 57
+#define DMA0_IRQChannel 58
+#define DMA1_IRQChannel 59
+#define DMA2_IRQChannel 60
+#define DMA3_IRQChannel 61
+#define ADC_IRQChannel 62
+#define RTC_IRQChannel 63
+
+/* External Interrupts requests */
+
+#define EXTERNAL_IT0 0x0001
+#define EXTERNAL_IT1 0x0002
+#define EXTERNAL_IT2 0x0004
+#define EXTERNAL_IT3 0x0008
+#define EXTERNAL_IT4 0x0010
+#define EXTERNAL_IT5 0x0020
+#define EXTERNAL_IT6 0x0040
+#define EXTERNAL_IT7 0x0080
+#define EXTERNAL_IT8 0x0100
+#define EXTERNAL_IT9 0x0200
+#define EXTERNAL_IT10 0x0400
+#define EXTERNAL_IT11 0x0800
+#define EXTERNAL_IT12 0x1000
+#define EXTERNAL_IT13 0x2000
+#define EXTERNAL_IT14 0x4000
+#define EXTERNAL_IT15 0x8000
+
+
+/* FIQ channels defines */
+#define EXTIT01_FIQChannel 1
+#define TIM0_FIQChannel 2
+
+#define EIC_IRQEnable_Mask 0x01
+#define EIC_IRQDisable_Mask 0xFFFE
+
+#define EIC_FIQEnable_Mask 0x02
+#define EIC_FIQDisable_Mask 0xFFFD
+
+#define EIC_EXTIT_FILTER_Mask 0x04
+
+/* Module private variables --------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+void EIC_DeInit(void);
+void EIC_StructInit(EIC_InitTypeDef* EIC_InitStruct);
+void EIC_Init( EIC_InitTypeDef* EIC_InitStruct);
+void EIC_CurrentPriorityLevelConfig(u8 NewPriorityLevel);
+void EIC_IRQChannelPriorityConfig(u8 IRQChannel, u8 Priority);
+void EIC_IRQChannelConfig(u8 IRQChannel, FunctionalState NewStatus);
+void EIC_FIQChannelConfig(u8 FIQChannel,FunctionalState NewStatus);
+void EIC_IRQCmd(FunctionalState NewState);
+void EIC_FIQCmd(FunctionalState NewState);
+u8 EIC_CurrentPriorityLevelValue(void);
+u8 EIC_CurrentIRQChannelValue(void);
+u8 EIC_CurrentFIQChannelValue(void);
+void EIC_FIQPendingBitClear(u8 FIQChannel);
+void EIC_ExternalITFilterConfig(FunctionalState NewStatus);
+void EIC_ExternalITTriggerConfig(u16 EXTERNAL_IT, EXTIT_TRIGGER_TypeDef EXTIT_Trigger);
+
+
+#endif /* __73x_EIC_H */
+
+/******************* (C) COPYRIGHT 2005 STMicroelectronics *****END OF FILE****/
+
Added: trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_flash.h
===================================================================
--- trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_flash.h (rev 0)
+++ trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_flash.h 2008-02-17 21:26:25 UTC (rev 854)
@@ -0,0 +1,93 @@
+/******************** (C) COPYRIGHT 2005 STMicroelectronics ********************
+* File Name : 73x_flash.h
+* Author : MCD Application Team
+* Date First Issued : 09/27/2005 : V1.0
+* Description : This file contains all the functions prototypes for the
+* Flash software library.
+**********************************************************************************
+* History:
+* 09/27/2005 : V1.0
+**********************************************************************************
+* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
+* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
+* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
+* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
+* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*********************************************************************************/
+
+/* Define to prevent recursive inclusion ------------------------------------ */
+#ifndef __73x_FLASH_H
+#define __73x_FLASH_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "73x_map.h"
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+/* Bank0 Flash sectors */
+#define FLASH_Sector0 0x00000001
+#define FLASH_Sector1 0x00000002
+#define FLASH_Sector2 0x00000004
+#define FLASH_Sector3 0x00000008
+#define FLASH_Sector4 0x00000010
+#define FLASH_Sector5 0x00000020
+#define FLASH_Sector6 0x00000040
+#define FLASH_Sector7 0x00000080
+#define FLASH_Module 0x000000FF
+
+/* Flash operation enable bit definition */
+#define FLASH_PWD 0x00008000
+#define FLASH_SPR 0x01000000
+#define FLASH_SER 0x08000000
+#define FLASH_DWPG 0x10000000
+#define FLASH_WPG 0x20000000
+#define FLASH_SUSP 0x40000000
+#define FLASH_WMS 0x80000000
+
+/* Flash Interrupt */
+#define FLASH_IT_INTM 0x00200000
+
+/* Flash Flags */
+#define FLASH_FLAG_BSY0 0x21
+#define FLASH_FLAG_LOCK 0x24
+#define FLASH_FLAG_JBL 0x33
+#define FLASH_FLAG_INTP 0x34
+#define FLASH_FLAG_BSM 0x36
+#define FLASH_FLAG_ERR 0x40
+#define FLASH_FLAG_ERER 0x41
+#define FLASH_FLAG_PGER 0x42
+#define FLASH_FLAG_10ER 0x43
+#define FLASH_FLAG_SEQER 0x46
+#define FLASH_FLAG_RESER 0x47
+#define FLASH_FLAG_WPF 0x48
+
+#define FLASH_FLAG_LOCKBSY0 0x00000012
+
+/* Flash base address */
+#define FLASH_Base 0x80000000
+
+#define FLASH_Flag_Mask 0x1F
+
+/* Module private variables --------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+void FLASH_DeInit(void);
+void FLASH_ITConfig (FunctionalState NewState);
+void FLASH_WordWrite(u32 DestAddr, u32 Data);
+void FLASH_DWordWrite(u32 DestAddr, u32 Data0, u32 Data1);
+void FLASH_BlockWrite(u32 SourceAddr, u32 DestAddr, u32 NbrWordToWrite);
+u32 FLASH_WordRead(u32 SourceAddr);
+void FLASH_BlockRead(u32 SourceAddr, u32 DestAddr, u32 NbrWordToRead);
+void FLASH_SectorErase(u8 FLASH_Sector);
+void FLASH_PowerDownConfig(FunctionalState NewState);
+void FLASH_Suspend(void);
+void FLASH_Resume(u32 OperToResume);
+FlagStatus FLASH_FlagStatus (u8 FLASH_Flag);
+void FLASH_FlagClear(u8 FLASH_Flag);
+
+
+#endif /* __73x_FLASH_H */
+
+/******************* (C) COPYRIGHT 2005 STMicroelectronics *****END OF FILE****/
Added: trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_gpio.h
===================================================================
--- trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_gpio.h (rev 0)
+++ trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_gpio.h 2008-02-17 21:26:25 UTC (rev 854)
@@ -0,0 +1,87 @@
+/******************** (C) COPYRIGHT 2005 STMicroelectronics ********************
+* File Name : 73x_gpio.h
+* Author : MCD Application Team
+* Date First Issued : 09/27/2005 : V1.0
+* Description : This file contains all the functions prototypes for the
+* GPIO software library.
+**********************************************************************************
+* History:
+* 09/27/2005 : V1.0
+**********************************************************************************
+* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
+* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
+* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
+* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
+* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*********************************************************************************/
+
+/* Define to prevent recursive inclusion ------------------------------------ */
+#ifndef __73x_GPIO_H
+#define __73x_GPIO_H
+
+/* Includes ----------------------------------------------------------------- */
+#include "73x_map.h"
+
+/* Exported types ----------------------------------------------------------- */
+/* GPIO Init structure define */
+typedef struct
+{
+ u16 GPIO_Pins;
+ u16 GPIO_Mode;
+}GPIO_InitTypeDef;
+
+/* Bit_SET and Bit_RESET enumeration */
+typedef enum { Bit_RESET = 0, Bit_SET = !RESET } BitAction;
+
+/* Exported constants --------------------------------------------------------*/
+/* GPIO Pins define */
+#define GPIO_PIN_NONE 0x0000
+#define GPIO_PIN_0 0x0001
+#define GPIO_PIN_1 0x0002
+#define GPIO_PIN_2 0x0004
+#define GPIO_PIN_3 0x0008
+#define GPIO_PIN_4 0x0010
+#define GPIO_PIN_5 0x0020
+#define GPIO_PIN_6 0x0040
+#define GPIO_PIN_7 0x0080
+#define GPIO_PIN_8 0x0100
+#define GPIO_PIN_9 0x0200
+#define GPIO_PIN_10 0x0400
+#define GPIO_PIN_11 0x0800
+#define GPIO_PIN_12 0x1000
+#define GPIO_PIN_13 0x2000
+#define GPIO_PIN_14 0x4000
+#define GPIO_PIN_15 0x8000
+#define GPIO_PIN_ALL 0xFFFF
+
+/* GPIO Modes define */
+#define GPIO_Mode_HI_AIN_TRI 0x0001
+#define GPIO_Mode_IN_TRI_TTL 0x0002
+#define GPIO_Mode_INOUT_WP 0x0003
+#define GPIO_Mode_OUT_OD 0x0004
+#define GPIO_Mode_OUT_PP 0x0005
+#define GPIO_Mode_AF_OD 0x0006
+#define GPIO_Mode_AF_PP 0x0007
+
+/* GPIO MSB and LSB Bytes define */
+#define GPIO_LSB 0x0000
+#define GPIO_MSB 0x0008
+
+/* Module private variables --------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+void GPIO_DeInit(GPIO_TypeDef* GPIOx);
+void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
+void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct);
+void GPIO_BitWrite(GPIO_TypeDef* GPIOx, u16 GPIO_Pin, BitAction Bit_Val);
+u8 GPIO_BitRead(GPIO_TypeDef* GPIOx, u16 GPIO_Pin);
+void GPIO_ByteWrite(GPIO_TypeDef* GPIOx, u8 GPIO_Byte, u8 Byte_Val);
+u8 GPIO_ByteRead(GPIO_TypeDef* GPIOx, u8 GPIO_Byte);
+void GPIO_WordWrite(GPIO_TypeDef* GPIOx, u16 Port_Val);
+u16 GPIO_WordRead(GPIO_TypeDef* GPIOx);
+
+#endif /* __73x_GPIO_H */
+
+/******************* (C) COPYRIGHT 2005 STMicroelectronics *****END OF FILE****/
Added: trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_i2c.h
===================================================================
--- trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_i2c.h (rev 0)
+++ trunk/firmware/arm/str/cantest_str73x_iar/str73x_lib/include/73x_i2c.h 2008-02-17 21:26:25 UTC (rev 854)
@@ -0,0 +1,146 @@
+/******************** (C) COPYRIGHT 2005 STMicroelectronics ********************
+* File Name : 73x_i2c.h
+* Author : MCD Application Team
+* Date First Issued : 09/27/2005 : V1.0
+* Description : This file contains all the functions prototypes for the
+* I2C software library.
+**********************************************************************************
+* History:
+* 09/27/2005 : V1.0
+**********************************************************************************
+* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
+* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
+* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
+* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
+* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*********************************************************************************/
+
+/* Define to prevent recursive inclusion ------------------------------------ */
+#ifndef __73x_I2C_H
+#define __73x_I2C_H
+
+/* Includes ----------------------------------------------------------------- */
+#include "73x_map.h"
+#include "73x_prccu.h"
+
+/* Exported types ----------------------------------------------------------- */
+/* I2C Init structure define */
+typedef struct
+{
+ u8 I2C_GeneralCall;
+ u8 I2C_Ack;
+ u16 I2C_OwnAddress;
+ u32 I2C_CLKSpeed;
+}I2C_InitTypeDef;
+
+/* Exported constants --------------------------------------------------------*/
+/* General Call */
+#define I2C_GeneralCallEnable 0x10
+#define I2C_GeneralCallDisable 0x00
+
+/* Acknowledgement */
+#define I2C_AckEnable 0x04
+#define I2C_AckDisable 0x00
+
+/* Fast Standard Mode */
+#define I2C_CLKMode_Fast 0x80
+#define I2C_CLKMode_Standard 0x00
+
+/* I2C IT enable */
+#define I2C_ITEnable 0x01
+#define I2C_ITDisable 0xFE
+
+/* I2C Flags */
+#define I2C_FLAG_SB 0x0001
+#define I2C_FLAG_M_SL 0x0002
+#define I2C_FLAG_ADSL 0x0004
+#define I2C_FLAG_BTF 0x0008
+#define I2C_FLAG_BUSY 0x0010
+#define I2C_FLAG_TRA 0x0020
+#define I2C_FLAG_ADD10 0x0040
+#define I2C_FLAG_EVF 0x0080
+#define I2C_FLAG_GCAL 0x0100
+#define I2C_FLAG_BERR 0x0200
+#define I2C_FLAG_ARLO 0x0400
+#define I2C_FLAG_STOPF 0x0800
+#define I2C_FLAG_AF 0x1000
+#define I2C_FLAG_ENDAD 0x2000
+#define I2C_FLAG_ACK 0x4000
+
+/* I2C Events */
+#define I2C_EVENT_SLAVE_ADDRESS_MATCHED ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_ADSL)
+#define I2C_EVENT_SLAVE_BYTE_RECEIVED ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_BTF )
+#define I2C_EVENT_SLAVE_BYTE_TRANSMITTED ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_BTF | I2C_FLAG_TRA )
+#define I2C_EVENT_MASTER_MODE_SELECT ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_M_SL | I2C_FLAG_SB )
+#define I2C_EVENT_MASTER_MODE_SELECTED ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_M_SL | I2C_FLAG_ENDAD )
+#define I2C_EVENT_MASTER_BYTE_RECEIVED ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_M_SL | I2C_FLAG_BTF )
+#define I2C_EVENT_MASTER_BYTE_TRANSMITTED ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_M_SL | I2C_FLAG_BTF | I2C_FLAG_TRA )
+#define I2C_EVENT_MASTER_MODE_ADDRESS10 ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_M_SL |I2C_FLAG_ADD10 )
+#define I2C_EVENT_SLAVE_STOP_DETECTED I2C_FLAG_STOPF
+#define I2C_EVENT_SLAVE_ACK_FAILURE ( I2C_FLAG_EVF | I2C_FLAG_BUSY | I2C_FLAG_BTF | I2C_FLAG_TRA | I2C_FLAG_AF)
+
+/* I2C Events */
+#define I2C_BUS_ERROR_DETECTED I2C_FLAG_BERR
+#define I2C_ARBITRATION_LOST I2C_FLAG_ARLO
+#define I2C_SLAVE_GENERAL_CALL (I2C_FLAG_BUSY | I2C_FLAG_GCAL)
+
+/* I2C Addressing Modes */
+#define I2C_MODE_ADDRESS10 0x0
+#define I2C_MODE_ADDRESS7 0x1
+
+/* Master/Receiver Mode */
+#define I2C_MODE_TRANSMITTER 0x00
+#define I2C_MODE_RECEIVER 0x01
+#define I2C_MODE_MASTER_TRANSMITTER 0x02
+#define I2C_MODE_MASTER_RECEIVER 0x03
+#define I2C_MODE_SLAVE_TRANSMITTER 0x04
+#define I2C_MODE_SLAVE_RECEIVER 0x05
+
+/* I2C Enable, Disable, Start, Stop defines */
+#define I2C_PESET_Mask 0x20
+#define I2C_PERESET 0xDF
+#define I2C_START_Mask 0x08
+#define I2C_STOP_Mask 0x02
+#define I2C_ACK_Mask 0x04
+
+/* I2C Registers offset */
+#define I2C_CR 0x00
+#define I2C_SR1 0x04
+#define I2C_SR2 0x08
+#define I2C_CCR 0x0C
+#define I2C_OAR1 0x10
+#define I2C_OAR2 0x14
+#define I2C_DR 0x18
+#define I2C_ECCR 0x1C
+
+/* I2C Init Mask */
+#define I2C_CR_Mask 0x01
+
+/* Module private variables --------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+void I2C_Init (I2C_TypeDef* I2Cx, I2C_InitTypeDef* I2C_InitStruct);
+void I2C_DeInit (I2C_TypeDef* I2Cx);
+void I2C_StructInit(I2C_InitTypeDef* I2C_InitStruct);
+void I2C_Cmd (I2C_TypeDef* I2Cx, FunctionalState NewState);
+void I2C_STARTGenerate (I2C_TypeDef* I2Cx, FunctionalState NewState);
+void I2C_STOPGenerate (I2C_TypeDef* I2Cx, FunctionalState NewState);
+void I2C_AcknowledgeConfig (I2C_TypeDef* I2Cx, FunctionalState NewState);
+void I2C_ITConfig (I2C_TypeDef* I2Cx, FunctionalState NewState);
+u16 I2C_GetStatus(I2C_TypeDef* I2Cx);
+u16 I2C_GetLastEvent(I2C_TypeDef* I2Cx);
+ErrorStatus I2C_Eve...
[truncated message content] |