Commit Graph

164 Commits

Author SHA1 Message Date
hathach d7ae21203c fix issue with osal_none queue def 2013-05-21 17:57:21 +07:00
hathach f4887b3981 adding support for keil's rtx cmsis-rtos 2013-05-15 13:39:28 +07:00
hathach 40503b913b abstract os priority for application tasks 2013-05-14 21:32:13 +07:00
hathach f8d1c3da3e rename tusbh_hid_keyboard/mouse_is_supported to tusbh_hid_keyboard/mouse_is_mounted 2013-05-14 03:03:54 +07:00
hathach 834869ffcd filter out unused driver files in CMSIS lpc43xxx 2013-05-13 01:21:57 +07:00
hathach 446038fd36 move cmsis to bsp/lpc43xx to keep all in repos for travis-ci run
update setting for all project file respectively
2013-05-09 15:23:04 +07:00
hathach fd49cff8e8 add stub for msc host & hub driver 2013-05-06 20:09:06 +07:00
hathach 4fa7f77ee2 adding keil mcb4300 support
- implement board_leds & board_uart routines
2013-05-06 15:06:08 +07:00
hathach 120db28a17 change format of file header & license spacing 2013-05-06 12:50:19 +07:00
hathach c202bfe556 move ngx4330 to ngx folder in boards 2013-04-29 20:43:16 +07:00
hathach c2b453c8a0 make NGX4330 build runs ok with host_freertos demo 2013-04-29 17:47:48 +07:00
hathach fdd98e2fa9 clean up main 2013-04-28 00:00:48 +07:00
hathach d68f882a25 refractor mouse & keyboard app 2013-04-27 16:50:58 +07:00
hathach 38172d3d3c fix bug with osal_queue for freeRTOS
implement process mouser report to clarify mouse app task
2013-04-27 16:40:18 +07:00
hathach 8bd077fa5c fix bug (wrong logic) with osal_task_delay in non OS configure
complete keyboard app with key state & event TODO handle & check for non-printable(control) keycode
add unit test for osal_task_delay for non OS
2013-04-27 00:24:15 +07:00
hathach 33feba5cbc add hid_keycode_to_ascii_tbl for hid class
improve keyboard_app, should display all displayable characters
improve the de-bouncing keyboard (still got some issues)
2013-04-26 02:08:22 +07:00
hathach 3763e22c9a change OSAL_TASK_DEF to decouple variable name with task name
implement osal_task_delay for freeRTOS & non_os
getting both no_os & freertos running with mouse + keyboard
2013-04-25 16:41:00 +07:00
hathach 1ae5484320 finally able to get freeRTOS run with current mouse + keyboard example
NOTES: print_greeting if is executed before the start of freeRTOS scheduler --> hardfault
- print_greeting->vsprintf->systick -> bunch of ISR --> hardfault.

printf using serial after the start of scheduler is ok though
2013-04-25 15:43:33 +07:00
hathach 92994c8192 add attribute warn unused result for osal_create_* function
taskify keyboard_app mouse_app & led_blinking
2013-04-25 11:55:24 +07:00
hathach e9dbce5f1b add TUSB_CFG_OS_TASK_PRIO to mandatory option for using an RTOS
using plain char for error enum character
increase freeRTOS configMAX_PRIORITIES to 16
house keeping & clean up compiler warning
2013-04-25 11:00:56 +07:00
hathach d4a2600ecc - change OSAL_TASK_FUNCTION to have void* parameter (to be consistent with most popular RTOS)
- add new error enum TUSB_ERROR_OSAL_TASK_CREATE_FAILED
- move usbh_enumeration_task prototype to usbh.h
- change OSAL_SUBTASK_INVOKED_AND_WAIT behavior, will not "return" in calling task when subtask got error status.
calling task need to do that after the call
- osal_queue_receive signature from uint32_t* to void*

