Dean Camera
6b5e684c77
Update makefiles to use the latest WinAVR/Atmel toolchain makefile template.
...
Add new module source variables to the library core makefile, so that module sources can be added to a project's makefile on a per-module rather than per-file basis.
15 years ago
Dean Camera
42ac34b484
Change over all makefiles to use C99 standards mode, rather than C99 + GNU Extensions.
15 years ago
Dean Camera
9299735c75
Disable strict aliasing explicitly in the project makefiles, as this is apparently enabled by default in newer AVR-GCC builds, and aliasing is used heavily for type-punning through the LUFA and third party library's codebase.
15 years ago
Dean Camera
f4710f6f86
Removed the automated checking of event names in the demo, project and bootloader makefiles due to inconsistancies between the behaviour of the command line tools used to perform the check on each platform.
...
Removed the internal endpoint and pipe memory allocation macros, as this is already performed directly in the code. Simplify the endpoint and pipe reset procedure.
15 years ago
Dean Camera
40631e9fe5
Fix pointer aliasing warning in the Mass Storage demos.
15 years ago
Dean Camera
0313034245
Added const attributes to some of the class driver function parameters that were missing it.
15 years ago
Dean Camera
3a3a4e2abf
Add AVRStudio 4 project files to the ClassDriver Device mode demos.
15 years ago
Dean Camera
f985a8c176
Add AVRStudio 4 project files to the LowLevel Device mode demos.
15 years ago
Dean Camera
658da63e6c
Add AVRStudio 4 project files to the ClassDriver Host mode demos.
15 years ago
Dean Camera
20943fa1aa
Add AVRStudio 4 project files to the LowLevel Host mode demos.
15 years ago
Dean Camera
1167b69943
Add missing eol-style properties to new source files.
15 years ago
Dean Camera
ae9dab1398
Add missing clean_doxygen phony targets to the project makefiles.
15 years ago
Dean Camera
2b0d93c129
Correct misspellings in the Bluetooth demo code.
15 years ago
Dean Camera
f6e84eabce
Add more doxygen function documentation to the RFCOMM layer.
15 years ago
Dean Camera
00fa6aa2db
Oops - ACL layer Bluetooth_SendPacket() function should check and allow NULL channels, since that indicates a control channel request.
...
Fix up Doxgen documentation for the Bluetooth stack code.
15 years ago
Dean Camera
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.
...
Add a new RFCOMM_ChannelSignalsReceived() Bluetooth stack callback from the RFCOMM layer for when the remote device sends new terminal control signals.
Fix RFCOMM_SendData() not aborting correctly when the requested RFCOMM channel is not found.
15 years ago
Dean Camera
ba711d6759
Oops - fix errors in the MassStorageKeyboard SCSI driver file due to incorrect copy/paste.
15 years ago
Dean Camera
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.
...
Fixed SCSI.c implementations of all the demos/projects casting the block count to a 32-bit temporary before calling SwapEndian_16().
15 years ago
Dean Camera
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.
15 years ago
Dean Camera
c37fd0ef91
Add a new RFCOMM service callback for when new data has been received on a valid RFCOMM channel.
15 years ago
Dean Camera
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.
15 years ago
Dean Camera
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.
...
Removed the USB_Device_IsRemoteWakeupSent() and USB_Device_IsUSBSuspended() macros, as they are now obsolete.
15 years ago
Dean Camera
31a34154db
Move out RFCOMM channel structure init code to a seperate routine, to save on compiled code space and to prevent copy-paste errors.
15 years ago
Dean Camera
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.
...
Add a new RFCOMM_SendChannelSignals() function to transmit a change in V24 terminal handshake lines to the receiving device.
Prevent SABM packets sent to the control DLCI in the RFCOMM layer from creating a new channel entry, as the control DLCI does not have connection data associated with it.
Fix up MSC control packet handling so that received responses can be acknowledged correctly, so that the RFCOMM layer can record when the receiving device has ACKed a sent change in V24 terminal handshake lines.
15 years ago
Dean Camera
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.
15 years ago
Dean Camera
d29a408ffd
Add default "all" makefile targets to the demo tree makefiles.
15 years ago
Dean Camera
26afe5fe9e
Fix Doxygen formatting of parameters for the CALLBACK_HID_Device_CreateHIDReport() function in the ClassDriver HID device demos.
15 years ago
Dean Camera
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.
...
Ensure that only the valid parameter bytes are sent back in response to MSC commands.
15 years ago
Dean Camera
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.
15 years ago
Dean Camera
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.
15 years ago
Dean Camera
e621ab33be
Added new pgm_read_ptr() macro to Common.h for reading of pointers out of flash memory space.
...
Added new SWAPENDIAN_16() and SWAPENDIAN_32() macros to Common.h for statically initialized variables at compile time.
15 years ago
Dean Camera
69dc32c5f0
Fix compile and Doxygen errors due to the spell-check changes in the source code.
15 years ago
Dean Camera
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.
...
Make RFCOMM_GetChannelData() return NULL if the required channel DLCI is found, but the channel is closed.
Add modem signals (BREAK, DCD, etc.) to the channel state array, and add in a handler for the Modem Status RFCOMM control command.
15 years ago
Dean Camera
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.
15 years ago
Dean Camera
3125fd5f4f
Add RFCOMM channel configuration parsing and channel states to the incomplete BluetoothHost demo.
...
Add missing BT_* prefix to the Bluetooth stack's channel state enum values.
15 years ago
Dean Camera
a14ece5f57
Change over Doxygen \note documentation to \pre where applicable.
15 years ago
Dean Camera
67bc625109
Split out the RFCOMM Control Channel command processing code into a seperate set of files for clarity.
15 years ago
Dean Camera
b522e35965
Rename the incomplete Bluetooth Host demo's ServiceDiscoveryProtocol.c/.h files to SDP.c/.h. Fix compile errors in RFCOMM.c/.h.
15 years ago
Dean Camera
637c7b01d0
More RFCOMM layer additions - begin to add multiplexer channel state variables.
15 years ago
Dean Camera
931ca42a6e
Minor fixes to demos to add in some missing comments, printf() formatting. Make incomplete Bluetooth demo indicate connections visually via the board LEDs.
15 years ago
Dean Camera
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.
15 years ago
Dean Camera
f92229697f
More RFCOMM layer implementation - fix FCS calculation, add in start of control channel command processing.
15 years ago
Dean Camera
34e0fed4ca
Make the RFCOMM_SendFrame() function correctly generate frames from the input parameters, change addressing to use the raw DLCI address plus flags.
15 years ago
Dean Camera
361e1ec1d8
Refactor out RFCOMM packet send code into a seperate function.
15 years ago
Dean Camera
7aec6cba1a
Fix incorrect copyright attribution on the class-driver keyboard demos due to header copy-pasting.
15 years ago
Dean Camera
2dabb4e55f
Add the svn:eol-style property onto new files which where missing it to ensure uniform line endings.
15 years ago
Dean Camera
efbedcfa54
Document Bluetooth files with overall file Doxygen comments. Add more initial RFCOMM layer code to receive and respond to SABM packets.
15 years ago
Dean Camera
6d53cdba83
More documentation fixes.
15 years ago
Dean Camera
fc92f9969c
Minor documentation cleanups.
15 years ago
Dean Camera
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.
15 years ago