| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
Rename setupUSB() and disableUSB() to usb_cdcacm_enable() and
usb_cdcacm_disable(), respectively.
Remove usbSendHello(). This shouldn't exist.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
|
|
| |
Create new BOARD_USB_DISC_DEV and BOARD_USB_DISC_BIT board-specific
values. Use these as arguments to setupUSB() and disableUSB(). This
helps make the USB stack more generic, and goes towards the resolution
of an important FIXME.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
|
| |
Pin layout and header files for the STM32 H103 prototype board from
Olimex featuring an STM32F103RBT6 chip. This commit contains all
necessary changes to compile with BOARD=olimex_stm32_h103.
Signed-off-by: David Kiliani <mail@davidkiliani.de>
|
|
|
|
| |
Signed-off-by: RJ Ryan <rryan@mit.edu>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A variety of USB descriptor structures have been manually
"unpacked". Instead of using the struct, their members were unpacked
into the struct they were nested in. Additionally sizeof()'s were
commented in favor of manual calculation of structure sizes.
After uncommenting these changes, the USB CDC peripheral stopped
correctly configuring with the host. The root problem with the
structures is that GCC is padding them. By applying
__attribute__((__packed__)), these problems are fixed. I removed all
the instances of the workaround I saw within the USB code.
Signed-off-by: RJ Ryan <rryan@mit.edu>
|
|
|
|
| |
bug prevented consecutive SerialUSB.read() calls from returning consecutive bytes
|
|
|
|
|
| |
-Add -Wall, -Werror to libmaple/*
-Fix warnings
|
|
|
|
|
|
|
| |
Committing the results of running the following on the libmaple root
directory:
$ fromdos `grep --exclude-dir='[.]git' -Ilsr $'\r$' .`
|
| |
|
| |
|
|
|
|
| |
http://forums.leaflabs.com/topic.php?id=687
|
| |
|
| |
|
|
|
|
|
| |
Add common linker scripts for ram and rom. Add medium and high density
libraries for libcs3.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Many of the #defines in libmaple.h were board-specific, not
MCU-specific. Most of these were only used by code under
libmaple/usb/. These were moved into usb_config.h, and are clearly
marked as being terrible hacks. I'm going to treat the USB stack as a
black box that we'll deal with later.
Further, instead of having a variety of #defines like "How many USARTS
do I have?", we decide that based on the density of the chip. This is
determined by testing for STM32_MEDIUM_DENSITY or STM32_HIGH_DENSITY
defines. libmaple currently doesn't support low-density chips, so
that suffices. The Makefile will set these automatically based on the
MCU.
Other offending #defines are ERROR_LED_PORT and ERROR_LED_PIN; these
were made optional, but they're set in the Makefile as a hack to keep
things working.
|
|\
| |
| |
| |
| |
| | |
Conflicts:
libmaple/usb/usb.c
notes/coding_standard.txt
|
| | |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Chose debug-serialusb version in cases of conflict.
Conflicts:
libmaple/usb/usb_callbacks.c
|
| | |
| | |
| | |
| | | |
this new function will only return AFTER the usb interrupt has been serviced and the byte is sent. Bytes should NOT fall on the floor ever with this function. (but they still do? pyserials problem?)
|
| | |
| | |
| | |
| | | |
no longer use a ring buffer. No longer double buffer a local rx buffer and the packet memory. Instead, we read out of packet memory and block it for all reads. This is going to be slower. but it tests OK (unlike the old one...).
|
| | | |
|
| | |
| | |
| | |
| | | |
changed USB driver to nak whenever it cant fill an entire endpoint (64B) worth of new data. The old scheme was to set receive valid as long as as the endpoint buffer wasnt full, the new scheme is to nak until it is completely empty.
|
| |/
|/| |
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
| |
Still not working but fixed a lot of merge errors
|
|\
| |
| |
| | |
This compiles for both maple and maple_native but is untested.
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
as a temporary workaround for the fact that SerialUSB is often blocking,
this crude implementation makes the low-level C usbSendBytes function
non-blocking (with a return code of bytes sent) and implements a 2ms
timeout in the wirish write() function.
also adds begin(), end(), getDTR(), getRTS(), pending(). device is still
initialized the old fashioned way during init() so that, eg, autoreset
will work. includes a simple multi-test program.
|
| |
|
|
|
|
|
|
| |
connection
flip flopped back and forth on how much work should be done here. For now its like 5 lines of changes
|
|
|
|
| |
minor
|
|
|
|
| |
fixed some blocking issue on serial tx, improperly checking for connection.
|
|
|
|
| |
current version gets stuck in the isr somewhere. not sure why or where. must debug.
|
|
|
|
| |
now we reset from recv bytes. After receiving the DTR/RTS toggle the next byte in from usb is parsed as the program_delay. For now, this just delays the reset for a period to close the serial port gracefully. Later, this delay will perhaps inform the bootloader of how long to live for...
|
|
|
|
| |
It wasnt used, and was causing a compiler warning to get thrown. It isnt needed, not sure why I added it in the first place
|
| |
|
|
|
|
|
| |
aj wrote this and had comments saying fix this wouldn't work, but
it seems to...
|
|
|
|
|
|
| |
-updated examples
-removed HardwareUSB
-cleaned up a handful of includes
|
| |
|
|
|
|
| |
windows driver
|
|
|
|
|
|
| |
port now 1eaf:0004) and fixed a bug in reset.py,
added a no-delay usb serial loop to main.cpp as an example. has no problem at 115200 in minicom!
|
|
|
|
| |
uintx
|
|
|
|
| |
also, removed some old usb file, bootVect.h, which setup the static table for the runtime usb lib that no longer exists and was provided by the bootloader rev 1
|
| |
|
|
dependent on st for low level access, the entire usb
stack lives in the core application level (not in libmaple). the next project should be to include some low level usb stack in
the libmaple
|