1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-10 18:24:11 +01:00
Commit Graph

4558 Commits

Author SHA1 Message Date
Stacey Sheldon
2cf1fe93c6 com: don't block forever waiting for a transmitter
Not all transmitters will continue to run when disconnected.
USB is one example of this.  When the USB cable was disconnected,
any transmitter blocked here would wait forever.

This was particularly noticeable when the telemetry Tx task
blocked forever on USB disconnect.  This also resulted in
the telemetry Rx task blocking forever waiting on the UAVTalk
connection lock.

We now block for a max of 5s waiting for space in the transmit
buffer.
2011-12-30 23:05:37 -05:00
Stacey Sheldon
7c03875013 diag-tasks: make taskinfo diagnostics a separate enable
This allows task stack analysis without turning on all
of the other diagnostics.
2011-12-30 23:05:37 -05:00
Stacey Sheldon
ad793f0b81 hwsettings: add HID and VCP config to hwsettings gui 2011-12-30 23:05:37 -05:00
Stacey Sheldon
56c4ff8f40 com-bridge: add support for bridging to flexiport 2011-12-30 23:05:37 -05:00
Stacey Sheldon
60969b57d8 usb-hid: split apart hwsettings for HID and VCP ports
This allows the HID and VCP functions to be configured
separately so that additional functions can be more easily
bound to the VCP port.

This change also provides a safety net that forces either
the HID or VCP to be configured for USB Telemetry.  This
safety net may vanish in the future once the GCS can check
it.  Disabling USB Telemetry entirely would save more than
400 bytes of RAM.
2011-12-30 23:05:37 -05:00
Stacey Sheldon
87be56eff7 hwsettings: add support for com-bridge to hwsettings config gui 2011-12-30 23:05:36 -05:00
Stacey Sheldon
ab135aa00b com-bridge: Make com-bridge an optional (and configurable) module 2011-12-30 23:05:36 -05:00
Stacey Sheldon
5b3227d1ff com: reduce buffer sizes for com layer
This saves a few hundred bytes of RAM in a typical
configuration.
2011-12-30 23:05:36 -05:00
Stacey Sheldon
785a7ccd88 uavtalk: convert tx to use blocking send routines
The uavtalk layer was previously implementing a poor
version of packet fragmentation based on a hard-coded
max packet size.  Since this was hard-coded, there was
no guarantee that it would match the underlying devices.

Now that the COM layer sending routines support fragmentation,
remove fragmentation and use the COM layer directly.

This will support future buffer size reductions in the COM
layer.
2011-12-30 23:05:36 -05:00
Stacey Sheldon
16619584e4 usb cdc: return valid data in response to SetLineCoding 2011-12-30 23:05:36 -05:00
Stacey Sheldon
a68f5a4fc9 com-bridge: detect lost characters on transmit 2011-12-30 23:05:36 -05:00
Stacey Sheldon
80e0be3cec com: fragment transmitted buffers to match underlying device
PIOS_COM_SendBufferNonBlocking() will now fragment its buffer
to match the max size of the underlying device.

This allows the buffer size of the underlying device to shrink
below the maximum message size, thus allowing us to use smaller
buffers on memory-constrained platforms.
2011-12-30 23:05:36 -05:00
Stacey Sheldon
407bec0c95 usb cdc: track oversized rx buffers 2011-12-30 23:05:35 -05:00
Stacey Sheldon
b858cf387e com: track dropped bytes on rx for usart and usb com 2011-12-30 23:05:35 -05:00
Stacey Sheldon
2040645171 com: Use all bytes in Tx buffer
Code would previously fail Tx if we happen to send data
that happened to be exactly the size of the available space
in the tx buffer.
2011-12-30 23:05:35 -05:00
Stacey Sheldon
34af9ac92d usb_com: NAK rather than STALL on buffer full
STALL should only be used to indicate an error has occurred.
NAK is the correct mechanism to provide backpressure.
2011-12-30 23:05:35 -05:00
Stacey Sheldon
e2bb7140fe usb cdc: allow use of entire rx buffer
Previously, the code only allowed n-1 bytes of the
available space to be used.
2011-12-30 23:05:35 -05:00
Stacey Sheldon
86aead52ce usb cdc: only pass valid bytes from USB rx up to com layer
Previously, up to 63 random bytes would be passed to the COM
layer and would be delivered to the application as though
the far end had sent them.
2011-12-30 23:05:35 -05:00
Stacey Sheldon
f54c0552ce com: make sure we know when a higher prio task is woken 2011-12-30 23:05:34 -05:00
Stacey Sheldon
202b1bd428 com: Always kick rx_start if we got zero bytes
This will ensure that we kick rx_start at least once every
time that a user tries to receive bytes from the underlying
device.
2011-12-30 23:05:34 -05:00
Stacey Sheldon
64f498e48a com-bridge: add usart to usb vcp bridge 2011-12-30 23:05:34 -05:00
Stacey Sheldon
504cf3417f init: collapse usart definitions for generic usage
Telemetry and GPS usarts are generic users of the uart
devices.  This collapses the duplicated usart configuration
structs into a single generic one.
2011-12-30 23:05:34 -05:00
Stacey Sheldon
eebdda6276 usb cdc: make HID/CDC configurable in hwsettings 2011-12-30 23:05:34 -05:00
Stacey Sheldon
e6ead85857 usb cdc: fix device descriptor to work on Mac
Apple is very particular about requiring the bDeviceClass
to be set to 2 (Commmunication Device) even for composite
devices which seems wrong.