- implement osal_freertos.h for FreeRTOS 7.3 --> able to compile & build host_freertos
+ OSAL_TASK_FUNCTION
+ turn on FPU for M4 in both host_os_none & host_freertos (freertos requires FPU to be on to compile)
+ osal_task_create
+ OSAL_SUBTASK_INVOKED_AND_WAIT
+ SUBTASK_ASSERT
+ osal_semaphore_reset
+ osal_queue_flush
+ adding heap_1.c for memory management
2013-04-24 17:53:43 +07:00
hathach 73d5f00a40 rename OSAL_TASK_DECLARE to OSAL_TASK_FUNCTION
removing TASK_ASSERT to avoid using goto/continue statement with rtos configure
2013-04-23 15:35:27 +07:00
hathach 0b9f553f81 house keeping 2013-04-22 12:46:36 +07:00
hathach 8cc4c6f52d change the board_leds API to on_mask, off_mask
getting led toggling per second on host demo
add greeting message
2013-04-22 12:10:52 +07:00
hathach 799c709524 adding oem base board lib for ea4357 2013-04-22 11:22:56 +07:00
hathach ea1b5ec355 house cleaning 2013-04-22 11:16:12 +07:00
hathach 0d55f7d290 moving things around 2013-04-22 11:03:18 +07:00
hathach c20071c55c fix compiler error for USB1 to none in ehci.c
rename and moving bsp ea4357
2013-04-22 11:00:43 +07:00
hathach 3f9a73a34d change config to use USB0 only
fix some compiler warnings
2013-04-22 10:44:51 +07:00
hathach a493fab753 separate fake ehci's run async & period list
refractor list_find_previous_item & list_remove_qhd to act on ehci_link_t* instead of ehci_qhd_t*
fully support 1ms, 2ms, 4ms, 8ms for period list (each list has a dummy queue head)
- change period list structure
limit the maximum polling interval to 256 ms
add max_loop static MAX number of iteration for list_find_previous_item
add test for close 256ms polling interrupt
2013-04-21 15:09:54 +07:00
hathach 357888a5e5 rename nxp_sof_received to nxp_int_sof
implementing freeRTOS integration
change get_period_frame_list from using lst_idx to hostid (fix bug)
adding polling interval supported for interrupt: 1ms, 2ms, 4ms, 8ms
- add interval_ms to get_period_head function
- add bInterval to qhd_init
- add support for sub-frame (less than 8 micro frames) interval
- add bunch of test for interrupt different intervals
2013-04-21 00:28:25 +07:00
hathach a9010c1786 getting build with freertos & host demo 2013-04-16 16:48:19 +08:00
hathach cb4981dd2d adding host_freertos configure & build etc 2013-04-16 16:30:36 +08:00
hathach 115c1f2552 create lpcxpresso project for host_freertos 2013-04-16 15:04:46 +08:00
hathach 528cadf3ff rename and "host" to "host_os_none" demo in prepare for creating host_freertos demo 2013-04-16 14:49:20 +08:00
hathach 91d64ebbb3 clear keyboard & mouse report 2013-04-15 18:04:26 +08:00
hathach 1821681816 move project files to os_none 2013-04-15 17:49:02 +08:00
hathach 54221bb73b move code in host demo to /src in prepare for support freeRTOS projects 2013-04-15 17:30:36 +08:00
hathach 2d7fbb5153 change keyboard_app.c & mouse_app.c from polling API to interrupt-based (callback isr)
and using OSAL for task-base demo
- fix ehci error with XFER_COMPLETE callback to usbh_isr, TD need to be freed & unlink before invoking
callback
- fix bug in usbh.c set device state to CONFIGURED right after SET_CONFIGURE control xfer
2013-04-10 02:34:40 +07:00
hathach e14aa4197d change osal_queue_send(osal_queue_handle_t const queue_hdl, uint32_t data) signature to osal_queue_send(osal_queue_handle_t const queue_hdl, const void * data)
- support any size queue message (instead of fixed uint32_t)
2013-04-10 01:18:32 +07:00
hathach 11dff6f978 add Lib_OemBaseBoard to bsp/board but current exclude from all builds (added when needed later) 2013-04-09 02:30:33 +07:00
hathach c036efff1d adding code to allow configure MIC2555 to pull down D+/D- (still need bit bangding I2C on PB_0 PB_1)
add back port reset after get 8 bytes of device descriptor
2013-04-09 02:13:18 +07:00
hathach b0a54cbf8f amend last commit 2013-04-08 15:01:04 +07:00
hathach 94e25880dc - add scu_pinmux(0x2, 5, MD_PLN | MD_EZI | MD_ZI, FUNC2); // USB1_VBUS monitor presence
- USB1 host run ok with NGX4330
2013-04-08 14:57:00 +07:00
hathach ef850984da move MCU define to tusb_option.h, fix the ATTR with USB RAM
hack: add delay before the very first xfer when enumerating (finalize later
after reading USB 2.0 specs)
2013-04-08 03:45:31 +07:00
hathach 95df92055c fix board uart init with NGX4330 (use UART0)
add USB1_PWR_EN (GPIO5[6])
2013-04-08 02:36:43 +07:00
hathach 4b63a2bc5c - fix HID_MOUSEBUTTON right & left
- add mouse app to mount mouse interface
2013-04-07 19:33:40 +07:00
hathach 1776bb53f6 add hal init for USB1 and trying to get USB1 working
add hack delay 100 ms after a port reset (huge) for correct speed detection
2013-04-07 03:40:24 +07:00
hathach e658e67ebe fix the damn bug within 10 line of code in keyboard_app.c 2013-03-29 00:20:27 +07:00
hathach d95c6cf2e0 quick fix for a bug in keyboard app.
still have unplug/plug event after receiving report from keyboard devices
2013-03-27 15:42:45 +07:00
hathach 7b5d9edc5a add test for pipe_interrupt_xfer
implement keyboard app code
- forcefully place keyboard_report in RAM section 3
change used bit in qtd from reserved in buffer[1] to alternate link
add code for fake ehci controller runs on period interrupt
change signature of tusbh_hid_keyboard_get_report
- tusb_keyboard_report_t* to uint8_t*
implement period (interrupt) complete isr processing
2013-03-27 11:51:44 +07:00
hathach 03d045ecde - put ATTR_UNUSED to hardfault handler variables to discard compiler warning
- change host_class_driver_t: open_subtask signature to accept tusb_descriptor_interface_t const * instead of uint8_t*
2013-03-26 12:14:04 +07:00
hathach c026a9f2e0 remove obsolete TUSB_CFG_HOST_HID_KEYBOARD_ENDPOINT_SIZE
temporarily ignore test for hid_host.c due to ceedling linking issue with weak symbol
implement hidh_open_subtask driver to subclass open
rename hidh_keyboard_install to hidh_keyboard_open_subtask
2013-03-25 16:02:24 +07:00
hathach 56cd8be75e change website from tinyusb.net to tinyusb.org 2013-03-25 11:46:30 +07:00
hathach c7c993d6cc refractor hidh keyboard
changing class hidh behavior
2013-03-24 21:40:49 +07:00
hathach a1b17be681 add class flags
change keyboard_info_pool to keyboard_data
2013-03-24 17:29:07 +07:00
hathach ce63980386 clean up:
- refractor tusb_handle_device_t device_hdl to uint8_t dev_addr

