##// END OF EJS Templates
Cleaned some files.
Alexis -
r46:27f499ea014f default
parent child
Show More
@@ -1,29 +1,30
1 1 # use glob syntax.
2 2 syntax: glob
3 3
4 4 *.tex
5 5 *.html
6 6 *log*
7 7 *.png
8 8 *.dot
9 9 *.css
10 10 *.md5
11 11 *.eps
12 12 *.pdf
13 13 *.toc
14 14 *.map
15 15 *.sty
16 16 *.3
17 17 *.js
18 18 *.aux
19 19 *.idx
20 20 *doc*
21 21 *Doc*
22 22 *vhdlsyn.txt
23 23 *dirs.txt
24 24 *.orig
25 25 *.o
26 26 *.a
27 27 *.bin
28 28 *~
29
29 LPP_drivers/libsrc/AMBA/apb_devices_list.h
30 lib/lpp/lpp_amba/apb_devices_list.vhd
@@ -1,95 +1,99
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the LPP VHDL IP LIBRARY
3 3 -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS
4 4 --
5 5 -- This program is free software; you can redistribute it and/or modify
6 6 -- it under the terms of the GNU General Public License as published by
7 7 -- the Free Software Foundation; either version 3 of the License, or
8 8 -- (at your option) any later version.
9 9 --
10 10 -- This program is distributed in the hope that it will be useful,
11 11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 -- GNU General Public License for more details.
14 14 --
15 15 -- You should have received a copy of the GNU General Public License
16 16 -- along with this program; if not, write to the Free Software
17 17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 -------------------------------------------------------------------------------*/
19 /*-- Author : Alexis Jeandet
20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 ----------------------------------------------------------------------------*/
19 22 #ifndef APB_LCD_DRIVER_H
20 23 #define APB_LCD_DRIVER_H
21 24
22 25 #define readyFlag 1024
23 26 #define lcdCharCnt 80
24 27
25 28
26 29 /** @todo implemente some shift functions */
27 30
28 31
29 32 /*===================================================
30 33 T Y P E S D E F
31 34 ====================================================*/
32 35
33 36
34 37
35 38 /** error type used for most of lcd functions */
36 39 typedef int lcd_err;
37 40
38 41 /** lcd error ennum for higher abstraction level when error decoding */
39 42 enum lcd_error
40 43 {
41 44 lcd_error_no_error, /**< no error append while function execution */
42 45 lcd_error_not_ready, /**< the lcd isn't available*/
43 46 lcd_error_not_openned, /**< the device guiven to the function isn't opened*/
44 47 lcd_error_too_long /**< the string guiven to the lcd is bigger than the lcd frame buffer memory */
45 48 };
46 49
47 50
48 51 /** for each command sended to the lcd driver a time should be guiven according to the lcd datasheet */
49 52 enum lcd_CMD_time
50 53 {
51 54 lcd_4us = 0x0FF,
52 55 lcd_100us = 0x1FF,
53 56 lcd_4ms = 0x2FF,
54 57 lcd_20ms = 0x3FF
55 58 };
56 59
57 60 /** list of availiable lcd commands use whith an AND mask whith cmd time */
58 61 enum lcd_CMD
59 62 {
60 63 CursorON = 0xF0E,
61 64 CursorOFF = 0xF0C
62 65 };
63 66
64 67 /** structure representing the lcd registers */
65 68 struct lcd_driver
66 69 {
67 int cfg_reg; /**< Configuration register composed of Ready flag [10], CMD time Value [9:8], CMD to send [7:0]*/
70 int cfg_reg; /**< Configuration register composed of Ready flag [10], CMD time Value [9:8],
71 CMD to send [7:0]*/
68 72 int Frame_buff[lcdCharCnt]; /**< Frame Buffer space each address corresponds to a char on the lcd screen */
69 73 };
70 74
71 75 typedef struct lcd_driver lcd_device;
72 76
73 77 /*===================================================
74 78 F U N C T I O N S
75 79 ====================================================*/
76 80
77 81 /** says if the lcd is busy */
78 82 int lcdbusy(lcd_device * lcd);
79 83
80 84 /** Opens and returns the counth lcd found on APB bus else NULL */
81 85 lcd_device* lcdopen(int count);
82 86
83 87 /** Sends a command to the given device, don't forget to guive the time of the cmd */
84 88 lcd_err lcdsendcmd(lcd_device* lcd,int cmd);
85 89
86 90 /** Sets a char on the given device at given position */
87 91 lcd_err lcdsetchar(lcd_device* lcd,int position,const char value);
88 92
89 93 /** Prints a message on the given device at given position, "\n" is understood but for others use sprintf before */
90 94 lcd_err lcdprint(lcd_device* lcd,int position,const char* value);
91 95
92 96 /** Writes space character on each adress of the lcd screen */
93 97 lcd_err lcdclear(lcd_device* lcd);
94 98
95 99 #endif
@@ -1,59 +1,62
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the LPP VHDL IP LIBRARY
3 3 -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS
4 4 --
5 5 -- This program is free software; you can redistribute it and/or modify
6 6 -- it under the terms of the GNU General Public License as published by
7 7 -- the Free Software Foundation; either version 3 of the License, or
8 8 -- (at your option) any later version.
9 9 --
10 10 -- This program is distributed in the hope that it will be useful,
11 11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 -- GNU General Public License for more details.
14 14 --
15 15 -- You should have received a copy of the GNU General Public License
16 16 -- along with this program; if not, write to the Free Software
17 17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 -------------------------------------------------------------------------------*/
19 /*-- Author : Alexis Jeandet
20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 ----------------------------------------------------------------------------*/
19 22 #ifndef LPP_APB_FUNCTIONS_H
20 23 #define LPP_APB_FUNCTIONS_H
21 24
22 25 #define APB_TBL_HEAD 0x800FF000
23 26 #define APB_BASE_ADDRS 0x80000000
24 27 #define APB_MAX_DEVICES 256
25 28
26 29 #include "apb_devices_list.h"
27 30
28 31 /** @todo implemente a descriptor structure for any APB device */
29 32
30 33
31 34 /** Structure representing a device descriptor register on Grlib's AHB2APB brige with plug and play feature */
32 35 struct apbPnPreg
33 36 {
34 37 int idReg; /**< id register composed of Vendor ID [31:24], Device ID [23:12], CT [11:10], Version [9:5], IRQ [4:0] */
35 38 int bar; /**< Bank Address Register composed of Device's ADDRESS [31:20], MASK [14:4], TYPE [3:0] */
36 39 };
37 40
38 41 struct apbdevinfo
39 42 {
40 43 int vendorID;
41 44 int productID;
42 45 int version;
43 46 int irq;
44 47 int address;
45 48 int mask;
46 49 };
47 50
48 51 /** This Function scans APB devices table and returns counth device according to VID and PID */
49 52 int* apbgetdevice(int PID,int VID,int count);
50 53 /** This Function scans APB devices table and returns counth device informations according VID and PID */
51 54 void apbgetdeviceinfofromid(int PID,int VID,int count,struct apbdevinfo* devinfo);
52 55
53 56 void apbgetdeviceinfofromdevptr(const struct apbPnPreg* dev,struct apbdevinfo* devinfo);
54 57
55 58
56 59 void apbprintdeviceinfo(struct apbdevinfo devinfo);
57 60
58 61 void apbprintdeviceslist();
59 62 #endif // LPP_APB_FUNCTIONS_H
@@ -1,98 +1,99
1 1 /*------------------------------------------------------------------------------
2 2 -- This file is a part of the LPP VHDL IP LIBRARY
3 3 -- Copyright (C) 2009 - 2010, Laboratory of Plasmas Physic - CNRS
4 4 --
5 5 -- This program is free software; you can redistribute it and/or modify
6 6 -- it under the terms of the GNU General Public License as published by
7 7 -- the Free Software Foundation; either version 3 of the License, or
8 8 -- (at your option) any later version.
9 9 --
10 10 -- This program is distributed in the hope that it will be useful,
11 11 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
12 12 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 13 -- GNU General Public License for more details.
14 14 --
15 15 -- You should have received a copy of the GNU General Public License
16 16 -- along with this program; if not, write to the Free Software
17 17 -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 18 -------------------------------------------------------------------------------*/
19 19 /*-- Author : Alexis Jeandet
20 20 -- Mail : alexis.jeandet@lpp.polytechnique.fr
21 21 ----------------------------------------------------------------------------*/
22 22 #ifndef APB_LCD_DRIVER_H
23 23 #define APB_LCD_DRIVER_H
24 24
25 25 #define readyFlag 1024
26 26 #define lcdCharCnt 80
27 27
28 28
29 29 /** @todo implemente some shift functions */
30 30
31 31
32 32 /*===================================================
33 33 T Y P E S D E F
34 34 ====================================================*/
35 35
36 36
37 37
38 38 /** error type used for most of lcd functions */
39 39 typedef int lcd_err;
40 40
41 41 /** lcd error ennum for higher abstraction level when error decoding */
42 42 enum lcd_error
43 43 {
44 44 lcd_error_no_error, /**< no error append while function execution */
45 45 lcd_error_not_ready, /**< the lcd isn't available*/
46 46 lcd_error_not_openned, /**< the device guiven to the function isn't opened*/
47 47 lcd_error_too_long /**< the string guiven to the lcd is bigger than the lcd frame buffer memory */
48 48 };
49 49
50 50
51 51 /** for each command sended to the lcd driver a time should be guiven according to the lcd datasheet */
52 52 enum lcd_CMD_time
53 53 {
54 54 lcd_4us = 0x0FF,
55 55 lcd_100us = 0x1FF,
56 56 lcd_4ms = 0x2FF,
57 57 lcd_20ms = 0x3FF
58 58 };
59 59
60 60 /** list of availiable lcd commands use whith an AND mask whith cmd time */
61 61 enum lcd_CMD
62 62 {
63 63 CursorON = 0xF0E,
64 64 CursorOFF = 0xF0C
65 65 };
66 66
67 67 /** structure representing the lcd registers */
68 68 struct lcd_driver
69 69 {
70 int cfg_reg; /**< Configuration register composed of Ready flag [10], CMD time Value [9:8], CMD to send [7:0]*/
70 int cfg_reg; /**< Configuration register composed of Ready flag [10], CMD time Value [9:8],
71 CMD to send [7:0]*/
71 72 int Frame_buff[lcdCharCnt]; /**< Frame Buffer space each address corresponds to a char on the lcd screen */
72 73 };
73 74
74 75 typedef struct lcd_driver lcd_device;
75 76
76 77 /*===================================================
77 78 F U N C T I O N S
78 79 ====================================================*/
79 80
80 81 /** says if the lcd is busy */
81 82 int lcdbusy(lcd_device * lcd);
82 83
83 84 /** Opens and returns the counth lcd found on APB bus else NULL */
84 85 lcd_device* lcdopen(int count);
85 86
86 87 /** Sends a command to the given device, don't forget to guive the time of the cmd */
87 88 lcd_err lcdsendcmd(lcd_device* lcd,int cmd);
88 89
89 90 /** Sets a char on the given device at given position */
90 91 lcd_err lcdsetchar(lcd_device* lcd,int position,const char value);
91 92
92 93 /** Prints a message on the given device at given position, "\n" is understood but for others use sprintf before */
93 94 lcd_err lcdprint(lcd_device* lcd,int position,const char* value);
94 95
95 96 /** Writes space character on each adress of the lcd screen */
96 97 lcd_err lcdclear(lcd_device* lcd);
97 98
98 99 #endif
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
1 NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now