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

21 Commits

Author SHA1 Message Date
Stacey Sheldon
481a13609e com: remove all references to PIOS_COM_ReceiveBufferUsed()
The PIOS_COM_ReceiveBufferUsed() function call is no longer
necessary since the same semantics can be achieved using calls
to PIOS_COM_ReceiveBuffer().
2012-01-02 14:27:06 -05:00
Stacey Sheldon
b94f4b49a4 usb: major refactoring of USB descriptors, CDC and HID
Summary of changes:
 * USB CDC and HID drivers are completely split apart.
   * This will allow different max buffer sizes for HID and CDC.
 * USB descriptors have been overhauled:
   * Proper structs/macros/enums declared for USB (see pios_usb_defs.h)
   * Two common descriptor definitions.  One for HID+CDC another for HID only.
     See pios_usb_desc_{hid_cdc,hid_only}.c for details.
   * Long standing bugs in OP USB descriptors became much more obvious with the
     new struct definitions.
   * Board specific USB initialization is now in pios_usb_board_data.h in each build target.
   * Definition of USB descriptors is now entirely indpendent of STM32 libs.
     Glue into STM32 libs is provided by pios_usbhook.c.
 * Removed a lot of stale/irrelevant USB #defines throughout the tree.
 * Improved naming consistency throughout USB code:
   * PIOS_USB_HID_* now refers to the HID endpoint code.
   * PIOS_USB_CDC_* now refers to the CDC endpoint code.
   * PIOS_USB_* now refers to the low-level USB code.
   * PIOS_USB_BOARD_* now refers to board-specific USB data
   * PIOS_USBHOOK_* is glue between PIOS and STM32 USB libs.
   * struct usb_* and enum usb_* and USB_* and HID_* are all types from the USB spec.
 * Shrunk the buffer size on the CDC call mgmt endpoint to save some RAM.
 * Made a few more USB related variables static to save some RAM.
2012-01-02 14:27:06 -05:00
Stacey Sheldon
eebdda6276 usb cdc: make HID/CDC configurable in hwsettings 2011-12-30 23:05:34 -05:00
Stacey Sheldon
c0259dc616 usb cdc: USB composite device with HID + VCP 2011-12-30 23:05:33 -05:00
Stacey Sheldon
5f8760a55c com: Move buffering out of USART/HID layer and into COM layer
This allows the spektrum and sbus receiver drivers to bind
directly to the usart layer using a properly exported API
rather than overriding the interrupt handler.

Bytes are now pushed directly from the usart layer into the
com layer without any buffering.  The com layer performs all
of the buffering.

A further benefit from this approach is that we can put all
blocking/non-blocking behaviour into the COM layer and not
in the underlying drivers.

Misc related changes:
 - Remove obsolete .handler field from irq configs
 - Adapt all users of PIOS_COM_* functions to new API
 - Fixup callers of PIOS_USB_HID_Init()
2011-07-27 19:45:38 -04:00
pip
88b2d360a3 Various minor changes to do with switch modem mode on the fly but mainly PPM Input decoder (with error/noise detection) is now working
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2992 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-06 18:52:18 +00:00
pip
7317891d39 Slight reorganisation to allow easier continuous data transmission (DATA streaming and PPM streaming) and allow easier total configuration changes on the fly.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2961 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-04 08:34:44 +00:00
pip
eaea8f28cf Starting to add continuous streaming modes (DATA and PPM).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2951 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 16:32:43 +00:00
pip
d3ea16de99 Updated spectrum scanning code.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2859 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 09:30:06 +00:00
pip
60e7665aec A bug fixed that caused carrier frequency to go way off when setting the modem to one of the Tx-carrier/Tx-spectrum test modes (and back).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2799 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-16 12:32:44 +00:00
pip
ac7cfcc358 Added "Ready-To-Send-Time" parameter adjustment
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2795 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-15 12:57:46 +00:00
stac
967bb9bb9c pipx: COM device ids are now 32bit not 8bit
The COM layer now uses 32bit device ids rather than
8bit.  All code that stores these ids must now use
uint32_t to hold them.

Since these 32bit numbers are really just opaque
pointers, it is (reasonably) safe to assume that
they won't be 0.  The logic around tracking the
*_previous_com_port could probably be cleaned up
to remove that assumption.

Missed this fixup in the recent hwinit changes.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2776 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-13 15:54:26 +00:00
pip
b2eb141c10 100mW appears to be working again. A few bug fixes.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2745 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-06 21:21:50 +00:00
pip
6559615ef8 Made quite a few constants/#defines capitals (previously lower case)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2743 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-06 10:55:08 +00:00
pip
41768be215 Allows modem mode to be set - BUT NOT YET IMPLIMENTED, use NORMAL mode for now.
Fixed bug in pipx plugin import function - wasn't restoring the AES key.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2726 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-04 23:00:48 +00:00
pip
3bad7982dd Fixed RSSI when no signal received.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2714 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 13:12:30 +00:00
pip
ac5155f3d9 Increased RF packet ping speed if the GCS is monitoring the RSSI.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2712 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 11:31:34 +00:00
pip
0e3ae58c96 New PipX config protocol packets. YOU NEED TO RECOMPILE THE GCS PLUGIN to use this.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2711 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 07:05:32 +00:00
pip
7f8b0d5788 Fixed carrier frequency problems.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2700 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 17:53:46 +00:00
pip
40e9a592c8 PipX modem can now be configured from GCS in realtime.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2695 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 11:44:23 +00:00
pip
2c3e540637 Code added to allow GCS to configure modem. Not yet finished - modem needs rebooting after uploading new config - for the time being.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2687 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 23:40:40 +00:00