remove tusb_hal_millis() usage, less work for porting
This commit is contained in:
parent
29e075b8b9
commit
18f248b142
|
@ -53,12 +53,6 @@ The OS Abstraction Layer is responsible for providing basic data structures for
|
||||||
|
|
||||||
The code is almost entirely agnostic of MCU and lives in `src/osal`.
|
The code is almost entirely agnostic of MCU and lives in `src/osal`.
|
||||||
|
|
||||||
#### tusb_hal_millis
|
|
||||||
|
|
||||||
The OPT_OS_NONE option is the only option which requires an MCU specific function. It needs `tusb_hal_millis` to measure the passage of time. On ARM this is commonly done with SysTick. The function returns the elapsed number of milliseconds since startup.
|
|
||||||
|
|
||||||
`tusb_hal_millis` is also provided in `hw/bsp/<board name>/board_<board name>.c` because it may vary with MCU use.
|
|
||||||
|
|
||||||
### Device API
|
### Device API
|
||||||
|
|
||||||
After the USB device is setup, the USB device code works by processing events on the main thread (by calling `tud_task`). These events are queued by the USB interrupt handler. So, there are three parts to the device low-level API: device setup, endpoint setup and interrupt processing.
|
After the USB device is setup, the USB device code works by processing events on the main thread (by calling `tud_task`). These events are queued by the USB interrupt handler. So, there are three parts to the device low-level API: device setup, endpoint setup and interrupt processing.
|
||||||
|
|
|
@ -54,7 +54,6 @@
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
<folder Name="lpcxpresso1347">
|
<folder Name="lpcxpresso1347">
|
||||||
<file file_name="../../../../../hw/bsp/lpcxpresso1347/board_lpcxpresso1347.c" />
|
<file file_name="../../../../../hw/bsp/lpcxpresso1347/board_lpcxpresso1347.c" />
|
||||||
<file file_name="../../../../../hw/bsp/lpcxpresso1347/board_lpcxpresso1347.h" />
|
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
<folder Name="mcu">
|
<folder Name="mcu">
|
||||||
|
|
|
@ -47,11 +47,11 @@
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
<folder Name="lpcxpresso1769">
|
<folder Name="lpcxpresso1769">
|
||||||
<file file_name="../../../../../hw/bsp/lpcxpresso1769/board_lpcxpresso1769.c" />
|
<file file_name="../../../../../hw/bsp/lpcxpresso1769/board_lpcxpresso1769.c" />
|
||||||
<file file_name="../../../../../hw/bsp/lpcxpresso1769/board_lpcxpresso1769.h" />
|
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
<folder Name="mcu">
|
<folder Name="mcu">
|
||||||
<folder Name="nxp">
|
<folder Name="nxp">
|
||||||
|
<folder Name="lpcopen">
|
||||||
<folder Name="lpc_chip_175x_6x">
|
<folder Name="lpc_chip_175x_6x">
|
||||||
<folder Name="inc">
|
<folder Name="inc">
|
||||||
<file file_name="../../../../../hw/mcu/nxp/lpcopen/lpc_chip_175x_6x/inc/chip.h" />
|
<file file_name="../../../../../hw/mcu/nxp/lpcopen/lpc_chip_175x_6x/inc/chip.h" />
|
||||||
|
@ -85,6 +85,7 @@
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
|
</folder>
|
||||||
<configuration Name="Debug" build_treat_warnings_as_errors="Yes" />
|
<configuration Name="Debug" build_treat_warnings_as_errors="Yes" />
|
||||||
<folder
|
<folder
|
||||||
Name="src"
|
Name="src"
|
||||||
|
|
|
@ -54,7 +54,6 @@
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
<folder Name="mcb1800">
|
<folder Name="mcb1800">
|
||||||
<file file_name="../../../../../hw/bsp/mcb1800/board_mcb1800.c" />
|
<file file_name="../../../../../hw/bsp/mcb1800/board_mcb1800.c" />
|
||||||
<file file_name="../../../../../hw/bsp/mcb1800/board_mcb1800.h" />
|
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
<folder Name="mcu">
|
<folder Name="mcu">
|
||||||
|
|
|
@ -56,7 +56,6 @@
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
<folder Name="ea4088qs">
|
<folder Name="ea4088qs">
|
||||||
<file file_name="../../../../../hw/bsp/ea4088qs/board_ea4088qs.c" />
|
<file file_name="../../../../../hw/bsp/ea4088qs/board_ea4088qs.c" />
|
||||||
<file file_name="../../../../../hw/bsp/ea4088qs/board_ea4088qs.h" />
|
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
<folder Name="mcu">
|
<folder Name="mcu">
|
||||||
|
|
|
@ -47,7 +47,6 @@
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
<folder Name="ea4357">
|
<folder Name="ea4357">
|
||||||
<file file_name="../../../../../hw/bsp/ea4357/board_ea4357.c" />
|
<file file_name="../../../../../hw/bsp/ea4357/board_ea4357.c" />
|
||||||
<file file_name="../../../../../hw/bsp/ea4357/board_ea4357.h" />
|
|
||||||
<file file_name="../../../../../hw/bsp/ea4357/pca9532.c" />
|
<file file_name="../../../../../hw/bsp/ea4357/pca9532.c" />
|
||||||
<file file_name="../../../../../hw/bsp/ea4357/pca9532.h" />
|
<file file_name="../../../../../hw/bsp/ea4357/pca9532.h" />
|
||||||
</folder>
|
</folder>
|
||||||
|
|
|
@ -44,7 +44,6 @@
|
||||||
<folder Name="bsp">
|
<folder Name="bsp">
|
||||||
<folder Name="pca10056">
|
<folder Name="pca10056">
|
||||||
<file file_name="../../../../../hw/bsp/pca10056/board_pca10056.c" />
|
<file file_name="../../../../../hw/bsp/pca10056/board_pca10056.c" />
|
||||||
<file file_name="../../../../../hw/bsp/pca10056/board_pca10056.h" />
|
|
||||||
</folder>
|
</folder>
|
||||||
<file file_name="../../../../../hw/bsp/ansi_escape.h" />
|
<file file_name="../../../../../hw/bsp/ansi_escape.h" />
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
|
|
|
@ -46,7 +46,6 @@
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
<folder Name="metro_m0_express">
|
<folder Name="metro_m0_express">
|
||||||
<file file_name="../../../../../hw/bsp/metro_m0_express/board_metro_m0_express.c" />
|
<file file_name="../../../../../hw/bsp/metro_m0_express/board_metro_m0_express.c" />
|
||||||
<file file_name="../../../../../hw/bsp/metro_m0_express/board_metro_m0_express.h" />
|
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
<folder Name="mcu">
|
<folder Name="mcu">
|
||||||
|
|
|
@ -47,7 +47,6 @@
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
<folder Name="metro_m4_express">
|
<folder Name="metro_m4_express">
|
||||||
<file file_name="../../../../../hw/bsp/metro_m4_express/board_metro_m4_express.c" />
|
<file file_name="../../../../../hw/bsp/metro_m4_express/board_metro_m4_express.c" />
|
||||||
<file file_name="../../../../../hw/bsp/metro_m4_express/board_metro_m4_express.h" />
|
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
<folder Name="mcu">
|
<folder Name="mcu">
|
||||||
|
|
|
@ -63,7 +63,6 @@
|
||||||
<folder Name="bsp">
|
<folder Name="bsp">
|
||||||
<folder Name="stm32f407g_disc1">
|
<folder Name="stm32f407g_disc1">
|
||||||
<file file_name="../../../../../hw/bsp/stm32f407g_disc1/board_stm32f407g_disc1.c" />
|
<file file_name="../../../../../hw/bsp/stm32f407g_disc1/board_stm32f407g_disc1.c" />
|
||||||
<file file_name="../../../../../hw/bsp/stm32f407g_disc1/board_stm32f407g_disc1.h" />
|
|
||||||
</folder>
|
</folder>
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
</folder>
|
</folder>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
// See http://www.freertos.org/a00110.html.
|
// See http://www.freertos.org/a00110.html.
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
#include "LPC17xx.h"
|
#include "chip.h"
|
||||||
|
|
||||||
#define configCPU_CLOCK_HZ SystemCoreClock
|
#define configCPU_CLOCK_HZ SystemCoreClock
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,8 @@
|
||||||
arm_target_device_name="LPC1769"
|
arm_target_device_name="LPC1769"
|
||||||
arm_target_interface_type="SWD"
|
arm_target_interface_type="SWD"
|
||||||
build_treat_warnings_as_errors="No"
|
build_treat_warnings_as_errors="No"
|
||||||
c_preprocessor_definitions="LPC175x_6x;__LPC1700_FAMILY;__LPC176x_SUBFAMILY;ARM_MATH_CM3;FLASH_PLACEMENT=1;BOARD_LPCXPRESSO1769;CFG_TUSB_MCU=OPT_MCU_LPC175X_6X"
|
c_preprocessor_definitions="LPC175x_6x;__LPC1700_FAMILY;__LPC176x_SUBFAMILY;ARM_MATH_CM3;FLASH_PLACEMENT=1;CORE_M3;CFG_TUSB_MCU=OPT_MCU_LPC175X_6X"
|
||||||
c_user_include_directories=".;../../src;$(rootDir)/hw;$(rootDir)/src;$(lpcDir)/CMSIS_CORE_LPC17xx/inc;$(lpcDir)/LPC17xx_DriverLib/include;$(freertosDir)/Source/include;$(freertosDir)/Source/portable/GCC/ARM_CM3"
|
c_user_include_directories=".;../../src;$(rootDir)/hw;$(rootDir)/src;$(rootDir)/hw/mcu/nxp/lpcopen/lpc_chip_175x_6x/inc;$(rootDir)/lib/FreeRTOS/Source/include;$(rootDir)/lib/FreeRTOS/Source/portable/GCC/ARM_CM3"
|
||||||
debug_register_definition_file="LPC176x5x_Registers.xml"
|
debug_register_definition_file="LPC176x5x_Registers.xml"
|
||||||
debug_target_connection="J-Link"
|
debug_target_connection="J-Link"
|
||||||
gcc_enable_all_warnings="Yes"
|
gcc_enable_all_warnings="Yes"
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
linker_memory_map_file="LPC1769_MemoryMap.xml"
|
linker_memory_map_file="LPC1769_MemoryMap.xml"
|
||||||
linker_section_placement_file="flash_placement.xml"
|
linker_section_placement_file="flash_placement.xml"
|
||||||
linker_section_placements_segments="FLASH RX 0x00000000 0x00080000;RAM RWX 0x10000000 0x00008000"
|
linker_section_placements_segments="FLASH RX 0x00000000 0x00080000;RAM RWX 0x10000000 0x00008000"
|
||||||
macros="DeviceFamily=LPC1700;DeviceSubFamily=LPC176x;Target=LPC1769;Placement=Flash;rootDir=../../../../..;lpcDir=../../../../../hw/mcu/nxp/lpc175x_6x;freertosDir=../../../../../lib/FreeRTOS"
|
macros="DeviceFamily=LPC1700;DeviceSubFamily=LPC176x;Target=LPC1769;Placement=Flash;rootDir=../../../../.."
|
||||||
project_directory=""
|
project_directory=""
|
||||||
project_type="Executable"
|
project_type="Executable"
|
||||||
target_reset_script="Reset();"
|
target_reset_script="Reset();"
|
||||||
|
@ -43,30 +43,23 @@
|
||||||
recurse="Yes" />
|
recurse="Yes" />
|
||||||
<folder Name="hw">
|
<folder Name="hw">
|
||||||
<folder Name="bsp">
|
<folder Name="bsp">
|
||||||
<file file_name="../../../../../hw/bsp/ansi_escape.h" />
|
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
<folder Name="lpcxpresso1769">
|
<folder Name="lpcxpresso1769">
|
||||||
<file file_name="../../../../../hw/bsp/lpcxpresso1769/board_lpcxpresso1769.c" />
|
<file file_name="../../../../../hw/bsp/lpcxpresso1769/board_lpcxpresso1769.c" />
|
||||||
<file file_name="../../../../../hw/bsp/lpcxpresso1769/board_lpcxpresso1769.h" />
|
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
<folder Name="mcu">
|
<folder Name="mcu">
|
||||||
<folder Name="nxp">
|
<folder Name="nxp">
|
||||||
<folder Name="lpc175x_6x">
|
<folder Name="lpcopen">
|
||||||
<folder Name="CMSIS_CORE_LPC17xx">
|
<folder Name="lpc_chip_175x_6x">
|
||||||
<folder Name="inc">
|
|
||||||
<file file_name="../../../../../hw/mcu/nxp/lpc175x_6x/CMSIS_CORE_LPC17xx/inc/LPC17xx.h" />
|
|
||||||
<file file_name="../../../../../hw/mcu/nxp/lpc175x_6x/CMSIS_CORE_LPC17xx/inc/system_LPC17xx.h" />
|
|
||||||
</folder>
|
|
||||||
<folder Name="src">
|
<folder Name="src">
|
||||||
<file file_name="../../../../../hw/mcu/nxp/lpc175x_6x/CMSIS_CORE_LPC17xx/src/system_LPC17xx.c" />
|
<file file_name="../../../../../hw/mcu/nxp/lpcopen/lpc_chip_175x_6x/src/chip_17xx_40xx.c" />
|
||||||
</folder>
|
<file file_name="../../../../../hw/mcu/nxp/lpcopen/lpc_chip_175x_6x/src/clock_17xx_40xx.c" />
|
||||||
</folder>
|
<file file_name="../../../../../hw/mcu/nxp/lpcopen/lpc_chip_175x_6x/src/gpio_17xx_40xx.c" />
|
||||||
<folder Name="LPC17xx_DriverLib">
|
<file file_name="../../../../../hw/mcu/nxp/lpcopen/lpc_chip_175x_6x/src/iocon_17xx_40xx.c" />
|
||||||
<folder Name="include" />
|
<file file_name="../../../../../hw/mcu/nxp/lpcopen/lpc_chip_175x_6x/src/sysctl_17xx_40xx.c" />
|
||||||
<folder Name="source">
|
<file file_name="../../../../../hw/mcu/nxp/lpcopen/lpc_chip_175x_6x/src/sysinit_17xx_40xx.c" />
|
||||||
<file file_name="../../../../../hw/mcu/nxp/lpc175x_6x/LPC17xx_DriverLib/source/lpc17xx_gpio.c" />
|
<file file_name="../../../../../hw/mcu/nxp/lpcopen/lpc_chip_175x_6x/src/uart_17xx_40xx.c" />
|
||||||
<file file_name="../../../../../hw/mcu/nxp/lpc175x_6x/LPC17xx_DriverLib/source/lpc17xx_pinsel.c" />
|
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
|
@ -136,6 +129,9 @@
|
||||||
<file file_name="../../../../../lib/FreeRTOS/freertos_hook.c" />
|
<file file_name="../../../../../lib/FreeRTOS/freertos_hook.c" />
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
|
<configuration
|
||||||
|
Name="LPCXpresso 1769"
|
||||||
|
c_preprocessor_definitions="BOARD_LPCXPRESSO1769" />
|
||||||
</project>
|
</project>
|
||||||
<configuration Name="LPCXpresso 1769" />
|
<configuration Name="LPCXpresso 1769" />
|
||||||
</solution>
|
</solution>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
arm_target_device_name="nRF52840_xxAA"
|
arm_target_device_name="nRF52840_xxAA"
|
||||||
arm_target_interface_type="SWD"
|
arm_target_interface_type="SWD"
|
||||||
build_treat_warnings_as_errors="No"
|
build_treat_warnings_as_errors="No"
|
||||||
c_preprocessor_definitions="NRF52840_XXAA;__nRF_FAMILY;ARM_MATH_CM4;FLASH_PLACEMENT=1;BOARD_PCA10056;CFG_TUSB_MCU=OPT_MCU_NRF5X"
|
c_preprocessor_definitions="NRF52840_XXAA;__nRF_FAMILY;ARM_MATH_CM4;FLASH_PLACEMENT=1;CFG_TUSB_MCU=OPT_MCU_NRF5X"
|
||||||
c_user_include_directories="./;../../src;$(rootDir)/hw/cmsis/Include;$(rootDir)/hw;$(rootDir)/src;$(nrfxDir)/..;$(nrfxDir);$(nrfxDir)/mdk;$(nrfxDir)/hal;$(nrfxDir)/drivers/include;$(freertosDir)/Source/include;$(freertosDir)/Source/portable/GCC/ARM_CM4F"
|
c_user_include_directories="./;../../src;$(rootDir)/hw/cmsis/Include;$(rootDir)/hw;$(rootDir)/src;$(nrfxDir)/..;$(nrfxDir);$(nrfxDir)/mdk;$(nrfxDir)/hal;$(nrfxDir)/drivers/include;$(freertosDir)/Source/include;$(freertosDir)/Source/portable/GCC/ARM_CM4F"
|
||||||
debug_register_definition_file="nrf52840_Registers.xml"
|
debug_register_definition_file="nrf52840_Registers.xml"
|
||||||
debug_target_connection="J-Link"
|
debug_target_connection="J-Link"
|
||||||
|
@ -44,9 +44,7 @@
|
||||||
<folder Name="bsp">
|
<folder Name="bsp">
|
||||||
<folder Name="pca10056">
|
<folder Name="pca10056">
|
||||||
<file file_name="../../../../../hw/bsp/pca10056/board_pca10056.c" />
|
<file file_name="../../../../../hw/bsp/pca10056/board_pca10056.c" />
|
||||||
<file file_name="../../../../../hw/bsp/pca10056/board_pca10056.h" />
|
|
||||||
</folder>
|
</folder>
|
||||||
<file file_name="../../../../../hw/bsp/ansi_escape.h" />
|
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
</folder>
|
</folder>
|
||||||
<folder Name="mcu">
|
<folder Name="mcu">
|
||||||
|
@ -143,10 +141,12 @@
|
||||||
<file file_name="../../../../../lib/FreeRTOS/Source/tasks.c" />
|
<file file_name="../../../../../lib/FreeRTOS/Source/tasks.c" />
|
||||||
<file file_name="../../../../../lib/FreeRTOS/Source/timers.c" />
|
<file file_name="../../../../../lib/FreeRTOS/Source/timers.c" />
|
||||||
</folder>
|
</folder>
|
||||||
<file file_name="../../../../../lib/FreeRTOS/FreeRTOSConfig.h" />
|
|
||||||
<file file_name="../../../../../lib/FreeRTOS/freertos_hook.c" />
|
<file file_name="../../../../../lib/FreeRTOS/freertos_hook.c" />
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
|
<configuration
|
||||||
|
Name="pca10056"
|
||||||
|
c_preprocessor_definitions="BOARD_PCA10056" />
|
||||||
</project>
|
</project>
|
||||||
<configuration Name="pca10056" />
|
<configuration Name="pca10056" />
|
||||||
</solution>
|
</solution>
|
||||||
|
|
|
@ -41,11 +41,9 @@
|
||||||
recurse="Yes" />
|
recurse="Yes" />
|
||||||
<folder Name="hw">
|
<folder Name="hw">
|
||||||
<folder Name="bsp">
|
<folder Name="bsp">
|
||||||
<file file_name="../../../../../hw/bsp/ansi_escape.h" />
|
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
<folder Name="metro_m0_express">
|
<folder Name="metro_m0_express">
|
||||||
<file file_name="../../../../../hw/bsp/metro_m0_express/board_metro_m0_express.c" />
|
<file file_name="../../../../../hw/bsp/metro_m0_express/board_metro_m0_express.c" />
|
||||||
<file file_name="../../../../../hw/bsp/metro_m0_express/board_metro_m0_express.h" />
|
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
<folder Name="mcu">
|
<folder Name="mcu">
|
||||||
|
|
|
@ -42,11 +42,9 @@
|
||||||
recurse="Yes" />
|
recurse="Yes" />
|
||||||
<folder Name="hw">
|
<folder Name="hw">
|
||||||
<folder Name="bsp">
|
<folder Name="bsp">
|
||||||
<file file_name="../../../../../hw/bsp/ansi_escape.h" />
|
|
||||||
<file file_name="../../../../../hw/bsp/board.h" />
|
<file file_name="../../../../../hw/bsp/board.h" />
|
||||||
<folder Name="metro_m4_express">
|
<folder Name="metro_m4_express">
|
||||||
<file file_name="../../../../../hw/bsp/metro_m4_express/board_metro_m4_express.c" />
|
<file file_name="../../../../../hw/bsp/metro_m4_express/board_metro_m4_express.c" />
|
||||||
<file file_name="../../../../../hw/bsp/metro_m4_express/board_metro_m4_express.h" />
|
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
<folder Name="mcu">
|
<folder Name="mcu">
|
||||||
|
|
|
@ -164,11 +164,14 @@ void tuh_hid_mouse_isr(uint8_t dev_addr, xfer_result_t event)
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
void led_blinking_task(void)
|
void led_blinking_task(void)
|
||||||
{
|
{
|
||||||
static tu_timeout_t tm = { .start = 0, .interval = 1000 }; // Blink every 1000 ms
|
const uint32_t interval_ms = 1000;
|
||||||
|
static uint32_t start_ms = 0;
|
||||||
|
|
||||||
static bool led_state = false;
|
static bool led_state = false;
|
||||||
|
|
||||||
if ( !tu_timeout_expired(&tm) ) return; // not enough time
|
// Blink every 1000 ms
|
||||||
tu_timeout_reset(&tm);
|
if ( board_millis() < start_ms + interval_ms) return; // not enough time
|
||||||
|
start_ms += interval_ms;
|
||||||
|
|
||||||
board_led_control(led_state);
|
board_led_control(led_state);
|
||||||
led_state = 1 - led_state; // toggle
|
led_state = 1 - led_state; // toggle
|
||||||
|
|
|
@ -86,6 +86,10 @@ static inline uint32_t board_millis(void)
|
||||||
return os_time_ticks_to_ms32( os_time_get() );
|
return os_time_ticks_to_ms32( os_time_get() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#elif
|
||||||
|
|
||||||
|
#error "Need to implement board_millis() for this OS"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
|
|
|
@ -166,11 +166,6 @@ void SysTick_Handler (void)
|
||||||
system_ticks++;
|
system_ticks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return board_tick2ms(system_ticks);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t board_millis(void)
|
uint32_t board_millis(void)
|
||||||
{
|
{
|
||||||
return system_ticks;
|
return system_ticks;
|
||||||
|
|
|
@ -65,11 +65,6 @@ void SysTick_Handler (void)
|
||||||
system_ticks++;
|
system_ticks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return board_tick2ms(system_ticks);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t board_millis(void)
|
uint32_t board_millis(void)
|
||||||
{
|
{
|
||||||
return system_ticks;
|
return system_ticks;
|
||||||
|
|
|
@ -103,11 +103,6 @@ void SysTick_Handler (void)
|
||||||
system_ticks++;
|
system_ticks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return board_tick2ms(system_ticks);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t board_millis(void)
|
uint32_t board_millis(void)
|
||||||
{
|
{
|
||||||
return system_ticks;
|
return system_ticks;
|
||||||
|
|
|
@ -116,11 +116,6 @@ void SysTick_Handler (void)
|
||||||
system_ticks++;
|
system_ticks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return board_tick2ms(system_ticks);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t board_millis(void)
|
uint32_t board_millis(void)
|
||||||
{
|
{
|
||||||
return system_ticks;
|
return system_ticks;
|
||||||
|
|
|
@ -154,11 +154,6 @@ void SysTick_Handler (void)
|
||||||
system_ticks++;
|
system_ticks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return board_tick2ms(system_ticks);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t board_millis(void)
|
uint32_t board_millis(void)
|
||||||
{
|
{
|
||||||
return system_ticks;
|
return system_ticks;
|
||||||
|
|
|
@ -232,11 +232,6 @@ void SysTick_Handler (void)
|
||||||
system_ticks++;
|
system_ticks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return board_tick2ms(system_ticks);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t board_millis(void)
|
uint32_t board_millis(void)
|
||||||
{
|
{
|
||||||
return system_ticks;
|
return system_ticks;
|
||||||
|
|
|
@ -113,11 +113,6 @@ void SysTick_Handler (void)
|
||||||
system_ticks++;
|
system_ticks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return board_tick2ms(system_ticks);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t board_millis(void)
|
uint32_t board_millis(void)
|
||||||
{
|
{
|
||||||
return system_ticks;
|
return system_ticks;
|
||||||
|
|
|
@ -102,11 +102,6 @@ void SysTick_Handler (void)
|
||||||
system_ticks++;
|
system_ticks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return board_tick2ms(system_ticks);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t board_millis(void)
|
uint32_t board_millis(void)
|
||||||
{
|
{
|
||||||
return system_ticks;
|
return system_ticks;
|
||||||
|
|
|
@ -36,8 +36,6 @@
|
||||||
#include "nrf_soc.h"
|
#include "nrf_soc.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "tusb.h"
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------*/
|
/*------------------------------------------------------------------*/
|
||||||
/* MACRO TYPEDEF CONSTANT ENUM
|
/* MACRO TYPEDEF CONSTANT ENUM
|
||||||
*------------------------------------------------------------------*/
|
*------------------------------------------------------------------*/
|
||||||
|
@ -60,11 +58,6 @@ void SysTick_Handler (void)
|
||||||
system_ticks++;
|
system_ticks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return board_tick2ms(system_ticks);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t board_millis(void)
|
uint32_t board_millis(void)
|
||||||
{
|
{
|
||||||
return system_ticks;
|
return system_ticks;
|
||||||
|
|
|
@ -108,11 +108,6 @@ void SysTick_Handler (void)
|
||||||
system_ticks++;
|
system_ticks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return board_tick2ms(system_ticks);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t board_millis(void)
|
uint32_t board_millis(void)
|
||||||
{
|
{
|
||||||
return system_ticks;
|
return system_ticks;
|
||||||
|
|
|
@ -103,11 +103,6 @@ void SysTick_Handler (void)
|
||||||
system_ticks++;
|
system_ticks++;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return board_tick2ms(system_ticks);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t board_millis(void)
|
uint32_t board_millis(void)
|
||||||
{
|
{
|
||||||
return system_ticks;
|
return system_ticks;
|
||||||
|
|
|
@ -43,6 +43,8 @@ typedef struct {
|
||||||
uint32_t interval;
|
uint32_t interval;
|
||||||
}tu_timeout_t;
|
}tu_timeout_t;
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
|
||||||
extern uint32_t tusb_hal_millis(void);
|
extern uint32_t tusb_hal_millis(void);
|
||||||
|
|
||||||
static inline void tu_timeout_set(tu_timeout_t* tt, uint32_t msec)
|
static inline void tu_timeout_set(tu_timeout_t* tt, uint32_t msec)
|
||||||
|
@ -67,6 +69,8 @@ static inline void tu_timeout_restart(tu_timeout_t* tt)
|
||||||
tt->start = tusb_hal_millis();
|
tt->start = tusb_hal_millis();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
/*
|
|
||||||
* The MIT License (MIT)
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018, hathach (tinyusb.org)
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
|
||||||
* in the Software without restriction, including without limitation the rights
|
|
||||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
* copies of the Software, and to permit persons to whom the Software is
|
|
||||||
* furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included in
|
|
||||||
* all copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
* THE SOFTWARE.
|
|
||||||
*
|
|
||||||
* This file is part of the TinyUSB stack.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "tusb_option.h"
|
|
||||||
#include "osal.h"
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
|
||||||
// TICK API
|
|
||||||
//--------------------------------------------------------------------+
|
|
||||||
#if CFG_TUSB_OS == OPT_OS_FREERTOS
|
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return ( ( ((uint64_t) xTaskGetTickCount()) * 1000) / configTICK_RATE_HZ );
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif CFG_TUSB_OS == OPT_OS_MYNEWT
|
|
||||||
|
|
||||||
uint32_t tusb_hal_millis(void)
|
|
||||||
{
|
|
||||||
return os_time_ticks_to_ms32( os_time_get() );
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -52,8 +52,6 @@ typedef void (*osal_task_func_t)( void * );
|
||||||
#include "osal_none.h"
|
#include "osal_none.h"
|
||||||
#else
|
#else
|
||||||
/* RTOS Porting API
|
/* RTOS Porting API
|
||||||
*
|
|
||||||
* uint32_t tusb_hal_millis(void)
|
|
||||||
*
|
*
|
||||||
* Task
|
* Task
|
||||||
* void osal_task_delay(uint32_t msec)
|
* void osal_task_delay(uint32_t msec)
|
||||||
|
|
|
@ -27,8 +27,6 @@
|
||||||
#ifndef _TUSB_OSAL_NONE_H_
|
#ifndef _TUSB_OSAL_NONE_H_
|
||||||
#define _TUSB_OSAL_NONE_H_
|
#define _TUSB_OSAL_NONE_H_
|
||||||
|
|
||||||
#include "tusb_hal.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
@ -38,8 +36,11 @@
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
static inline void osal_task_delay(uint32_t msec)
|
static inline void osal_task_delay(uint32_t msec)
|
||||||
{
|
{
|
||||||
uint32_t start = tusb_hal_millis();
|
(void) msec;
|
||||||
while ( ( tusb_hal_millis() - start ) < msec ) {}
|
// TODO only used by Host stack, will implement using SOF
|
||||||
|
|
||||||
|
// uint32_t start = tusb_hal_millis();
|
||||||
|
// while ( ( tusb_hal_millis() - start ) < msec ) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
|
|
|
@ -40,8 +40,6 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "nrfx_power.h"
|
#include "nrfx_power.h"
|
||||||
|
|
||||||
#include "tusb_hal.h"
|
|
||||||
#include "device/dcd.h"
|
#include "device/dcd.h"
|
||||||
|
|
||||||
/*------------------------------------------------------------------*/
|
/*------------------------------------------------------------------*/
|
||||||
|
|
|
@ -32,8 +32,6 @@
|
||||||
// INCLUDE
|
// INCLUDE
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
#include "common/tusb_common.h"
|
#include "common/tusb_common.h"
|
||||||
#include "tusb_hal.h"
|
|
||||||
|
|
||||||
#include "device/dcd.h"
|
#include "device/dcd.h"
|
||||||
#include "dcd_lpc18_43.h"
|
#include "dcd_lpc18_43.h"
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
// INCLUDE
|
// INCLUDE
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
#include "common/tusb_common.h"
|
#include "common/tusb_common.h"
|
||||||
#include "tusb_hal.h"
|
|
||||||
#include "osal/osal.h"
|
#include "osal/osal.h"
|
||||||
#include "common/tusb_fifo.h"
|
#include "common/tusb_fifo.h"
|
||||||
|
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
/*
|
|
||||||
* The MIT License (MIT)
|
|
||||||
*
|
|
||||||
* Copyright (c) 2018, hathach (tinyusb.org)
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
|
||||||
* in the Software without restriction, including without limitation the rights
|
|
||||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
* copies of the Software, and to permit persons to whom the Software is
|
|
||||||
* furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included in
|
|
||||||
* all copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
* THE SOFTWARE.
|
|
||||||
*
|
|
||||||
* This file is part of the TinyUSB stack.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _TUSB_HAL_H_
|
|
||||||
#define _TUSB_HAL_H_
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
|
||||||
// INCLUDES
|
|
||||||
//--------------------------------------------------------------------+
|
|
||||||
#include "common/tusb_common.h"
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
|
||||||
// HAL API
|
|
||||||
//--------------------------------------------------------------------+
|
|
||||||
|
|
||||||
// Only required to implement if using No RTOS (osal_none)
|
|
||||||
// TODO could be remove
|
|
||||||
uint32_t tusb_hal_millis(void);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _TUSB_HAL_H_ */
|
|
||||||
|
|
Loading…
Reference in New Issue