add keyboard_app.c/h
2013-03-24 15:50:49 +07:00
hathach 9c5ffa9932 house keeping 2013-03-24 14:32:54 +07:00
hathach ae9b9ead7a continue clean up ehci 2013-03-23 10:23:37 +07:00
hathach dbaf6c0d30 - fix bug when unplugged unmounted-already device (mostly plugged when power on)
- add hal_debugger_is_attached & hal_debugger_breakpoint
- assert will suspend (place breakpoint) if the condition is failed and debugger is attached. Otherwise, a message to uart is printed
- fix get control qhd function when dev_addr is not zero (shifted 1)
- fix wrong logic for unsupported class
2013-03-22 17:08:51 +07:00
hathach 97c9001d40 add hard fault handler to bsp.c
rename class_install_subtask to class_open_subtask
add class_close for unmount
adding code for usbh_device_unplugged_isr & invoke it in hcd_isr
2013-03-13 10:57:30 +07:00
hathach 79e277d323 go through all the enumeration (up to get full configuration)
- fix init_qhd for address 0 (clear queue head --> ehci controller halted)
- fix bug in usbh_init missing address0 for semaphore create

TUSB_CFG_DEBUG == 3: --> ATTR_ALWAYS_INLINE is null --> allow gcc to export "normal inline" function
2013-03-13 00:02:45 +07:00
hathach d2bd80109e add semaphore post in usbh_isr for control pipe
add osal_queue_send in usbh_device_plugged
add macro for placing breakpoint macros
fix ehci init:
- regs->cmd or (add run_stop)
- enable port power in portsc
add tusb_task_runner in main loop
2013-03-12 20:04:29 +07:00
hathach c6b220c327 update keil file 2013-03-12 15:08:35 +07:00
hathach 453ea39865 add project file for keil
fix binary.h compiler specific
add hal_init code to reset & set usbmode --> able to get USB ISR
remove const qualifier from return function of
- get_operational_register
- get_period_frame_list
- get_async_head
- get_period_head
- get_control_qhd
add stub for
- hcd_port_connect_status
- hcd_port_speed
2013-03-12 12:06:40 +07:00
hathach a259be6edf refractor
- remove TUSB_CFG_HOST_CONTROLLER_START_INDEX
2013-03-04 18:01:05 +07:00
hathach e1033b9b3c replace TUSB_CFG_HOST by MODE_HOST_SUPPORTED
move stuffs around
2013-03-04 17:07:14 +07:00
hathach 94c004724c allow configure host/device by controller basic
- make changes to adapt
add mcu_capacity.h
2013-03-04 16:21:41 +07:00
hathach 0c397c6b8d house keeping
- correct initialization call sequence
- move hcd_init to ehci.c
2013-02-27 18:49:28 +07:00
hathach 49da210860 add osal subtask support
add usbh_control_xfer_subtask as xfer and wait
fix potential error when update device info & open control pipe for new address
fix build error with hal_****.c
add STATIC_ASSSERT to perform compile time checking with sizeof later
update osal_queue_receive and osal_semaphore_wait for osal_none to support subtask
2013-02-26 17:28:05 +07:00
hathach 489b98cb93 add TUSB_CFG_HOST_CONTROLLER_START_INDEX
update usbh_init and test code for TUSB_CFG_HOST_CONTROLLER_START_INDEX
clean up some
2013-02-08 12:12:10 +07:00
hathach aeccdfde3f remove TUSB prefix for class enum definitions
add most of HID USAGE TABLE and definitions etc ...
2013-02-05 13:57:06 +07:00
hathach 9a1bda1633 house keeping 2013-01-27 16:19:18 +07:00
hathach 535f330026 update license year from 2012 to 2013 2013-01-27 13:50:40 +07:00
hathach 7edda37518 add more test code for keyboard hid application API
refractor, restructure, rename several thing regarding host, keyboard etc ...
2013-01-26 01:37:15 +07:00
hathach 38ce3f7534 start to support
- usbd host
- osal

