Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .circleci/config2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,6 @@ commands:
TOOLCHAIN_OPTION="--toolchain clang"
elif [ << parameters.toolchain >> == arm-iar ]; then
TOOLCHAIN_OPTION="--toolchain iar"
echo IAR_LMS_CLOUD_URL=$IAR_LMS_CLOUD_URL
iccarm --version
elif [ << parameters.toolchain >> == arm-gcc ]; then
TOOLCHAIN_OPTION="--toolchain gcc"
Expand Down
27 changes: 1 addition & 26 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,15 +111,13 @@ jobs:

# ---------------------------------------
# Build IAR on HFP self-hosted
# Since IAR Token secret is not passed to forked PR, only build on PR from the same repo
# ---------------------------------------
arm-iar:
if: github.repository_owner == 'hathach' && github.event_name == 'push'
needs: set-matrix
runs-on: [self-hosted, Linux, X64, hifiphile]
env:
BUILD_ARGS: ${{ join(fromJSON(needs.set-matrix.outputs.json)['arm-iar'], ' ') }}
IAR_LMS_CLOUD_URL: ${{ vars.IAR_LMS_CLOUD_URL }}
IAR_LMS_BEARER_TOKEN: ${{ secrets.IAR_LMS_BEARER_TOKEN }}
steps:
- name: Clean workspace
Expand All @@ -129,9 +127,7 @@ jobs:
mkdir -p "${{ github.workspace }}"

- name: Toolchain version
run: |
echo IAR_LMS_CLOUD_URL=$IAR_LMS_CLOUD_URL
iccarm --version
run: iccarm --version

- name: Checkout TinyUSB
uses: actions/checkout@v4
Expand All @@ -141,24 +137,3 @@ jobs:

- name: Build
run: python3 tools/build.py --one-per-family --toolchain iar $BUILD_ARGS

# ---------------------------------------
# Zephyr
# ---------------------------------------
zephyr:
if: github.event_name == 'push'
runs-on: ubuntu-latest
steps:
- name: Checkout TinyUSB
uses: actions/checkout@v4

- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@v1
with:
app-path: examples
toolchains: arm-zephyr-eabi

- name: Build
run: |
west build -b pca10056 -d examples/device/cdc_msc/build examples/device/cdc_msc -- -DRTOS=zephyr
west build -b pca10056 -d examples/device/msc_dual_lun/build examples/device/msc_dual_lun -- -DRTOS=zephyr
8 changes: 2 additions & 6 deletions .github/workflows/hil_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,13 +90,11 @@ jobs:
# ---------------------------------------
# Hardware in the loop (HIL)
# self-hosted by HFP, build with IAR toolchain, for attached hardware checkout test/hil/hfp.json
# Since IAR Token secret is not passed to forked PR, only build on PR from the same repo
# ---------------------------------------
hil-hfp:
if: github.repository_owner == 'hathach' && github.event.pull_request.head.repo.fork == false
if: github.repository_owner == 'hathach'
runs-on: [self-hosted, Linux, X64, hifiphile]
env:
IAR_LMS_CLOUD_URL: ${{ vars.IAR_LMS_CLOUD_URL }}
IAR_LMS_BEARER_TOKEN: ${{ secrets.IAR_LMS_BEARER_TOKEN }}
steps:
- name: Clean workspace
Expand All @@ -106,9 +104,7 @@ jobs:
mkdir -p "${{ github.workspace }}"

- name: Toolchain version
run: |
echo IAR_LMS_CLOUD_URL=$IAR_LMS_CLOUD_URL
iccarm --version
run: iccarm --version

- name: Checkout TinyUSB
uses: actions/checkout@v4
Expand Down
16 changes: 1 addition & 15 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,6 @@ latex
*.jlink
*.emSession
*.ninja*
*.eww
*.ewp
*.ewt
*.ewd
*.hex
cmake_install.cmake
CMakeCache.txt
settings/
.settings/
.vscode/
.gdb_history
Expand All @@ -45,10 +37,4 @@ cmake-build-*
sdkconfig
.PVS-Studio
.vscode/
build
CMakeFiles
Debug
RelWithDebInfo
Release
BrowseInfo
.cmake_build
build/
4 changes: 0 additions & 4 deletions .idea/cmake.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 0 additions & 14 deletions .idea/debugServers/rp2040.xml

