Commit Graph

  • 00fa6aa2db Oops - ACL layer Bluetooth_SendPacket() function should check and allow NULL channels, since that indicates a control channel request. Dean Camera 2010-07-11 07:38:18 +00:00
  • 6276d5f82a Rename Bluetooth stack function parameters to clearly indicate what sort of Bluetooth channel (ACL, RFCOMM) is required for each parameter, to make the code easier to read. Dean Camera 2010-07-11 07:29:27 +00:00
  • ba711d6759 Oops - fix errors in the MassStorageKeyboard SCSI driver file due to incorrect copy/paste. Dean Camera 2010-07-09 07:44:08 +00:00
  • c326fe9605 Rewrote the implementation of the SwapEndian_16() and SwapEndian_32() functions so that they compile down in most instances to minimal loads and stores rather than complicated shifts. Dean Camera 2010-07-09 07:24:34 +00:00
  • 2b0e86243f Add a new RFCOMM_ChannelOpened() callback event for when logical RFCOMM channels are opened in the BluetoothHost demo. Make the demo echo back sent characters to the remote device. Dean Camera 2010-07-08 08:48:52 +00:00
  • c37fd0ef91 Add a new RFCOMM service callback for when new data has been received on a valid RFCOMM channel. Dean Camera 2010-07-08 08:05:14 +00:00
  • 70983caea5 Move out Bluetooth stack callback functions to a seperate BluetoothEvents.c/.h set of files for clarity in the Incomplete BluetoothHost demo. Add a new stack callback for opened ACL channels, make the demo save the RFCOMM channel when opened so that it does not have to search for it on each iteration of the main program loop. Dean Camera 2010-07-08 07:44:07 +00:00
  • dea897ef57 Make main readme file easier to read, and make documentation build instructions clearer. Dean Camera 2010-07-06 07:07:54 +00:00
  • 35b7946950 Improve commenting of the Dataflash stub board driver file, to prevent confusion of what the dataflash selection masks need to be. Update stub driver to automatically interleave data between the chips if two Dataflash chips are present. Dean Camera 2010-07-04 14:31:18 +00:00
  • 8b053d6ba5 Added new Drivers/USB/LowLevel/Device.c file to house Device mode specific functions that are more complicated than simple macros. Moved USB_Device_SendRemoteWakeup() to the new Device.c source file and corrected it to unfreeze and restart the USB controller clock before issuing a Remote Wakeup request. Dean Camera 2010-07-02 03:37:19 +00:00
  • 31a34154db Move out RFCOMM channel structure init code to a seperate routine, to save on compiled code space and to prevent copy-paste errors. Dean Camera 2010-07-02 03:06:16 +00:00
  • fbabecee66 Add RFCOMM service routine, to send pending configuration requests on RFCOMM channels. Add in RFCOMM channel config flags, to determine which configuration commands have been sent and received. Dean Camera 2010-06-29 04:40:02 +00:00
  • b656540468 Make Bluetooth ACL channel searches skip over closed (invalid) channels. RFCOMM channels are considered invalid when the channel state is closed, not when the DLCI is zero - fix incorrect code. Dean Camera 2010-06-26 15:07:13 +00:00
  • d29a408ffd Add default "all" makefile targets to the demo tree makefiles. Dean Camera 2010-06-25 13:28:34 +00:00
  • 016a4c068a Make loops in AVRISP-MKII Clone project's XPROG protocol infinite rather than looping on the timeout value, as this is already checked inside the loop anyway. Dean Camera 2010-06-25 13:19:05 +00:00
  • 26afe5fe9e Fix Doxygen formatting of parameters for the CALLBACK_HID_Device_CreateHIDReport() function in the ClassDriver HID device demos. Dean Camera 2010-06-25 09:49:46 +00:00
  • 55d7e1e65b Make XPLAINBridge serial bridge much more reliable for the reception of characters from the XMEGA through the software UART interface. Dean Camera 2010-06-24 08:12:27 +00:00
  • ad29e79b94 Maximise the size of the ring buffers in the Benito/XPLAINBridge/USBtoSerial projects, so that they should never become full under normal conditions. Dean Camera 2010-06-24 07:42:18 +00:00
  • 4b952d479a Split RFCOMM channel signals into Remote and Local pairs. Use memcpy() to copy over data from the command parameters to the RFCOMM response parameters. Dean Camera 2010-06-23 08:10:21 +00:00
  • 2eff731ecf Add TEST RFCOMM command handler. Remove the RFCOMM channel UseUIFrame element, as the Bluetooth adaptions to RFCOMM only allow UIH frames to be used. Dean Camera 2010-06-23 07:17:47 +00:00
  • 559af02204 Use a bitmask instead of an array of bools in the SDP UUID List matching algorithm to reduce the compiled code size and stack used. Dean Camera 2010-06-22 07:55:02 +00:00
  • e621ab33be Added new pgm_read_ptr() macro to Common.h for reading of pointers out of flash memory space. Dean Camera 2010-06-22 07:06:27 +00:00
  • 988604b25d Moved calls to V2Params_UpdateParamValues() out of the main AVRISP-MKII and XPLAINBridge project loops and into the AVRISP management function. Dean Camera 2010-06-21 13:39:56 +00:00
  • 51c2dcf3b0 Fixed broken PDI EEPROM Section Erase functionality in the AVRISP-MKII project. Dean Camera 2010-06-17 09:17:09 +00:00
  • deed746d37 Renamed SERIAL_STREAM_ASSERT() macro to STDOUT_ASSERT(). Dean Camera 2010-06-17 08:15:58 +00:00
  • 69dc32c5f0 Fix compile and Doxygen errors due to the spell-check changes in the source code. Dean Camera 2010-06-16 11:46:42 +00:00
  • 711542ee89 Spell check code and manual pages. Remove custom Doxygen CSS stylesheet, as the new 1.7 Doxygen's default stylesheet is much better. Dean Camera 2010-06-16 11:01:01 +00:00
  • 13ea700b35 Rename RFCOMM_GetFrameDataLength() to RFCOMM_GetVariableFieldValue() as it is multi-purpose, and modify it to move the buffer pointer itself rather than relying on the caller. Dean Camera 2010-06-15 11:28:15 +00:00
  • f5d079462d Changed the RFCOMM-specific ItemProtocolChannel_t type to a more generic ItemProtocol_8BitParam_t name, and added a new ItemProtocol_16BitParam_t to the SDP protocol type defines. Dean Camera 2010-06-15 10:09:42 +00:00
  • 3125fd5f4f Add RFCOMM channel configuration parsing and channel states to the incomplete BluetoothHost demo. Dean Camera 2010-06-15 09:32:35 +00:00
  • dcedde0123 Fix HID parser documentation for the default maximum report/path/etc. elements so that it matches the current code values. Dean Camera 2010-06-15 03:40:02 +00:00
  • a14ece5f57 Change over Doxygen \note documentation to \pre where applicable. Dean Camera 2010-06-15 03:34:55 +00:00
  • 27fb44268f Update TemperatureDataLogger and Webserver projects to the latest FATFS library version. Dean Camera 2010-06-14 11:58:23 +00:00
  • 67bc625109 Split out the RFCOMM Control Channel command processing code into a seperate set of files for clarity. Dean Camera 2010-06-13 13:21:35 +00:00
  • b522e35965 Rename the incomplete Bluetooth Host demo's ServiceDiscoveryProtocol.c/.h files to SDP.c/.h. Fix compile errors in RFCOMM.c/.h. Dean Camera 2010-06-13 12:44:20 +00:00
  • 637c7b01d0 More RFCOMM layer additions - begin to add multiplexer channel state variables. Dean Camera 2010-06-13 12:37:16 +00:00
  • d57e7369a2 Oops - temp code left in the XPLAINBridge project which prevented it from entering programmer mode. Dean Camera 2010-06-12 08:52:44 +00:00
  • 036a156ff4 Slight improvements to the reliability of the software UART in the XPLAINBridge project. Dean Camera 2010-06-12 08:39:12 +00:00
  • 931ca42a6e Minor fixes to demos to add in some missing comments, printf() formatting. Make incomplete Bluetooth demo indicate connections visually via the board LEDs. Dean Camera 2010-06-12 07:03:22 +00:00
  • 75d440ace3 Speed up calls to Pipe_IsPipeBound() by immediately skipping unconfigured pipes, rather than performing token check first. Dean Camera 2010-06-12 07:01:18 +00:00
  • 5fa0e9c007 Oops - light weight ring buffer documentation used \ref instead of \param to document function parameters. Dean Camera 2010-06-10 01:30:32 +00:00
  • b02217d745 Add missing documentation to the lightweight ring buffer code in the XPLAINBridge project. Dean Camera 2010-06-10 01:26:10 +00:00
  • f73f01235e Update main library makefile with missing source files for the "clean" rule. Dean Camera 2010-06-08 14:47:17 +00:00
  • 5ce3f0b17b Add missing ATTR_NON_NULL_PTR_ARG and ATTR_ALWAYS_INLINE attributes to class driver functions. Dean Camera 2010-06-08 11:14:07 +00:00
  • 96063b9f98 Add Mecurial repository mirror link to the library documentation. Dean Camera 2010-06-08 09:13:11 +00:00
  • e930738247 Add stub RFCOMM command handlers. Move out RFCOMM frame length and data pointer calculations to the master RFCOMM frame reception routine, instead of inside each frame type handler function. Dean Camera 2010-06-07 13:39:34 +00:00
  • f92229697f More RFCOMM layer implementation - fix FCS calculation, add in start of control channel command processing. Dean Camera 2010-06-07 12:53:47 +00:00
  • 34e0fed4ca Make the RFCOMM_SendFrame() function correctly generate frames from the input parameters, change addressing to use the raw DLCI address plus flags. Dean Camera 2010-06-07 09:07:18 +00:00
  • 361e1ec1d8 Refactor out RFCOMM packet send code into a seperate function. Dean Camera 2010-06-06 14:39:51 +00:00
  • 7aec6cba1a Fix incorrect copyright attribution on the class-driver keyboard demos due to header copy-pasting. Dean Camera 2010-06-06 14:03:56 +00:00
  • c2e340320c Document lightweight ring buffer header files. Dean Camera 2010-06-06 13:49:50 +00:00
  • 2dabb4e55f Add the svn:eol-style property onto new files which where missing it to ensure uniform line endings. Dean Camera 2010-06-06 08:33:14 +00:00
  • efbedcfa54 Document Bluetooth files with overall file Doxygen comments. Add more initial RFCOMM layer code to receive and respond to SABM packets. Dean Camera 2010-06-04 06:25:12 +00:00
  • be09f64872 Fixed incorrect function references in the Mass Storage Class driver documentation. Dean Camera 2010-06-03 15:58:22 +00:00
  • 6d53cdba83 More documentation fixes. Dean Camera 2010-06-03 15:55:28 +00:00
  • fc92f9969c Minor documentation cleanups. Dean Camera 2010-06-03 15:32:45 +00:00
  • 9293de2491 Start implementation of RFCOMM decoding layer. Add new service initialize routines for each Bluetooth service - currently unused, but will eventually reset the service state of RFCOMM when a new connection is made. Dean Camera 2010-06-03 12:45:15 +00:00
  • 13d812a718 Delay needed in bluetooth code due to the send function not waiting for the pipe bank to become ready before writing. Add in a call to Pipe_WaitUntilReady() to fix the issue. Dean Camera 2010-06-03 08:42:20 +00:00
  • a405a9bdf8 Extra protocol value in the RFCOMM protocol is the channel number, not the PSM - update typedef name and size. Dean Camera 2010-06-03 08:33:01 +00:00
  • 480da5aab6 Add PSM value to the RFCOMM service so that the host knows what PSM to use on channels when trying to access it. Dean Camera 2010-06-03 07:45:09 +00:00
  • 008e0e2e0a Add start of RFCOMM service layer to the incomplete BluetoothHost demo. Dean Camera 2010-06-03 03:58:57 +00:00
  • 5144ea76f6 Oops - descriptor pointer should be assigned, not incremented with the new type-safe code. Dean Camera 2010-06-02 15:44:48 +00:00
  • 6d22a00e8b Better fix to avoid void pointer arithmetic in ConfigDescriptor.h to regain C++ compatibility (thanks to Michael Hennebry). Dean Camera 2010-06-02 15:28:07 +00:00
  • 23a94a7181 Fix byte ordering of UUIDs in the SDP server - host can now successfully pair to the Bluetooth device and discover the exposed Serial Port Profile RFCOMM service. Dean Camera 2010-06-02 14:49:06 +00:00
  • c362709a1e The SDP UUID lists should be searched and ALL UUIDs matched for a record to be retrieved, not partial matches. Change the SDP code so that the entire list must be matched against a service attribute table's contents before it is returned. Dean Camera 2010-06-02 07:05:34 +00:00
  • da51c1f974 Add L2CAP service attribute table. Fix up ProtocolDescriptorList attributes, and add macros for used UUIDs to reduce typing and make the code easier to read. Dean Camera 2010-06-02 04:36:46 +00:00
  • b98158bd50 Clean up the Service tables, add incomplete ProtocolDescriptorList attribute to the SDP service. Dean Camera 2010-06-01 14:05:47 +00:00
  • 32ab52a298 Remove incorrect Language ID offset attribute from the SDP server - client assumes 0x0100 offset for primary language anyway, and the format of the offset was incorrect anyway. Dean Camera 2010-06-01 13:11:55 +00:00
  • 255d4ef858 Service Attribute SDP requests should have only one Data Element Sequence container around the single service's retrieved attributes, not two. Dean Camera 2010-06-01 12:34:48 +00:00
  • 0902ff9651 Document inline SDP data read/write functions. Dean Camera 2010-06-01 11:38:07 +00:00
  • 3f3fdb01a9 Much faster attribute range lookup - look through short list of attributes and compare to range, rather than looking up by each possible value within the range. Dean Camera 2010-06-01 11:07:29 +00:00
  • cb52e4371e Fix the encoding of UUIDs in the SDP server so that they match the Bluetooth UUID format properly. Dean Camera 2010-06-01 04:22:20 +00:00
  • e0ef5741d4 Move SDP service tables out into a new set of files, to make the SDP service code cleaner. Dean Camera 2010-06-01 03:07:05 +00:00
  • 587f320333 Add Service Attribute request processing to the SDP server code. Dean Camera 2010-06-01 02:54:53 +00:00
  • e15838d4e2 Fix endianness issues in the Service Discovery Protocol service of the incomplete Bluetooth Host demo. Host can now correctly retrieve specific services, however Windows does not appear to be sending the appropriate generic browse class IDs needed to report the virtual serial service. Dean Camera 2010-05-31 14:08:15 +00:00
  • f606afefff Remove void* arithmetic in the USB_GetNextDescriptor() static inline function, to make the header file C++ compatible once again. Implement workaround for an obscure GCC bug which can cause incorrect code generation under some circumstances when the void* is re-cast. Dean Camera 2010-05-31 06:55:23 +00:00
  • 152b2764c3 Small tweaks to ConfigDescriptor.c/.h to ensure pointers use the correct type, and to remove const attribute from the descriptor comparator callback function pointer type define, and into the function prototype instead. Dean Camera 2010-05-30 14:01:41 +00:00
  • e95c96ea20 Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs (thanks to Axel Rohde). Dean Camera 2010-05-30 07:29:18 +00:00
  • 328ed71ce7 Fix spacing of the function parameter descriptions in the Doxygen documentation. Dean Camera 2010-05-29 08:08:26 +00:00
  • c1daecf18b Fixed incorrect signature for the ATMEGA32U2 in the DFU bootloader (thanks to Axel Rohde). Dean Camera 2010-05-29 07:51:01 +00:00
  • 3b95b8dedc Added new VTARGET_REF_VOLTS and VTARGET_SCALE_FACTOR compile time defines to the AVRISP-MKII programmer project to set the VTARGET reference voltage and scale factor. Dean Camera 2010-05-27 10:36:21 +00:00
  • 8d993afc53 Replace ring buffer library in Benito and USBtoSerial projects with the new lightweight ring buffer header to improve reliability. Dean Camera 2010-05-26 13:26:10 +00:00
  • 885170f5b4 Removed unused line encoding data and control requests from the CDC Bootloader code, to save space. Dean Camera 2010-05-26 12:44:05 +00:00
  • 54e69dbee1 Switch to using the correct intptr_t type use where a pointer must be cast to an integer type. Dean Camera 2010-05-26 12:24:44 +00:00
  • 670413603f The EEPROM stream read/write functions now use eeprom_update_byte() instead of eeprom_write_byte(), so that only changed bytes are written to EEPROM to preserve its lifespan. Dean Camera 2010-05-26 11:54:55 +00:00
  • bb9fb1051c Add better documentation to the Software UART code in the XPLAINBridge project. Dean Camera 2010-05-26 08:10:35 +00:00
  • 1c407b9669 Switch software UART over to timer 1 and remove timer prescaling to try to prevent integer rounding errors and thus minimize the possible error of the UART code. Dean Camera 2010-05-26 07:51:25 +00:00
  • f64e3db07a Rename software USART driver globals to make the code more in line with the rest of the XPLAINBridge project. Dean Camera 2010-05-26 07:35:27 +00:00
  • 79742c5d24 Make software USART used in the XPLAINBridge project directly check and store into the ring buffers, rather than polling from the main program loop to avoid added latency. Dean Camera 2010-05-26 06:59:55 +00:00
  • 9b29d1dc50 Create a new LightweightRingBuffer.h header file for the XPLAIN project to abstract out the new ring buffer without a performance penalty. Dean Camera 2010-05-26 06:35:02 +00:00
  • 9c037a952f The RingBuff library code has been replaced in the XPLAINBridge project with an ultra lightweight buffer to help improve the reliability of the bridge. Dean Camera 2010-05-26 06:15:05 +00:00
  • 4a13a5484a Fixed RNDISEthernet demos crashing when calculating checksums for Ethernet/TCP packets of more than ~500 bytes due to an overflow in the checksum calculation loop (thanks to Kevin Malec). Dean Camera 2010-05-25 06:14:37 +00:00
  • 8f3d4e69c3 Add UUID Class matching to the Service Discovery Protocol code - SDP is now correctly matched against the generic Service Discovery Class UUID. Dean Camera 2010-05-23 13:15:19 +00:00
  • 776485a6c5 Remove obsolete entry from the Doxygen configuration files. Dean Camera 2010-05-23 08:39:02 +00:00
  • 8cdb141eed SDP Service improvements; fixed UUID for SDP service, added Service Discovery Server UUID, better documentation. Dean Camera 2010-05-23 08:36:51 +00:00
  • a20a9086f7 Add comments and partial Doxygen documentation to the incomplete Bluetooth SDP handler code. Dean Camera 2010-05-21 09:38:44 +00:00
  • 58a0ee67a3 Oops - when adding a sequence header to the SDP response, the size value needs to be cleared, not the buffer pointer. Dean Camera 2010-05-21 08:01:41 +00:00
  • 92bebc457f Add incomplete code to properly handle attribute responses to Service Discovery Protocol requests. Dean Camera 2010-05-21 07:10:49 +00:00
  • 83b5c916c6 Service Discovery ServiceSearchAttribute requests require the response to be grouped by UUID, so the response can't be generated as the attributes are read in. Buffer both UUIDs and Attributes instead and generate the response afterwards. Dean Camera 2010-05-20 14:35:52 +00:00
  • 3e515cdfa8 Short UUIDs are measured in bytes, not bits -- update Service Discovery Protocol code so that it can now correctly match against UUIDs in the service table. Dean Camera 2010-05-20 13:06:04 +00:00