/******************************************************************************* Board Support Package Header File. Company: Microchip Technology Inc. File Name: bsp_config.h Summary: Board Support Package Header file for PIC32MX USB Starter Kit II. Description: This file contains constants, macros, type definitions and function declarations required by the PIC32MX USB Starter Kit II BSP. *******************************************************************************/ // DOM-IGNORE-BEGIN /******************************************************************************* Copyright (c) 2014 released Microchip Technology Inc. All rights reserved. Microchip licenses to you the right to use, modify, copy and distribute Software only when embedded on a Microchip microcontroller or digital signal controller that is integrated into your product or third party product (pursuant to the sublicense terms in the accompanying license agreement). You should refer to the license agreement accompanying this Software for additional information regarding your rights and obligations. SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVE OR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS. *******************************************************************************/ // DOM-IGNORE-END #ifndef _BSP_CONFIG_H #define _BSP_CONFIG_H // ***************************************************************************** // ***************************************************************************** // Section: Included Files // ***************************************************************************** // ***************************************************************************** #include #include #include #include #include #include "peripheral/ports/plib_ports.h" // ***************************************************************************** // ***************************************************************************** // Section: Constants and Type Definitions. // ***************************************************************************** // ***************************************************************************** // ***************************************************************************** /* BSP Switch. Summary: Defines the switches available on this board. Description: This enumeration defines the switches available on this board. Remarks: None. */ typedef enum { /* SWITCH 1 */ BSP_SWITCH_1 = /*DOM-IGNORE-BEGIN*/PORTS_BIT_POS_6/*DOM-IGNORE-END*/, /* SWITCH 2 */ BSP_SWITCH_2 = /*DOM-IGNORE-BEGIN*/PORTS_BIT_POS_7/*DOM-IGNORE-END*/, /* SWITCH 3 */ BSP_SWITCH_3 = /*DOM-IGNORE-BEGIN*/PORTS_BIT_POS_13/*DOM-IGNORE-END*/ } BSP_SWITCH; // ***************************************************************************** /* BSP Switch state. Summary: Defines possible states of the switches on this board. Description: This enumeration defines the possible states of the switches on this board. Remarks: None. */ typedef enum { /* Switch pressed */ BSP_SWITCH_STATE_PRESSED = /*DOM-IGNORE-BEGIN*/0/*DOM-IGNORE-END*/, /* Switch not pressed */ BSP_SWITCH_STATE_RELEASED = /*DOM-IGNORE-BEGIN*/1/*DOM-IGNORE-END*/ } BSP_SWITCH_STATE; // ***************************************************************************** /* LED Number. Summary: Defines the LEDs available on this board. Description: This enumeration defines the LEDs available on this board. Remarks: None. */ typedef enum { /* LED 1 */ BSP_LED_1 = /*DOM-IGNORE-BEGIN*/PORTS_BIT_POS_0/*DOM-IGNORE-END*/, /* LED 2 */ BSP_LED_2 = /*DOM-IGNORE-BEGIN*/PORTS_BIT_POS_1/*DOM-IGNORE-END*/, /* LED 3 */ BSP_LED_3 = /*DOM-IGNORE-BEGIN*/PORTS_BIT_POS_2/*DOM-IGNORE-END*/, } BSP_LED; // ***************************************************************************** /* LED State Summary: Enumerates the supported LED states. Description: This enumeration defines the supported LED states. Remarks: None. */ typedef enum { /* LED State is on */ BSP_LED_STATE_OFF = /*DOM-IGNORE-BEGIN*/0,/*DOM-IGNORE-END*/ /* LED State is off */ BSP_LED_STATE_ON = /*DOM-IGNORE-BEGIN*/1,/*DOM-IGNORE-END*/ } BSP_LED_STATE; // ***************************************************************************** // ***************************************************************************** // Section: Interface Routines // ***************************************************************************** // ***************************************************************************** // ***************************************************************************** /* Function: void BSP_Initialize(void) Summary: Performs the necessary actions to initialize a board Description: This function initializes the LED and Switch ports on the board. This function must be called by the user before using any APIs present on this BSP. Precondition: None. Parameters: None Returns: None. Example: //Initialize the BSP BSP_Initialize(); Remarks: None */ void BSP_Initialize(void); // ***************************************************************************** /* Function: void BSP_LEDStateSet(BSP_LED led, BSP_LED_STATE state); Summary: Controls the state of the LED. Description: This function allows the application to specify the state of the LED. Precondition: BSP_Initialize() should have been called. Parameters: led - The LED to operate on. state - The state to be set. Returns: None. Example: // Initialize the BSP BSP_Initialize(); // Switch on LED1 on the board BSP_LEDStateSet(BSP_LED_1, BSP_LED_STATE_ON); // Switch off LED2 on the board BSP_LEDStateSet(BSP_LED_2, BSP_LED_STATE_OFF); Remarks: None */ void BSP_LEDStateSet(BSP_LED led, BSP_LED_STATE state); // ***************************************************************************** /* Function: BSP_LED_STATE BSP_LEDStateGet(BSP_LED led); Summary: Returns the present state of the LED. Description: This function returns the present state of the LED. Precondition: BSP_Initialize() should have been called. Parameters: led - The LED to whose status needs to be obtained. Returns: The ON/OFF state of the LED. Example: // Initialize the BSP BSP_Initialize(); // Check if LED2 is off if(BSP_LED_STATE_OFF == BSP_LEDStateGet(BSP_LED_2) { // Switch on the LED. BSP_LEDStateSet(BSP_LED_2, BSP_LED_STATE_ON); } Remarks: None */ BSP_LED_STATE BSP_LEDStateGet(BSP_LED led); // ***************************************************************************** /* Function: void BSP_LEDToggle(BSP_LED led); Summary: Toggles the state of the LED between BSP_LED_STATE_ON and BSP_LED_STATE_OFF. Description: This function toggles the state of the LED between BSP_LED_STATE_ON and BSP_LED_STATE_OFF. Precondition: BSP_Initialize() should have been called. Parameters: led - The LED to toggle. Returns: None. Example: // Initialize the BSP BSP_Initialize(); // Switch on LED1 on the board BSP_LEDStateSet(BSP_LED_1, BSP_LED_STATE_ON); // Switch off LED2 on the board BSP_LEDStateSet(BSP_LED_2, BSP_LED_STATE_OFF); // Toggle state of LED3 BSP_LEDToggle(BSP_LED_3); Remarks: None */ void BSP_LEDToggle(BSP_LED led); // ***************************************************************************** /* Function: void BSP_LEDOn(BSP_LED led); Summary: Switches ON the specified LED. Description: This function switches ON the specified LED. Precondition: BSP_Initialize() should have been called. Parameters: led - The LED to switch on. Returns: None. Example: // Initialize the BSP BSP_Initialize(); // Switch on LED1 on the board BSP_LEDOn(BSP_LED_1); Remarks: None */ void BSP_LEDOn(BSP_LED led); // ***************************************************************************** /* Function: void BSP_LEDOff(BSP_LED led); Summary: Switches OFF the specified LED. Description: This function switches OFF the specified LED. Precondition: BSP_Initialize() should have been called. Parameters: led - The LED to switch off. Returns: None. Example: // Initialize the BSP BSP_Initialize(); // Switch off LED1 on the board BSP_LEDOff(BSP_LED_1); Remarks: None */ void BSP_LEDOff(BSP_LED led); // ***************************************************************************** /* Function: BSP_SWITCH_STATE BSP_SwitchStateGet(BSP_SWITCH switch); Summary: Returns the present state (pressed or not pressed) of the specified switch. Description: This function returns the present state (pressed or not pressed) of the specified switch. Precondition: BSP_Initialize() should have been called. Parameters: switch - The switch whose state needs to be obtained. Returns: The pressed released state of the switch. Example: // Initialize the BSP BSP_Initialize(); // Check the state of the switch. if(BSP_SWITCH_STATE_PRESSED == BSP_SwitchStateGet(BSP_SWITCH_1)) { // This means that Switch 1 on the board is pressed. } Remarks: None */ BSP_SWITCH_STATE BSP_SwitchStateGet(BSP_SWITCH bspSwitch); // ***************************************************************************** /* Function: bool BSP_USBVBUSPowerEnable(uint8_t port, bool enable) Summary: This function controls the USB VBUS supply. Description: This function controls the USB VBUS supply. Precondition: BSP_Initialize() should have been called. Parameters: port - This parameter is ignored. enable - if true VBUS supply is enabled. If false VBUS supply is disabled. Returns: None. Example: // Initialize the BSP BSP_Initialize(); // Enable the power. BSP_USBVBUSPowerEnable(0, true); // Disable the power. BSP_USBVBUSPowerEnable(0, false); Remarks: None. */ void BSP_USBVBUSPowerEnable(uint8_t port, bool enable); // ***************************************************************************** /* Function: bool BSP_USBVBUSOverCurrentDetect(uint8_t port) Summary: Returns true if the over current is detected on the VBUS supply. Description: This function returns true if over current is detected on the VBUS supply. Precondition: BSP_Initialize() should have been called. Parameters: port - This parameter is ignored. Returns: true - VBUS supply over current is detected. false - VBUS supply over current is not detected. Example: // Initialize the BSP BSP_Initialize(); // Enable the power. BSP_USBVBUSPowerEnable(0, true); if(BSP_USBVBUSOverCurrentDetect(0)) { // Disable the power. BSP_USBVBUSPowerEnable(0, false); } Remarks: None. */ bool BSP_USBVBUSSwitchOverCurrentDetect(uint8_t port); #endif //_BSP_CONFIG_H /******************************************************************************* End of File */