Device is enumerated without error on Mac now.  Not sure if it
works though.
2011-12-30 23:05:34 -05:00
Stacey Sheldon
617a30c07c usb cdc: attach telemetry to CDC rather than HID 2011-12-30 23:05:34 -05:00
Stacey Sheldon
59cb489e01 usb: clean up pios hooks into stm32 usb_core
Reduced scope of many variables since they were being
exposed unnecessarily.

Renamed pios_usb_hid_prop code to pios_usbhook to reflect
the fact that it implements all of the callout functions
that are hooked into the stm32 usb library.
2011-12-30 23:05:33 -05:00
Stacey Sheldon
c0259dc616 usb cdc: USB composite device with HID + VCP 2011-12-30 23:05:33 -05:00
Stacey Sheldon
458d3467ab gcs: properly label ttyACM devices in gcs pull-down selector 2011-12-30 23:05:33 -05:00
Stacey Sheldon
b8af44bf61 Merge remote-tracking branch 'origin/naiiawah/deb_package_build' into next 2011-12-30 23:02:02 -05:00
naiiawah
f136f3d956 Updated Vid/Pids for Revo, CC3D and some minor comment cleanup in the UDev rules file. 2011-12-30 17:47:22 -07:00
dankers
7892f9699d Add minus for notify as requested 2011-12-29 22:25:17 +11:00
James Cotton
fdec2019e6 Merge branch 'trim_flight_rebase' into next 2011-12-25 22:14:41 -06:00
naiiawah
405bde5c28 Merge remote branch 'origin/next' into deb_package_build 2011-12-24 21:12:24 -07:00
naiiawah
5da31269a6 Changed the top level menu to OpenPilot. 2011-12-24 20:38:04 -07:00
naiiawah
e7a5c14fe2 Improved the handling of the UDev rules installation. Uses
dh_installudev now instead of just manually copying files.  Should
survive any changes to where UDev puts rules better if there is a
channge in their scheme of locations.

Suggested change by Stac after finding the dh_installudev tool.  Good
find!
2011-12-24 14:30:02 -07:00
James Cotton
24af36bba3 Merge remote-tracking branch 'origin/pt/configurable_gcs_serial_speed' into next 2011-12-24 09:50:59 -06:00
Oleg Semyonov
7fbbb0e6af Merge remote branch 'origin/next' into os/TxPID-module 2011-12-24 15:44:16 +02:00
Oleg Semyonov
495a8f2836 TxPID: initialize the AccessoryDesired object before use its handle
Also save few bytes of static RAM and add PIOS_Assert(0) for unhandled cases.
2011-12-24 15:37:14 +02:00
naiiawah
15061dccab Updates based on review feedback. Fixed (unlikely) case of empty
PACKAGE_DIR var to prevent splatered copying.
2011-12-21 22:38:40 -07:00
naiiawah
ed86805458 Updates to fix review issues: -jX build issues fixes, updated URLs in
<processor_type>/control
2011-12-21 22:18:08 -07:00
James Cotton
0b00e748a9 OP-565: Added the ability to do a trim flight to compute the accels for level flight 2011-12-21 15:25:00 -06:00
naiiawah
eac9f7a606 Merge remote branch 'origin/next' into deb_package_build 2011-12-18 18:02:34 -07:00
naiiawah
5aaa155995 Initial version of the integrated Linux-Deb package system
implementation.  Uses the standard OP package system front end then
connects into the Debian Package manager for package building.  Should
work on both i386 and amd64 systems.  Auto determins and runtime which
system it is building on and produces an appropriate package for the
platform in the build dir.
2011-12-18 17:58:42 -07:00
James Cotton
c996cbf00e Small tweak to Kenn's patch to grow array exponentially. This has large gains
for long logs.
2011-12-18 16:27:45 -06:00
naiiawah
6dcf55c41e Killed off file that should not have been checked in to Git. 2011-12-18 13:36:49 -07:00
James Cotton
99201d152a Patch from Kenn to speed up matlab parsing by preallocating arrays 2011-12-16 15:30:48 -06:00
James Cotton
b56c11d1d9 Merge remote-tracking branch 'origin/stac/logging_fixes' into next 2011-12-16 13:54:49 -06:00
Corvus Corax
716bb8ec56 GCS:Scope: Backward Compatibility: Set Interpolation to minimum (1) when not set in config file 2011-12-15 23:49:01 +01:00
Stacey Sheldon
624562aa07 uavobjgen: fix order of struct fields in autogen matlab code
Matlab needs field order to match in struct assignment.
This moves the instanceId field after the timestamp in all
encodings.
2011-12-14 23:10:08 -05:00
James Cotton
889a84da04 Revert "GCS/ScopePlugin: Allow SoftwareInterpolation of measurement value"
This reverts commit 4f485f7d61.
2011-12-13 11:04:21 -06:00