hathach
b349121c09
some doxygen
2014-03-21 16:59:34 +07:00
hathach
d2d0d0a6d5
clean up some device warnings
...
move led_blinking_task and led_blinking_set_interval to board.c
2014-03-21 16:32:39 +07:00
hathach
61657f6751
change OSAL_TASK_FUNCTION to adapt with cmsis rtx
2014-03-19 16:50:49 +07:00
hathach
cf82b13a0e
finish descriptor refractor for hid keyboard & mouse
2014-03-18 18:38:15 +07:00
hathach
eab4f9642c
refractor descriptor passing for device with user-friendly structures
2014-03-18 18:07:48 +07:00
hathach
34756f3862
app descriptor rename
2014-03-18 16:58:24 +07:00
hathach
e73667c078
clean up tusb_descriptors
2014-03-18 16:23:23 +07:00
hathach
d1d4ddd856
doxygen document
2014-03-16 22:20:33 +07:00
hathach
18d577abfb
fix out of range array in usbd
2014-03-14 17:32:01 +07:00
hathach
eff1fe99f8
clean all device os none warnings
2014-03-14 17:24:30 +07:00
hathach
4cdebe2e76
fix warning for device os none
2014-03-14 17:18:05 +07:00
hathach
8fbafc460c
fix a problem with dcd 13uxx dcd_pipe_clear_stall that should clear toggle for buffer0 (instead of active buffer)
...
as the next transfer is always forced to be happened on buffer0
2014-03-13 17:06:18 +07:00
hathach
1e957bb672
change dcd 176x alignment placement to work with IAR
2014-03-12 15:11:48 +07:00
hathach
0f0d9d127b
able to build lpc11u with IAR
...
clean ending warming with IAR
2014-03-12 14:43:58 +07:00
hathach
9ba209cda0
IAR line ending warning
2014-03-12 14:10:38 +07:00
hathach
8f03dea95a
fix iar warning
2014-03-12 14:03:17 +07:00
hathach
c92b03edfb
added scatter file for lpc11u & lpc13u for it to run with keil
2014-03-12 12:49:59 +07:00
hathach
6a736db159
try to port lpc11uxx device demo with IAR
2014-03-10 15:31:12 +07:00
hathach
b586fe632a
change desc_str_table to array of pointer of uint8_t* to be compatible with IAR (lack of support for VLA initialization)
...
IAR device os none works with ea4357
2014-03-10 14:20:38 +07:00
hathach
ad72db5aea
change IAR TUSB_CFG_ATTR_USBRAM to _Pragma("location=\".ahb_sram1\"") instead of @ .ahb_sram1 so that we can place it before the variable for a cleaner code
...
change pipe xfer API buffer from void* to uint8_t*
change FIFO_DEF to have a separated buffer to be compatible with IAR\
refractor IAR data alignment pragma
2014-03-10 13:13:13 +07:00
hathach
d5f278bbf0
clean up dcd_lpc175x_6x.c
2014-03-10 11:36:19 +07:00
hathach
a609cffda2
refractor dcd_lpc175x_6x
...
- remove dd allocation table and use fixed 2 dd for each endpoints
- change dd::used to dd::int_on_complete
--> fixed all the bugs with lpc175x_6x with MSC device & CDC device
2014-03-10 11:18:50 +07:00
hathach
bbe26facb3
some code clean up
...
NOTE: host on ea4357 does not work anymore
2014-02-19 15:29:29 +07:00
hathach
03ad1afef9
clean up warnings
2014-01-24 22:04:59 +07:00
hathach
8bd6440547
fix error in dcd_lpc175x_6x (still has problem with control transfer)
...
fix build error for host
start to add keil support for device
opt out pca9532.c when ea4357 is not the selected board
2013-12-11 11:31:09 +07:00
hathach
a40d20387d
complete dcd 17xx control xfer with soft DMA
...
keyboard LED set report run ok with lpc17xx
there is problem with cdc set line encoding
2013-12-09 16:11:10 +07:00
hathach
b08ecda657
house keeping, lpc43xx works okie
2013-12-09 11:57:09 +07:00
hathach
2af9ecbed5
refractor dcd lpc43xx control xfer (with int on complete)
2013-12-09 11:49:34 +07:00
hathach
055285c559
minor refractor
2013-12-09 11:28:11 +07:00
hathach
e320659f8a
add keyboard led mask
...
make usbd control request to subtask
add get/set report via control pipe to hidd
enforce soft DMA to control pipe for lpc11u (lpc17xx not yet)
temp add led_blinking_set_interval to change led blinking interval
refractor dcd_pipe_control_xfer to have interrupt on complete option
add get/set report support of moused_app and keyboardd_app, keyboard LED will make LED blink faster
2013-12-09 11:15:13 +07:00
hathach
2c8b8ea529
add board lpclink2, able to run device stack without any problems
2013-12-02 00:40:10 +07:00
hathach
24e92f79e7
adjust packet per TD for lpc13u is 1023, 11u is 64
2013-12-01 16:11:41 +07:00
hathach
a9a5146108
correct stall & clear stall behavior for non-control pipe
...
fix data_residue when read10, write10 return 0 (no need for BE conversion)
2013-12-01 15:48:49 +07:00
hathach
edb4226f23
change class_ixr to class_cb
...
use IAD whenever enable CDC to make sure windows driver can detect
change keyboard, mouse send report to int_on_complete = true
2013-12-01 13:53:36 +07:00
hathach
e0db04e6b4
tested with lpc13u
2013-12-01 00:34:18 +07:00
hathach
864935fbe8
code clean up
2013-11-30 22:38:15 +07:00
hathach
6e30a068d2
completely change the dcd for lpc11u & lpc13u to overcome the fact that lpc11u dma cannot transfer more than 64 bytes
...
each buffer. This implement an soft DMA for lpc11u & lpc13u (previously 1023 max) queued transfer
2013-11-30 22:29:37 +07:00
hathach
af87e231c5
house keeping
2013-11-26 14:17:58 +07:00
hathach
8f70a6a886
change endian conversion to native to be & be to native
...
completely deferred xfer isr event to usbd task
complete read10, write10 sequence for large data transfer
2013-11-26 13:15:40 +07:00
hathach
51def3f7ed
refractor usbd task
...
move control request data into task event
adding tusbd_msc_read10_cb, tusbd_msc_write10_cb (not fully supported)
2013-11-25 16:42:04 +07:00
hathach
a5ba283557
change MCU to TUSB_CFG_MCU
2013-11-25 12:48:27 +07:00
hathach
41ffcaf4a5
temp fix for dcd 43xx suspend detection (disconnection does not generate interrupt)
2013-11-22 16:10:05 +07:00
hathach
83f1d660ce
clean up
...
add some doxygen work
finalize device disconnection & suspend
- suspend & resume & remote wake up is not supported yet
2013-11-22 15:16:24 +07:00
hathach
d1ef89a154
fixed lpc11u/13u VBUS (P0_3) with pulldown resistor for USB_VBUS_DEBOUNCED is correct
...
added disconnect callback for lpc11u/13u
2013-11-21 15:24:02 +07:00
hathach
c303154b7a
add class mounted callback for hid mouse/keyboard & refractor mouse/keyboard app
2013-11-21 13:54:29 +07:00
hathach
6887e5e642
refractor usbd-dcd callback, add bus event isr
2013-11-21 12:47:55 +07:00
hathach
d94efa60d6
fixed dcd lpc17xx queue transfer & IOC handling
...
able to run MSC demo
2013-11-20 15:34:49 +07:00
hathach
850fcf03f0
refractor descriptor
2013-11-20 12:52:07 +07:00
hathach
dbfad50d43
house keeping
2013-11-20 12:21:29 +07:00
hathach
d284ecaccb
add sw int_on_complete support for dcd lpc17xx
2013-11-20 12:03:04 +07:00
hathach
2dafeee585
complete dcd for lpc175x_6x
...
cdc device demo can work but there is hardfault with dma descriptor with fast typing
2013-11-19 16:41:30 +07:00
hathach
94854f805a
get lpc17xx running through enumeration (with control data < 64)
2013-11-18 17:29:12 +07:00
hathach
b104d21e71
fix dcd_pipe_control_xfer for dcd43xx
...
refractor tusb_descriptors.h
2013-11-16 22:16:03 +07:00
hathach
672057de5a
IAD support
2013-11-15 17:20:40 +07:00
hathach
6e463caec0
add semaphore for control xfer for > 64 support for some mcu such as lpc11u/lpc17xx
2013-11-15 16:47:26 +07:00
hathach
d4a260c090
refractor usbd's get descriptor
2013-11-15 15:05:23 +07:00
hathach
699edf9485
separate data & status from dcd_pipe_control_xfer
2013-11-15 14:15:05 +07:00
hathach
05c439e45a
refractor usbd, first step to make get configuration as sub task
2013-11-15 13:26:12 +07:00
hathach
fc68439b74
add usbd_task to handle event task eg setup received
2013-11-15 12:30:22 +07:00
hathach
ba49d26e19
fix build error with device 43xx
...
refractor mscd ramdisk demo
2013-11-15 00:01:07 +07:00
hathach
6e8440afe5
complete double buffering for queueing xfer for lpc11u/13u requried by msc device
2013-11-14 14:12:07 +07:00
hathach
7d84139bd4
fix potential issue with stall endpoints
...
NOTE: cannot able to STALL control OUT endpoints --> unsupported with data out request may got to an issue.
clean up configure, add max string descriptor configure as windows sometimes ask for string @ index 238 !!!
2013-11-13 14:00:39 +07:00
hathach
92d9c36dbc
able to build and run cdc device demo on lpc11uxx
2013-11-13 12:40:11 +07:00
hathach
d8f32a79fc
technically, mouse + keyboard device demo also work on lpc13uxx
2013-11-11 14:02:55 +07:00
hathach
9a81cbcd59
remove xfer_type in endpoint_handle_t
...
cdc device demo runs on lpc13uxx
2013-11-11 13:52:31 +07:00
hathach
f00a4b448d
adding support for lpc13uxx
2013-11-11 12:48:21 +07:00
hathach
15d3a418bd
add windows driver for cdc
...
add simple echo cdc serial demo
add cdc device send/receive API
refractor descriptor
refractor cdc.h
add usbd driver function
- init
- bus_reset
2013-11-08 12:03:32 +07:00
hathach
8c9def8618
clean up tusb_descriptors
2013-11-07 11:51:39 +07:00
hathach
60d444b452
fix a bug with USB1, but still cannot get interrupt occurred on USB1
2013-11-06 14:53:18 +07:00
hathach
58b41a05db
refractor for device able to work on usb1 of lpc43xx. But could not get it work on EA4357
2013-11-06 14:20:45 +07:00
hathach
b2b53e61fb
refractor dcd_controller_reset & hcd_controller_reset to hal_controller_reset
2013-11-06 12:15:11 +07:00
hathach
d02ef07337
added support for
...
- sense data scsi_sense_fixed_data_t
- read format capacity scsi_read_format_capacity_data_t
change msc device callback to support actual response
fix dcd_pipe_clear_stall also reset toggle
2013-11-01 22:00:39 +07:00
hathach
f2ae5b541f
add dcd pipe clear stall
...
- tusb_error_t dcd_pipe_clear_stall(uint8_t coreid, uint8_t edpt_addr) but does not take endpoint_handle_t as input
complete msc device driver
add usbd clear stall endpoint
2013-11-01 14:44:14 +07:00
hathach
3a54ad4c0d
implement msc device class
...
usbd auto stall control for not supported return from class control request
usbd implement xfer isr callback mechanism
DCD
- implement dcd multiple qtd support
- dcd dcd_pipe_stall
- implement dcd_pipe_queue_xfer
- xfer_complete_isr
- flush control endpoint if received new setup while previous transfer is not complete
change msc_cmd_block_wrapper_t flags field to dir
force full speed for easy testing
NOTEs: somehow unable to get endpoint IN interrupt with ioc
2013-11-01 12:11:26 +07:00
hathach
c760c69d51
clean up
2013-10-30 14:16:45 +07:00
hathach
3a37dd66cc
refractor hid device
...
add check dcd_pipe_open if endpoint is already used
refractor usbd : parse and auto open class driver
2013-10-30 14:13:06 +07:00
hathach
b8a7ea6d46
add dcd control pipe stall protocol
2013-10-30 12:52:25 +07:00
hathach
d67a7b7959
fix dcd_data declared with TUSB_CFG_ATTR_USBRAM
...
fix lpc43xx UM: non-control unused endpoint type should be set to different than control in ENDPTCTRL
add hid mouse device
fix mouse descriptor with vertical wheel support
2013-10-30 12:20:00 +07:00
hathach
d9ce879df8
able to enumerate mouse + keyboard (missing timing at set configured though)
2013-10-29 17:16:41 +07:00
hathach
cb0a02f8c9
change device driver init to open (when configured)
...
fix HID_REQUEST_CONTROL_SET_REPORT handle
2013-10-29 16:29:48 +07:00
hathach
5ab195a73d
temporarily implementation of dcd_pipe_is_busy
2013-10-29 15:09:16 +07:00
hathach
db986b3107
able to fully enumerated with keyboard
2013-10-29 14:19:56 +07:00
hathach
357813f171
implementing sw device stack
2013-10-29 11:27:25 +07:00
hathach
5f23653c69
more doxygen work
2013-10-25 13:45:57 +07:00
hathach
e4ff63c604
fix a minor bug
2013-07-05 13:41:34 +07:00
hathach
391e132d6b
no big deal, only rename tusb_std_request_t to tusb_control_request_t
2013-07-04 12:25:39 +07:00
hathach
51e9a1817b
change some license text
2013-07-03 13:14:14 +07:00
hathach
ea2e63a332
remove app_os_prio.h in os_none configure
...
remove instance_num in hidh API
temporarily pause device stack developement
should fix travis-ci build error
2013-06-26 18:00:05 +07:00
hathach
54c065b1d5
fix license
2013-06-22 12:54:47 +07:00
hathach
3924764dff
[host lpc43xx] adding support for host custom class
...
refractor usbh class driver indexing
opt out periodic list code in EHCI (need to refractor/group later)
[device lpc176x] rename dcd_endpoint_configure to dcd_pipe_open
add usbd_pipe_open to manage pipe
2013-06-21 13:11:45 +07:00
hathach
743e5a7a93
house keeping
2013-06-16 15:39:09 +07:00
hathach
4d6121d44a
refractor set endpoint max packet size
2013-06-16 15:32:08 +07:00
hathach
357e8d32ec
clean up some & add code for managing control request targeting interface
2013-06-16 14:41:48 +07:00
hathach
77e0834f34
use dcd_pipe_control_read in endpoint_control_isr
2013-06-14 19:10:11 +07:00
hathach
f219a9c77d
add dcd_pipe_control_read
2013-06-14 19:06:33 +07:00
hathach
40b65b265c
implement hidd_control_request including std & class specific to interface number.
...
refractor usbd_setup_received
2013-06-14 18:22:40 +07:00
hathach
4103cc374f
add coreid to hidd_init
...
temporarily implement hidd_init using dcd from lpc17xx
add more test for dcd lp176x
implement dcd_endpoint_configure
2013-06-12 21:06:43 +07:00
hathach
ee57a6f13f
clean up
2013-06-12 14:06:41 +07:00
hathach
17a27f7398
[lpc176x][device] pass set configure control request
2013-06-11 17:53:33 +07:00
hathach
5ae9c72f84
[lpc176x][device] get pass get string descriptors
2013-06-11 17:35:53 +07:00
hathach
cae19b8f56
fix bug with setup packet received (wrong increasement of pointer)
2013-06-11 17:12:44 +07:00
hathach
049a22f2cc
refractor dcd_pipe_control_write_zero_length to use dcd_pipe_control_write
2013-06-11 16:30:06 +07:00
hathach
d55f9ecef1
get pass set address
2013-06-11 16:13:50 +07:00
hathach
72b5b61597
able to xfer device descriptor on control endpoint of lpc176x
2013-06-11 16:01:30 +07:00
hathach
503d279af5
ADDING LPC176X device
...
implementing dcd_lpc175x_6x.c
add usbd_dcd.h
add usbd_isr with TUSB_EVENT_SETUP_RECEIVED & TUSB_EVENT_BUS_RESET event
parameterize TUSB_CFG_DEVICE_CONTROL_PACKET_SIZE (replace USB_MAX_PACKET0)
--> able to get interrupt and receive setup packet, but SET ADDRESS (expected get device descriptor).
uncomment write zero length will cause issue, no more interrupt ?
2013-06-08 02:50:10 +07:00
hathach
e3bb5e9f2f
change buffer_start_addr from uint8_t* to uint32_t due to travis linux 64bit
2013-06-05 11:56:55 +07:00
hathach
f69fefefa9
added dcd_dma_descriptor_t typdef
...
reorganize test project, multiple test projects each is specifically for an MCU
2013-06-05 11:23:41 +07:00
hathach
3394b4beaa
re-create ngx4330.h
...
remove some rom driver dependency on upper layer
introduce CAP_DEVICE_ROMDRIVER to overwrite TUSB_CFG_DEVICE_USE_ROM_DRIVER within the lib
add support for lpc175x_6x
- able to build and blink led on lpcxpresso1769 with device (without any class enabled)
2013-06-04 13:36:18 +07:00
hathach
cdc830782f
rename tusb_device_is_configured
...
remove dcd_lpc18xx_lpc43xx.h and dcd_lpc11uxx_lpc13xx move define to hal
2013-06-04 10:43:58 +07:00
hathach
a3ed66344d
fix compiler bug with ceedling tests
2013-06-03 16:40:02 +07:00
hathach
9f9adca03b
add TUSB_CFG_PROUDCT_ID check
...
move USB_MAX_EP_NUM to device dependency
- lpc43 --> 6
- lpc11/13 --> 5
2013-06-03 15:56:14 +07:00
hathach
b527e6ec4a
refractor tusb_descriptors
...
usbd device_class_driver
added & tested HID mouse for device (work together with hid keyboard)
rename DEVICE_ROM_REG_BASE, DEVICE_ROM_DRIVER_ADDR
2013-06-03 14:31:17 +07:00
hathach
7d78fc1baf
rename romdriver handle
...
forming API for USBD-CLASS driver (abstract away from rom driver)
separate buffer of hid class from buffer of core driver
2013-06-01 21:54:08 +07:00
hathach
9e49056721
refractor change tusbd_hid_keyboard_send_report API
2013-05-31 21:24:40 +07:00
hathach
03d85acfc7
refractor string descriptors, allow one-stop configure descriptor for
...
- manufacturer, product etc ... (only english now)
2013-05-31 18:21:31 +07:00
hathach
ed64401e61
rename descriptor variables
2013-05-31 14:42:38 +07:00
hathach
3b9a616ca9
change at86rf to 1ghznode
...
rom device runs ok with lpc11uxx
2013-05-31 13:57:57 +07:00
hathach
04a641f067
ea4357 can be enumerated, but get setconfiugre value of 0
2013-05-29 16:56:15 +07:00
hathach
d5836751d9
keyboard example works with lpc1347 xpresso
2013-05-29 15:23:07 +07:00
hathach
dda0808ebb
fix lpcxpresso1347 board_leds
...
temp change USBD_API to ROM_API
add lpc13xx device support
fix romdriver pointer
able to init rom driver
2013-05-29 14:39:14 +07:00
hathach
1e5bd82af2
rename NGX to ngx
...
add a bunch of stub header for dcd (175x_6x, 13xx, 18xx_43xx)
add dcd_nxp_romdriver for handling usb rom driver
add BIT_TEST_ in binary.h
remove mw_usbd_hid.h include due to lexical conflict
2013-05-28 15:24:27 +07:00
hathach
ae02263d81
add stub function to able to build device with EA4357
...
- dcd_controller_reset
- dcd_controller_connect
2013-05-25 16:03:40 +07:00
hathach
8cb7818bcc
- move CMSIS & driver lib for lpc13u to codebase bsp/lpc13xx
...
- change descriptor.c/h able to build device example
2013-05-23 13:22:46 +07:00
hathach
56cd8be75e
change website from tinyusb.net to tinyusb.org
2013-03-25 11:46:30 +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
e438a7ca09
house keeping
2013-01-18 12:29:54 +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
463b1c0294
rename ASSERT_ERROR to ASSERT_STATUS
...
add binary const support @ common/binary.h
enhance assert support @ common/assertion.h
add test code for assertion.h
2013-01-13 19:27:17 +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
00b3f48519
rename a bunch of configure macros
2012-12-20 16:56:19 +07:00
hathach
3eb7465e5e
abstract usb enable/disable interrupt to hal layer
2012-12-10 14:58:25 +07:00
hathach
cd74f4f0ed
work with lpc11u37 (lpc11uxx) on kevin's board
2012-12-07 16:22:47 +07:00
hathach
6049b6d0df
make fundamental changes in project building
...
add some makefile.defs
2012-12-07 01:31:09 +07:00
hathach
82820a2066
able to build with lpc43xx demo
2012-12-04 14:12:48 +07:00
hathach
8f00307986
fixed building errors with device example
2012-12-04 11:30:34 +07:00
hathach
b698b09a67
fix some doxygen settings and stuffs add prepacked for IAR compiler
2012-12-03 16:51:14 +07:00
hathach
b36a85ad36
add extern "C" for cpp
...
start to work on hal layer
2012-12-02 11:07:59 +07:00
hathach
8a1dee1b2e
add overview.md and license.md and tinyUSB overview.png
2012-12-02 00:36:44 +07:00
hathach
879fb21f99
change license email to website
...
added support for cdc devices
2012-11-29 17:52:57 +07:00
hathach
2dd9501f37
update doxygen
2012-11-29 16:58:12 +07:00
hathach
b8b92e1202
hid mouse working
2012-11-29 16:32:49 +07:00
hathach
8f57cb6ccb
house keeping
2012-11-29 15:57:44 +07:00
hathach
360b28b44f
add more doxygen docs
...
start to use TUSB_Error_t
2012-11-29 15:35:59 +07:00
hathach
8cd811e2a9
start to work with doxygen
...
fix mem_size/mem_base usage with device rom driver
2012-11-29 10:41:33 +07:00
hathach
851f5bfd06
make keyboard device work with lpc1347
2012-11-28 11:53:23 +07:00