| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Check if we're transmitting (instead of how many bytes are left
untransmitted) before bailing, in case we're transmitting a
zero-length packet.
- Set transmitting=1 before setting the endpoint valid to avoid races
with the USB interrupt.
- Eliminate some duplicated code.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
| |
the host buffers by sending a 0 byte packet
Signed-off-by: Manuel Odendahl <wesen@ruinwesen.com>
|
|
|
|
|
|
|
|
| |
Added a flag to see if we are currently waiting on an interrupt to acknowledge the sending of the current
IN packet.
Added a method usb_cdcacm_is_transmitting() to check for that flag.
Signed-off-by: Manuel Odendahl <wesen@ruinwesen.com>
|
|
|
|
|
|
| |
usb_serial.cpp)
Signed-off-by: Manuel Odendahl <wesen@ruinwesen.com>
|
|
|
|
| |
Signed-off-by: Dmitry Prokhorov <dipspb@gmail.com>
|
|
|
|
|
|
| |
Keep things simple.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|\
| |
| |
| | |
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
stm32f1/performance: load stm32.h in order to have STM32_HIGH_DENSITY when necessary
STM32_HIGH_DENSITY was not defined in isrs.S and vector_table.S for a high density STM32. This was because stm32.h where the flag is now defined (in contrast to being defined on the command line in an earlier version of libmaple) was not included. This led to crashes when using one of the high density peripherals.
Updated the ASFLAGS to have the correct include path in rules.mk.
Include stm32.h in the assembler files.
Signed-off-by: Manuel Odendahl <wesen@ruinwesen.com>
|
|/
|
|
|
|
| |
It is possible to receive empty bulk transfers. This would lead to the endpoint never being reenabled as this was handled by the read routine. This caused the USB to hang.
Signed-off-by: Manuel Odendahl <wesen@ruinwesen.com>
|
|
|
|
|
|
|
| |
Sigh; Emacs's elide-head feature makes it easy to forget to update
these.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
| |
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|\ |
|
| |
| |
| |
| | |
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
| |
| |
| |
| |
| |
| | |
Keep the Doxygen in the header as per Wirish conventions.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
| |
| |
| |
| | |
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
| |
| |
| |
| |
| |
| | |
examples
Signed-off-by: Aditya Gaddam <adityagaddam@gmail.com>"
|
| |
| |
| |
| |
| |
| | |
function. While the second shows the use of a static class method as the event handler. Both work on Maple REVC
Signed-off-by: Aditya Gaddam <adityagaddam@gmail.com>"
|
| |
| |
| |
| |
| |
| | |
probably use voidFuncPtr instead, but this way people can see that the function expects something different. Existing functions haven't changed in signature.
Signed-off-by: Aditya Gaddam <adityagaddam@gmail.com>"
|
| |
| |
| |
| |
| |
| | |
argument can be the instance that needs to handle the interrupt, or just a random argument you might find useful later. Suggestions from mbolivar and iperry from pull53 on libmaple were taken into account.
Signed-off-by: Aditya Gaddam <adityagaddam@gmail.com>"
|
| |
| |
| |
| | |
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add libraries directory to global include path, so Wire sub-headers
can be included in a directory-independent way.
Tweak Wire global declaration and definition so it builds.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
| |
| |
| |
| |
| |
| |
| | |
This causes the warning to be emitted at most once. As is, it can be
emitted each time HardwareSPI.h is included, which is annoying.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|/
|
|
|
|
| |
Guard hooks with BOARD_HAVE_SERIALUSB to keep GCC quiet.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
| |
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
|
| |
This is a developer's doc explaining how interrupts are handled in
libmaple. It's time we exposed this information to enable people who
know what they're doing to move around more easily.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
|
| |
This reverts commit 715a63dccb3a39d7d0502fb39b900c8302a60a87. It fails
to build using the 2010 CodeSourcery toolchain, which is still the latest
officially supported version.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
|
|
|
| |
Move magic bytes from stack to Flash. De-magic-number sizeof magic
byte buffer. Use uintptr_t instead of unsigned int when casting
address of wait_reset().
Based on a patch by Michael Hope.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
| |
instead of forcing r0. Use the same operand as input and output to
remove the move.
Signed-off-by: Michael Hope <michael.hope@linaro.org>
|
|\
| |
| |
| |
| |
| | |
Weed out non-Maple ttyACMs on Linux.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Move the sysfs tests for Maple out of unix_get_maple_path() and into a
new linux_get_maple_path(). This prevents unnecessary probing for a
nonexistent /sys on e.g. OS X.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|/
|
|
|
|
|
|
| |
Adds a function to lookup the USB vendor & product id from
the udev info in the sysfs tree. This removes invalid choices
and reduces user queries for the correct ttyACM device.
Signed-off-by: David Kiliani <mail@davidkiliani.de>
|
|
|
|
|
|
|
|
| |
As discussed on this forum thread:
http://forums.leaflabs.com/topic.php?id=2451
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
| |
This is just to ensure that -Os doesn't prevent these from getting
inlined.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
| |
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
| |
For Python 3 support.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
|
|
| |
Instead, derive -march and -mcpu from the target MCU in
target-config.mk. Also (on STM32F4) add the necessary floating point
flags. The CodeSourcery toolchains don't support these, so we'll need
to prepare alternative toolchains when F4 support is official.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
| |
Oops.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
| |
Based on patches provided by Hanspeter Portner:
http://forums.leaflabs.com/topic.php?id=1717#post-11812
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
|
|
| |
We'll need to mess with the linker flags to add support for ARM
toolchains other than CodeSourcery's. Since the toolchain is
determined in build-rules.mk, decisions that depend on it have to
happen after it's included.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
| |
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
| |
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
| |
uint16 is the wrong type for the bString array.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
|
| |
These form and name of structs etc. is basically determined by the USB
spec and the libmaple style guide, so there's little reason for them
to change, and less reason for them to stay hidden.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just change names and things to fit the libmaple style. Its contents
will move to the top-level <libmaple/usb.h> header next.
This API is still unstable, but we need to expose pieces of it in
order to get the Maple-specific pieces of usb_cdcacm.c into Wirish.
Adjust uses of the API appropriately.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
| |
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
| |
This was already supported, so just move the line coding structure to
the header and add some functions for accessing the current values.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
| |
Fixes an (admittedly very unlikely) race condition.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We definitely need to mask out the high bits, as RM0008 doesn't
specify that they read as zero. Calling this function seems to crash
the board, though. I'm not sure why, especially since
usb_set_ep_tx_count(), used by usb_cdcacm.c, seems to work.
Confusing.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
|
|
|
| |
Mark internal state static. Properly reset the RX/TX state on USB
reset. Choose better names for countTx and newBytes.
Move the exposed configuration back into the .c; this information is
not beneficial to hooks.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|
|
|
|
|
|
|
|
|
| |
Actually fill the TX buffer in the packet memory area, so we can send
more bytes per transaction. Using the test-session benchmark, we're
now clocking in the high 700KB/sec range via PySerial. With screen,
rate is now about 550 KB/sec.
Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
|