1 | /*******************************************************************************
|
2 | Board Support Package Implementation
|
3 |
|
4 | Company:
|
5 | Microchip Technology Inc.
|
6 |
|
7 | File Name:
|
8 | bsp_sys_init.c
|
9 |
|
10 | Summary:
|
11 | Board Support Package implementation for PIC32MX Ethernet Starter Kit.
|
12 |
|
13 | Description:
|
14 | This file contains routines that implement the board support package for
|
15 | PIC32MX Ethernet Starter Kit.
|
16 | *******************************************************************************/
|
17 |
|
18 | // DOM-IGNORE-BEGIN
|
19 | /*******************************************************************************
|
20 | Copyright (c) 2012 released Microchip Technology Inc. All rights reserved.
|
21 |
|
22 | Microchip licenses to you the right to use, modify, copy and distribute
|
23 | Software only when embedded on a Microchip microcontroller or digital signal
|
24 | controller that is integrated into your product or third party product
|
25 | (pursuant to the sublicense terms in the accompanying license agreement).
|
26 |
|
27 | You should refer to the license agreement accompanying this Software for
|
28 | additional information regarding your rights and obligations.
|
29 |
|
30 | SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND,
|
31 | EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
|
32 | MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
|
33 | IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
|
34 | CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR
|
35 | OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
|
36 | INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR
|
37 | CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF
|
38 | SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
|
39 | (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.
|
40 | *******************************************************************************/
|
41 | // DOM-IGNORE-END
|
42 |
|
43 | // *****************************************************************************
|
44 | // *****************************************************************************
|
45 | // Section: Included Files
|
46 | // *****************************************************************************
|
47 | // *****************************************************************************
|
48 |
|
49 | #include "bsp_config.h"
|
50 |
|
51 | // *****************************************************************************
|
52 | // *****************************************************************************
|
53 | // *****************************************************************************
|
54 | // Section: Interface Routines
|
55 | // *****************************************************************************
|
56 | // *****************************************************************************
|
57 |
|
58 | // *****************************************************************************
|
59 | /* Function:
|
60 | void BSP_Initialize(void)
|
61 |
|
62 | Summary:
|
63 | Performs the necessary actions to initialize a board
|
64 |
|
65 | Description:
|
66 | This function initializes the LED and Switch ports on the board. This
|
67 | function must be called by the user before using any APIs present on this
|
68 | BSP.
|
69 |
|
70 | Remarks:
|
71 | Refer to bsp_config.h for usage information.
|
72 | */
|
73 |
|
74 | void BSP_Initialize(void )
|
75 | {
|
76 | /* Switch off all the LEDS */
|
77 | PLIB_PORTS_PinClear( PORTS_ID_0, PORT_CHANNEL_D, BSP_LED_1 );
|
78 | PLIB_PORTS_PinClear( PORTS_ID_0, PORT_CHANNEL_D, BSP_LED_2 );
|
79 | PLIB_PORTS_PinClear( PORTS_ID_0, PORT_CHANNEL_D, BSP_LED_3 );
|
80 | }
|
81 |
|
82 | // *****************************************************************************
|
83 | /* Function:
|
84 | void BSP_LEDStateSet(BSP_LED led, BSP_LED_STATE state);
|
85 |
|
86 | Summary:
|
87 | Controls the state of the LED.
|
88 |
|
89 | Description:
|
90 | This function allows the application to specify the state of the LED.
|
91 |
|
92 | Remarks:
|
93 | None.
|
94 | */
|
95 |
|
96 | void BSP_LEDStateSet(BSP_LED led, BSP_LED_STATE state)
|
97 | {
|
98 | /* Switch ON the LED */
|
99 | PLIB_PORTS_PinWrite ( PORTS_ID_0 , PORT_CHANNEL_D , led, state );
|
100 | }
|
101 |
|
102 | // *****************************************************************************
|
103 | /* Function:
|
104 | void BSP_LEDOn(BSP_LED led);
|
105 |
|
106 | Summary:
|
107 | Switches ON the specified LED.
|
108 |
|
109 | Description:
|
110 | This function switches ON the specified LED.
|
111 |
|
112 | Remarks:
|
113 | None.
|
114 | */
|
115 |
|
116 | void BSP_LEDOn(BSP_LED led)
|
117 | {
|
118 | PLIB_PORTS_PinSet( PORTS_ID_0, PORT_CHANNEL_D, led);
|
119 | }
|
120 |
|
121 | // *****************************************************************************
|
122 | /* Function:
|
123 | void BSP_LEDOff(BSP_LED led);
|
124 |
|
125 | Summary:
|
126 | Switches OFF the specified LED.
|
127 |
|
128 | Description:
|
129 | This function switches OFF the specified LED.
|
130 |
|
131 | Remarks:
|
132 | None.
|
133 | */
|
134 |
|
135 | void BSP_LEDOff(BSP_LED led)
|
136 | {
|
137 | PLIB_PORTS_PinClear( PORTS_ID_0, PORT_CHANNEL_D, led);
|
138 | }
|
139 |
|
140 | // *****************************************************************************
|
141 | /* Function:
|
142 | BSP_LED_STATE BSP_LEDStateGet(BSP_LED led);
|
143 |
|
144 | Summary:
|
145 | Returns the present state of the LED.
|
146 |
|
147 | Description:
|
148 | This function returns the present state of the LED.
|
149 |
|
150 | Remarks:
|
151 | None.
|
152 | */
|
153 |
|
154 | BSP_LED_STATE BSP_LEDStateGet(BSP_LED led)
|
155 | {
|
156 | return(PLIB_PORTS_PinGetLatched(PORTS_ID_0, PORT_CHANNEL_D, led));
|
157 | }
|
158 |
|
159 | // *****************************************************************************
|
160 | /* Function:
|
161 | void BSP_LEDToggle(BSP_LED led);
|
162 |
|
163 | Summary:
|
164 | Toggles the state of the LED between BSP_LED_STATE_ON and BSP_LED_STATE_OFF.
|
165 |
|
166 | Description:
|
167 | This function toggles the state of the LED between BSP_LED_STATE_ON and
|
168 | BSP_LED_STATE_OFF.
|
169 |
|
170 | Remarks:
|
171 | None.
|
172 | */
|
173 |
|
174 | void BSP_LEDToggle(BSP_LED led)
|
175 | {
|
176 | PLIB_PORTS_PinToggle(PORTS_ID_0, PORT_CHANNEL_D,led );
|
177 | }
|
178 |
|
179 | // *****************************************************************************
|
180 | /* Function:
|
181 | void BSP_SwitchStateGet(BSP_SWITCH switch);
|
182 |
|
183 | Summary:
|
184 | Returns the present state (pressed or not pressed) of the specified switch.
|
185 |
|
186 | Description:
|
187 | This function returns the present state (pressed or not pressed) of the
|
188 | specified switch.
|
189 |
|
190 | Remarks:
|
191 | None.
|
192 | */
|
193 |
|
194 | BSP_SWITCH_STATE BSP_SwitchStateGet( BSP_SWITCH bspSwitch )
|
195 | {
|
196 | return ( PLIB_PORTS_PinGet(PORTS_ID_0, PORT_CHANNEL_D, bspSwitch) );
|
197 | }
|
198 |
|
199 | /*******************************************************************************
|
200 | End of File
|
201 | */
|