use CGU_GetPCLKFrequency as configCPU_CLOCK_HZ for lpc43xx using with freeRTOS move portmarco.h include to FreeRTOSConfig.h to have untouched version of freertos add a readme.md to vendor/freertos refractor usbh.c, increase POWER_STABLE_DELAY = 500, RESET_DELAY = 200 fix bug with hub, only handle 1 port at a time when reading hub status change endpoint --> other port will be handled in the next cycle
Test-Driven Development
Test-Driven Development (TDD) is a development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards.
In this project, TDD is performed by the help of Ceedling, Unity & CMock as a testing framework. However, due to my limited time, not all the code base is tested yet, and it will be indeed an challenging to keep the test up to the code.
More detail on TDD can be found at
- James W. Grenning's book "Test Driven Development for Embedded C"
- throwtheswitch's Ceedling, CMock & Unity
Continuous Integration
Continuous Integration (CI) is used to automatically run all the tests whenever there is a change in the code base. This makes sure that a modification of a file won't break any tests or functionality of others, verifying they all passed.
As many other open source project, tinyusb uses Travis-CI server (free for OOS). You can find my project on Travis here https://travis-ci.org/hathach/tinyusb