Repostiory containing DAPLink source code with Reset Pin workaround for HANI_IOT board.
Upstream: https://github.com/ARMmbed/DAPLink
Diff: source/daplink/bootloader/main.h
- Revision:
- 0:01f31e923fe2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/source/daplink/bootloader/main.h Tue Apr 07 12:55:42 2020 +0200 @@ -0,0 +1,94 @@ +/** + * @file main.h + * @brief + * + * DAPLink Interface Firmware + * Copyright (c) 2009-2019, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef MAIN_H +#define MAIN_H + +#include <stdint.h> + +/** + * @enum main_usb_busy_t + * @brief Defines the filtered activity of the USB connection + */ +typedef enum { + MAIN_USB_IDLE, /*!< MAIN_USB_IDLE value means no bus activity */ + MAIN_USB_ACTIVE /*!< MAIN_USB_ACTIVE value means MSC transfers are occuring */ +} main_usb_busy_t; + +/** + * @enum main_usb_connect_t + * @brief State the USB connection can be in + */ +typedef enum { + MAIN_USB_DISCONNECTED, /*!< MAIN_USB_DISCONNECTED state for a USB */ + MAIN_USB_CONNECTING, /*!< MAIN_USB_CONNECTING state for a USB */ + MAIN_USB_CONNECTED, /*!< MAIN_USB_CONNECTED state for a USB */ + MAIN_USB_CHECK_CONNECTED, /*!< MAIN_USB_CHECK_CONNECTED state for a USB */ + MAIN_USB_DISCONNECTING /*!< MAIN_USB_DISCONNECTING state for a USB */ +} main_usb_connect_t; + +/** + * @enum main_led_state_t + * @brief Statest the USB connection can be in + */ +typedef enum { + MAIN_LED_DEF = 0, + MAIN_LED_FLASH, + MAIN_LED_FLASH_PERMANENT +} main_led_state_t; + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Allows other parts of the program to request the device to eject physical media + * @param none + * @return none + */ +void main_msc_disconnect_event(void); + +/** + * Delay the disconnect if there is one in progress + * @param none + * @return none + */ +void main_msc_delay_disconnect_event(void); + +/** + * Allows other parts of the program to request the device to immediately eject physical media + * @param none + * @return none + */ +void main_force_msc_disconnect_event(void); + +/** + * Allows other parts of the program to request a LED to toggle state + * @param permanent decides if the led should remain on or flash + * @return none + */ +void main_blink_msc_led(main_led_state_t permanent); + +#ifdef __cplusplus +} +#endif + +#endif