##// END OF EJS Templates
Comment C drivers for FFT,FIFO and UART
martin -
r69:a7b230552055 default
parent child
Show More
@@ -22,22 +22,38
22 22 #ifndef APB_FFT_DRIVER_H
23 23 #define APB_FFT_DRIVER_H
24 24
25 #define FFT_Empty 0x00100
26 #define FFT_Full 0x01000
25 /*! \file apb_fft_Driver.h
26 \brief LPP FFT driver.
27
28 This library is written to work with LPP_APB_FFT VHDL module from LPP's FreeVHDLIB. It calculate a fast fourier transforms,
29 from an input data table.
30
31 \todo Check "DEVICE1 => count = 2" function Open
32 \author Martin Morlot martin.morlot@lpp.polytechnique.fr
33 */
34
35 #define FFT_Empty 0x00100 /**< Used to know when the data can be send to the FFT module */
36 #define FFT_Full 0x01000 /**< Used to know when the data can be send to the FFT module */
27 37
28 38
29 39 /*===================================================
30 40 T Y P E S D E F
31 41 ====================================================*/
32
42 /*! \struct FFT_Driver
43 \brief Sturcture representing the fft registers
44 */
33 45 struct FFT_Driver
34 46 {
35 int RWDataReg;
36 int ReadAddrReg;
37 int ConfigReg;
38 int Dummy1;
39 int Dummy0;
40 int WriteAddrReg;
47 int RWDataReg; /**< \brief Data register Write/Read */
48 int ReadAddrReg; /**< \brief Address register for the reading operation */
49 int ConfigReg; /**< \brief Configuration register composed of Read enable Flag [HEX 0]
50 Write enable Flag [HEX 1]
51 Empty Flag [HEX 2]
52 Full Flag [HEX 3]
53 Dummy "C" [HEX 4/5/6/7] */
54 int Dummy1; /**< \brief Unused register, aesthetic interest */
55 int Dummy0; /**< \brief Unused register, aesthetic interest */
56 int WriteAddrReg; /**< \brief Address register for the writing operation */
41 57 };
42 58
43 59 typedef struct FFT_Driver FFT_Device;
@@ -46,10 +62,36 typedef struct FFT_Driver FFT_Device;
46 62 /*===================================================
47 63 F U N C T I O N S
48 64 ====================================================*/
65 /*! \fn FFT_Device* openFFT(int count);
66 \brief Return count FFT.
49 67
68 This Function scans APB devices table and returns count FFT.
69
70 \param count The number of the FFT you whant to get. For example if you have 3 FFTS on your SOC you want
71 to use FFT1 so count = 2.
72 \return The pointer to the device.
73 */
50 74 FFT_Device* openFFT(int count);
51 int FftInput(int Tbl[],FFT_Device*);
52 int FftOutput(int Tbl[],FFT_Device*);
75
76 /*! \fn int FftInput(int Tbl[],FFT_Device*);
77 \brief Fill in the Input for the FFT
78
79 This function provides the data used by the FFT
80
81 \param Tbl[] The Table which contains the Data.
82 \param dev The FFT pointer.
83 */
84 int FftInput(int Tbl[],FFT_Device* dev);
85
86 /*! \fn int FftOutput(int Tbl[],FFT_Device*);
87 \brief Save data from the FFT
88
89 This function save the data generated by the FFT
90
91 \param Tbl[] The Table which will contains the Data.
92 \param dev The FFT pointer.
93 */
94 int FftOutput(int Tbl[],FFT_Device* dev);
53 95
54 96
55 97
@@ -22,21 +22,36
22 22 #ifndef APB_FIFO_DRIVER_H
23 23 #define APB_FIFO_DRIVER_H
24 24
25 /*! \file apb_fifo_Driver.h
26 \brief LPP FIFO driver.
27
28 This library is written to work with LPP_APB_FIFO VHDL module from LPP's FreeVHDLIB. It represents a standard FIFO working,
29 used in many type of application.
30
31 \todo Check "DEVICE1 => count = 2" function Open
32 \author Martin Morlot martin.morlot@lpp.polytechnique.fr
33 */
25 34
26 35
27 36 /*===================================================
28 37 T Y P E S D E F
29 38 ====================================================*/
30 39
31 /** Structure reprοΏ½sentant le registre du FIFO */
40 /*! \struct APB_FIFO_REG
41 \brief Sturcture representing the fifo registers
42 */
32 43 struct APB_FIFO_REG
33 44 {
34 int rwdata; /**< Registre de configuration: Flag Ready [1] ; Flag Enable [0] */
35 int raddr; /**< Registre de donnοΏ½e sur 16 bits */
36 int cfgreg;
37 int dummy0;
38 int dummy1;
39 int waddr;
45 int rwdata; /**< \brief Data register Write/Read */
46 int raddr; /**< \brief Address register for the reading operation */
47 int cfgreg; /**< \brief Configuration register composed of Read enable Flag [HEX 0]
48 Write enable Flag [HEX 1]
49 Empty Flag [HEX 2]
50 Full Flag [HEX 3]
51 Dummy "C" [HEX 4/5/6/7] */
52 int dummy0; /**< \brief Unused register, aesthetic interest */
53 int dummy1; /**< \brief Unused register, aesthetic interest */
54 int waddr; /**< \brief Address register for the writing operation */
40 55 };
41 56
42 57 typedef struct APB_FIFO_REG APB_FIFO_Device;
@@ -45,10 +60,17 typedef struct APB_FIFO_REG APB_FIFO_Dev
45 60 F U N C T I O N S
46 61 ====================================================*/
47 62
48 /** Ouvre l'accοΏ½ au FIFO */
63 /*! \fn APB_FIFO_Device* apbfifoOpen(int count);
64 \brief Return count FIFO.
65
66 This Function scans APB devices table and returns count FIFO.
67
68 \param count The number of the FIFO you whant to get. For example if you have 3 FIFOS on your SOC you want
69 to use FIFO1 so count = 2.
70 \return The pointer to the device.
71 */
49 72 APB_FIFO_Device* apbfifoOpen(int count);
50 73
51 74
52 75
53
54 76 #endif
@@ -25,28 +25,35
25 25 /*! \file apb_uart_Driver.h
26 26 \brief LPP Uart driver.
27 27
28 This library is written to work with LPP_APB_UART VHDL module from LPP's FreeVHDLIB. It help you to print and get
28 This library is written to work with LPP_APB_UART VHDL module from LPP's FreeVHDLIB. It help you to print and get,
29 29 char or strings over uart.
30 30
31 \todo Continue documentation
32 \author Martin Morlot
31 \todo Check "DEVICE1 => count = 2" function Open
32 \author Martin Morlot martin.morlot@lpp.polytechnique.fr
33 33 */
34 34
35 35
36 36
37 #define BaudGenOnDuty 0
38 #define DataSended 0x10
39 #define NewData 0x100
37 #define BaudGenOnDuty 0 /**< Used to reset the Baud Generator (Capture Flag) */
38 #define DataSended 0x10 /**< Used to know when the data was send */
39 #define NewData 0x100 /**< Used to know if a New data is ready to be send */
40 40
41 41 /*===================================================
42 42 T Y P E S D E F
43 43 ====================================================*/
44 44
45 /*! \struct UART_Driver
46 \brief Sturcture representing the uart registers
47 */
45 48 struct UART_Driver
46 49 {
47 int ConfigReg;
48 int DataWReg;
49 int DataRReg;
50 int ConfigReg; /**< \brief Configuration register composed of Capture Flag [HEX 0]
51 Sended Flag [HEX 1]
52 NewData Flag [HEX 2]
53 Dummy "E" [HEX 3/4]
54 BTrig Freq [HEX 5/6/7] */
55 int DataWReg; /**< \brief Data Write register */
56 int DataRReg; /**< \brief Data Read register */
50 57 };
51 58
52 59 typedef struct UART_Driver UART_Device;
@@ -57,11 +64,11 typedef struct UART_Driver UART_Device;
57 64 ====================================================*/
58 65
59 66 /*! \fn UART_Device* openUART(int count);
60 \brief Return counth UART.
67 \brief Return count UART.
61 68
62 This Function scans APB devices table and returns counth UART.
69 This Function scans APB devices table and returns count UART.
63 70
64 \param count The number of the UART you whant to get. For example if you have 3 UARTS on your SOC you whant
71 \param count The number of the UART you whant to get. For example if you have 3 UARTS on your SOC you want
65 72 to use UART1 so count = 2.
66 73 \return The pointer to the device.
67 74 */
General Comments 0
You need to be logged in to leave comments. Login now