This file was deleted.

14 changes: 0 additions & 14 deletions .idea/debugServers/rp2350.xml

This file was deleted.

13 changes: 0 additions & 13 deletions .idea/debugServers/rt1060.xml

This file was deleted.

13 changes: 0 additions & 13 deletions .idea/debugServers/rt1064.xml

This file was deleted.

13 changes: 0 additions & 13 deletions .idea/debugServers/sam21.xml

This file was deleted.

13 changes: 0 additions & 13 deletions .idea/debugServers/sam51.xml

This file was deleted.

1 change: 0 additions & 1 deletion .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 8 additions & 5 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ TinyUSB Project
.. figure:: docs/assets/logo.svg
:alt: TinyUSB

TinyUSB is an open-source cross-platform USB Host/Device stack for embedded system, designed to be memory-safe with no dynamic allocation and thread-safe with all interrupt events are deferred then handled in the non-ISR task function. Check out the online `documentation <https://docs.tinyusb.org/>`__ for more details.
TinyUSB is an open-source cross-platform USB Host/Device stack for
embedded system, designed to be memory-safe with no dynamic allocation
and thread-safe with all interrupt events are deferred then handled in
the non-ISR task function. Check out the online `documentation <https://docs.tinyusb.org/>`__ for more details.

.. figure:: docs/assets/stack.svg
:width: 500px
Expand All @@ -29,7 +32,7 @@ TinyUSB is an open-source cross-platform USB Host/Device stack for embedded syst
├── hw
│ ├── bsp # Supported boards source files
│ └── mcu # Low level mcu core & peripheral drivers
├── lib # Sources from 3rd party such as FreeRTOS, FatFs ...
├── lib # Sources from 3rd party such as freeRTOS, fatfs ...
├── src # All sources files for TinyUSB stack itself.
├── test # Tests: unit test, fuzzing, hardware test
└── tools # Files used internally
Expand All @@ -40,7 +43,7 @@ Getting started

See the `online documentation <https://docs.tinyusb.org>`_ for information about using TinyUSB and how it is implemented.

Check out `Getting Started`_ guide for adding TinyUSB to your project or building the examples. If you are new to TinyUSB, we recommend starting with the ``cdc_msc`` example. There is a handful of `Supported Boards`_ that should work out of the box.
Check out `Getting Started`_ guide for adding TinyUSB to your project or building the examples. If you are new to TinyUSB, we recommend starting with the `cdc_msc` example. There is a handful of `Supported Boards`_ that should work out of the box.

We use `GitHub Discussions <https://github.com/hathach/tinyusb/discussions>`_ as our forum. It is a great place to ask questions and advice from the community or to discuss your TinyUSB-based projects.

Expand All @@ -66,7 +69,7 @@ Supports multiple device configurations by dynamically changing USB descriptors,
- Vendor-specific class support with generic In & Out endpoints. Can be used with MS OS 2.0 compatible descriptor to load winUSB driver without INF file.
- `WebUSB <https://github.com/WICG/webusb>`__ with vendor-specific class

If you have a special requirement, ``usbd_app_driver_get_cb()`` can be used to write your own class driver without modifying the stack. Here is how the RPi team added their reset interface `raspberrypi/pico-sdk#197 <https://github.com/raspberrypi/pico-sdk/pull/197>`_
If you have a special requirement, `usbd_app_driver_get_cb()` can be used to write your own class driver without modifying the stack. Here is how the RPi team added their reset interface `raspberrypi/pico-sdk#197 <https://github.com/raspberrypi/pico-sdk/pull/197>`_

Host Stack
==========
Expand All @@ -77,7 +80,7 @@ Host Stack
- Vendor serial over USB: FTDI, CP210x, CH34x
- Hub with multiple-level support

Similar to the Device Stack, if you have a special requirement, ``usbh_app_driver_get_cb()`` can be used to write your own class driver without modifying the stack.
Similar to the Device Stack, if you have a special requirement, `usbh_app_driver_get_cb()` can be used to write your own class driver without modifying the stack.

Power Delivery Stack
====================
Expand Down
1 change: 0 additions & 1 deletion docs/contributing/code_of_conduct.rst

This file was deleted.

1 change: 1 addition & 0 deletions docs/contributing/code_of_conduct.rst
Loading
Loading