some global define
#define TUSB_CFG_HOST_CONTROLLER_NUM
#define TUSB_CFG_HOST_DEVICE_MAX
#define TUSB_CFG_CONFIGURATION_MAX

rename & refractor HID type structure & enum

use CException to test asssertion library
add test for hid_host_keyboard with usbd configure get & osal queue get stubs
update test for assertion library
refractor ASSERT_STATUS in assertion library
update tusb_error_t values
rename usb basic type & enum in tusb_types.h and std_descriptors.h
2013-01-22 17:41:06 +07:00
hathach cfe7a3d23b change error type to lower case for more consistency
change Error Enum to TUSB prefix for more consistency
start to add check for OS configure
2013-01-19 00:57:58 +07:00
hathach d8c8b9e38a add ASSERT POINTER support
add hid host and separate hid host & device
update host project setting with EA4357 board
add para checking test for hid host
2013-01-18 14:39:42 +07:00
hathach 25f6cee73b add DEVICE_ROM_DRIVER_ADDR macro in hal to point to rom driver add
add TUSB_ATTR_RAM_SECTION in tinyusb_config.h to abtract usb ram placement to application
remove power_api.h (mcu dependency)
2013-01-18 11:49:51 +07:00
hathach c16632da0b add UART support for ea4357 (tested) 2013-01-17 14:40:46 +07:00
hathach 480ddb4fec start to add bsp and build configuration for embedded artist 4357 2013-01-17 11:03:43 +07:00
hathach 10009cba99 add initial support for output using ITM via SWO (not tested though) 2013-01-17 02:04:47 +07:00
hathach aae51e985f refractor board and start to add support for SWO retarget 2013-01-17 01:09:58 +07:00
hathach c004cd4387 add uart for lpc11uxx and retarget successfully 2013-01-16 12:43:17 +07:00
hathach 0cec7910a0 update project setting to have most warning option enable with simple switch on/off (off for faster compiling time) 2013-01-15 14:41:19 +07:00
hathach 6e0818c901 re-target printf to uart successful on LPCXpresso1347 2013-01-11 22:43:54 +07:00
hathach e935f29541 tested keyboard device with lpcXpresso1347 board 2013-01-11 20:49:46 +07:00
hathach d76df54003 add external configure file: tusb_config.h
rename the internal/default configure from tusb_cfg.h to tusb_option.h
2013-01-11 16:55:47 +07:00
hathach a6e5197b58 use X Macros to remove #undef in errors. 2013-01-11 16:28:57 +07:00
hathach 83bb44510a update makefile project
back to use lpcxpresso project file (instead of make target project)
2013-01-11 16:10:16 +07:00
hathach 1f3c9ed69d start add makefile for keyboard demo 2013-01-10 16:46:52 +07:00
hathach f4fa62e032 clean up 2012-12-27 02:33:51 +07:00
hathach a2e1fc4a73 fix device example build errors 2012-12-20 17:13:22 +07:00
hathach 8c2ec83c59 rename macro configure in examples 2012-12-20 16:59:43 +07:00
hathach ec4a3f6048 cleaning 2012-12-18 15:08:30 +07:00
hathach e4a69a6f71 running blinking example 2012-12-10 16:10:24 +07:00
hathach 4ec23ea786 add build and project settings for lpc43xx 2012-12-10 15:59:10 +07:00
hathach 3eb7465e5e abstract usb enable/disable interrupt to hal layer 2012-12-10 14:58:25 +07:00
hathach b52b3b1cef finalize building process. Now I can focus on developing the stack (finally) 2012-12-07 18:09:01 +07:00
hathach 70e3a13951 change building process yes, again 2012-12-07 17:59:46 +07:00