This commit is contained in:
hathach 2019-03-29 17:42:10 +07:00
parent 7d9b68a7b9
commit 28610198df
3 changed files with 18 additions and 18 deletions

View File

@ -47,15 +47,15 @@ Currently the following OS are supported with tinyusb out of the box with a simp
The stack supports the following MCUs
- **Nordic:** nRF52840
- **NXP:** LPC11Uxx, LPC13xx, LPC175x_6x, LPC177x_8x, LPC40xx, LPC43xx
- **MicroChip:** SAMD21, SAMD51 (device only)
- **NXP:** LPC11Uxx, LPC13xx, LPC175x_6x, LPC177x_8x, LPC18xx, LPC40xx, LPC43xx
- **MicroChip:** SAMD21, SAMD51
- **ST:** STM32F4
[Here is the list of supported Boards](docs/boards.md)
## Compiler & IDE
The stack is developed with GCC compiler, and should be compilable with others. However, it requires C99 to build with. Folder `examples` provide Makefile and Segger Embedded Studio build support.
The stack is developed with GCC compiler, and should be compilable with others. Folder `examples` provide Makefile and Segger Embedded Studio build support.
## Getting Started

View File

@ -34,6 +34,14 @@
//--------------------------------------------------------------------+
// MACRO CONSTANT TYPEDEF PROTYPES
//--------------------------------------------------------------------+
/* Blink pattern
* - 250 ms : device not mounted
* - 1000 ms : device mounted
* - 2000 ms : device is suspended
*/
static uint32_t blink_interval_ms = 250;
void led_blinking_task(void);
extern void virtual_com_task(void);
@ -187,18 +195,19 @@ void tud_hid_generic_set_report_cb(uint8_t report_id, hid_report_type_t report_t
#endif
//--------------------------------------------------------------------+
// tinyusb callbacks
// Device callbacks
//--------------------------------------------------------------------+
// Invoked when device is mounted
void tud_mount_cb(void)
{
blink_interval_ms = 1000;
}
// Invoked when device is unmounted
void tud_umount_cb(void)
{
blink_interval_ms = 250;
}
//--------------------------------------------------------------------+
@ -206,14 +215,12 @@ void tud_umount_cb(void)
//--------------------------------------------------------------------+
void led_blinking_task(void)
{
const uint32_t interval_ms = 1000;
static uint32_t start_ms = 0;
static bool led_state = false;
// Blink every 1000 ms
if ( board_millis() < start_ms + interval_ms) return; // not enough time
start_ms += interval_ms;
if ( board_millis() < start_ms + blink_interval_ms) return; // not enough time
start_ms += blink_interval_ms;
board_led_control(led_state);
led_state = 1 - led_state; // toggle

View File

@ -34,16 +34,9 @@
extern "C" {
#endif
//--------------------------------------------------------------------+
// INCLUDE
//--------------------------------------------------------------------+
#include "common/tusb_common.h"
#include "device/dcd.h"
//--------------------------------------------------------------------+
// MACRO CONSTANT TYPEDEF
//--------------------------------------------------------------------+
/// \brief Descriptor pointer collector to all the needed.
typedef struct {
void const * device; ///< pointer to device descriptor \ref tusb_desc_device_t
@ -64,7 +57,7 @@ typedef struct {
extern tud_desc_set_t tud_desc_set;
//--------------------------------------------------------------------+
// APPLICATION API
// Application API
//--------------------------------------------------------------------+
bool tud_mounted(void);
void tud_task (void);
@ -72,7 +65,7 @@ void tud_task (void);
bool tud_remote_wakeup(void);
//--------------------------------------------------------------------+
// APPLICATION CALLBACK (WEAK is optional)
// Application Callbacks (WEAK is optional)
//--------------------------------------------------------------------+
// Callback invoked when device is mounted (configured)