Commit Graph

684 Commits (6b59c9b834dad59d49aea961eb9d4c3f88f0a5ef)

Author SHA1 Message Date
Dean Camera cd39c38d5f Rename reserved members of all structs so that they are uniformly named across all demos/projects/bootloaders.
Added start of the Incomplete TMC demo's command parser code.
15 years ago
Dean Camera 4c9425c0d5 Added periodic flush timer to the Benito project. Alter the serial transmission code so that sent bytes do not block the remainder of the main program code from running. 15 years ago
Dean Camera 3a79548dc2 Add TMC device capabilities to the incomplete TMC demo. 15 years ago
Dean Camera eb8a708b53 Update size of compiled Mouse demo in documentation, fix indenting in Device.h. 15 years ago
Dean Camera 9b0e4b8356 Convert over internal pseudo-function macros to true inline functions for added type-safety and compile-checking. 15 years ago
Dean Camera ac0ece0141 Added start of a low level device Test and Measurement class demo (thanks to Peter Lawrence). 15 years ago
Dean Camera 83e293a6ec Replace internal Pipe_BytesToEPSizeMask() routine with a new version which results in smaller code. 15 years ago
Dean Camera 97143bf814 Add missing const qualifiers to class drivers.
Indent core library function parameters so that there is only one parameter per line, to increase readability.
15 years ago
Dean Camera 99d8a39363 Move and rename DevChaper9.c/.h and HostChapter9.c/.h to the HighLevel directory, new named DeviceStandardReq.c/.h and HostStandardReq.c/.h.
Rename LowLevel.c/.h to USBController.c/.h.

Remove dependancies on the complete <avr/io.h> header in the HighLevel USB driver directory, to ensure less work is required in later (possible) ports.
15 years ago
Dean Camera 5f57785404 Add missing const qualifier to the parameters of the USB_GetNextDescriptorComp() function.
Reduce spacing of the structure elements in StdDescriptors.h to make the code more readable.
15 years ago
Dean Camera f9bcac5e00 Fixed MIDI_Device_SendEventPacket() not correctly waiting for the endpoint to become ready (thanks to Robin Green). 15 years ago
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 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 dfe50ff349 Added ability to set the serial baud rate via the user's terminal in the XPLAINBridge project. 15 years ago
Dean Camera 7cef08e10e Fixed HID device class driver still using PrevReportINBuffer for GetReport control requests even when it has been set to NULL by the user application (thanks to Axel Rohde). 15 years ago
Dean Camera 666c0fa4c3 Remove the timeout period extension code from the AVRISP project, as no single command should ever exceed the maximum timeout period. Extend timeout period to 1 second per command, so that an accidental timeout will never occur. 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 20943fa1aa Add AVRStudio 4 project files to the LowLevel Host mode demos. 15 years ago
Dean Camera 975e9d772d Add AVRStudio 4 project files for the library bootloaders. 15 years ago
Dean Camera ac61b81a0b Add first lot of AVRStudio project files for some of the library projects. 15 years ago
Dean Camera 1167b69943 Add missing eol-style properties to new source files. 15 years ago
Dean Camera 0bcc82ac28 Alter the ring buffer library headers to have both atomic and non-atomic insertion/removal routines. Modify the existing projects so that buffer operations performed in an ISR use the shorted non-atomic versions, as they are already performed in a blocking ISR.
Alter USBtoSerial demo so that it does not enter a blocking loop to send data from the USB to the USART, as this can cause dropped bytes in the reception code if large amounts of data are sent in both directions at the same time. Added a flush timer to the USBtoSerial code for the USART to USB interface, so that multiple bytes can be sent in the same USB packet.
15 years ago
Dean Camera 229935184b Major changes to the XPLAINBridge software UART code for performance and reliability. New code reduces the number of missed characters and misread characters. 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 dea897ef57 Make main readme file easier to read, and make documentation build instructions clearer. 15 years ago
Dean Camera 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. 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 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 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 51c2dcf3b0 Fixed broken PDI EEPROM Section Erase functionality in the AVRISP-MKII project. 15 years ago
Dean Camera deed746d37 Renamed SERIAL_STREAM_ASSERT() macro to STDOUT_ASSERT().
Minor tweaks to the library documentation.
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 711542ee89 Spell check code and manual pages. Remove custom Doxygen CSS stylesheet, as the new 1.7 Doxygen's default stylesheet is much better. 15 years ago
Dean Camera dcedde0123 Fix HID parser documentation for the default maximum report/path/etc. elements so that it matches the current code values. 15 years ago
Dean Camera a14ece5f57 Change over Doxygen \note documentation to \pre where applicable. 15 years ago
Dean Camera 036a156ff4 Slight improvements to the reliability of the software UART in the XPLAINBridge project. 15 years ago
Dean Camera 75d440ace3 Speed up calls to Pipe_IsPipeBound() by immediately skipping unconfigured pipes, rather than performing token check first. 15 years ago
Dean Camera f73f01235e Update main library makefile with missing source files for the "clean" rule. 15 years ago
Dean Camera 5ce3f0b17b Add missing ATTR_NON_NULL_PTR_ARG and ATTR_ALWAYS_INLINE attributes to class driver functions. 15 years ago
Dean Camera 96063b9f98 Add Mecurial repository mirror link to the library documentation. 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 be09f64872 Fixed incorrect function references in the Mass Storage Class driver documentation. 15 years ago
Dean Camera 6d53cdba83 More documentation fixes. 15 years ago
Dean Camera fc92f9969c Minor documentation cleanups. 15 years ago
Dean Camera 5144ea76f6 Oops - descriptor pointer should be assigned, not incremented with the new type-safe code. 15 years ago
Dean Camera 6d22a00e8b Better fix to avoid void pointer arithmetic in ConfigDescriptor.h to regain C++ compatibility (thanks to Michael Hennebry). 15 years ago
Dean Camera 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. 15 years ago
Dean Camera 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.
Change matching algorithm so that it recursively searches through the entire attribute table, and not just pre-specified sequence attributes.

Add browse lists and proper descriptions to the Serial Port service.
15 years ago
Dean Camera 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. 15 years ago
Dean Camera 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. 15 years ago
Dean Camera e95c96ea20 Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs (thanks to Axel Rohde). 15 years ago
Dean Camera 328ed71ce7 Fix spacing of the function parameter descriptions in the Doxygen documentation. 15 years ago
Dean Camera c1daecf18b Fixed incorrect signature for the ATMEGA32U2 in the DFU bootloader (thanks to Axel Rohde).
Partial fix to the Bluetooth SDP code - data should be encoded in big endian, not little endian.
15 years ago
Dean Camera 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.
Fixed XPLAINBridge project not correctly reading the XMEGA's supply voltage when reporting back to the host.
15 years ago
Dean Camera 8d993afc53 Replace ring buffer library in Benito and USBtoSerial projects with the new lightweight ring buffer header to improve reliability. 15 years ago
Dean Camera 885170f5b4 Removed unused line encoding data and control requests from the CDC Bootloader code, to save space. 15 years ago
Dean Camera 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.
Changed over the AVRISP-MKII and TemperatureDataLogger projects to use eeprom_update_byte() when writing non-volatile parameters to EEPROM to preserve its lifespan.
15 years ago
Dean Camera 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. 15 years ago
Dean Camera 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).
Removed string Attributes from the Service Discovery Protocol code to minimise the potential points of failure while the base code is being debugged.
15 years ago
Dean Camera 8f3d4e69c3 Add UUID Class matching to the Service Discovery Protocol code - SDP is now correctly matched against the generic Service Discovery Class UUID. 15 years ago
Dean Camera 58a0ee67a3 Oops - when adding a sequence header to the SDP response, the size value needs to be cleared, not the buffer pointer. 15 years ago
Dean Camera d3699d0261 Added new ADC_DisableChannel() function (thanks to Mich Davis). 15 years ago
Dean Camera f13bc35a19 Begin processing code for Service Discovery Protocol attributes. 15 years ago
Dean Camera ff61dfa505 Fixed AVRISP project not sending a full erase-and-write EEPROM command to XMEGA targets when writing to the EEPROM instead of the split write-only command (thanks to Tim Margush). 15 years ago
Dean Camera 80d85090ba Fixed AVRISP project sending a LOAD EXTENDED ADDRESS command to 128KB AVRs after programming or reading from the last page of FLASH. 15 years ago
Dean Camera 6b7770ef2b Commit for 100513 re-release due to critical device mode bug. 15 years ago
Dean Camera 34047efc7e Remove incorrect check for the current device state in the Set Configuration request handler of DevChapter9, which broke Set Configuration requests to the device under most circumstances.
Move out the SPI prescaler list to a PROGMEM module-level variable in ISPTarget.c.
15 years ago
Dean Camera 571159df1b Additional fix to the AVRISP-MKII clone project for 256KB AVRs. 15 years ago
Dean Camera cd0093a14b Fixed AVRISP-MKII clone project not correctly issuing SET EXTENDED ADDRESS commands when the extended address boundary is crossed during programming or readback (thanks to Gerard Sexton).
Fixed warnings when building the AVRISP-MKII clone project with the ENABLE_XPROG_PROTOCOL compile time option disabled.
15 years ago
Dean Camera 1331cce08a Fixed possible device lockup when INTERRUPT_CONTROL_ENDPOINT is enabled and the control endpoint is not properly selected when the ISR completes. 15 years ago
Dean Camera d3c623e1e1 The LIBUSB_FILTERDRV_COMPAT compile time option in the XPLAINBridge and AVRISP-MKII projects has been renamed LIBUSB_DRIVER_COMPAT, as it applies to all software on all platforms using the libUSB driver.
Fix Benito makefile which was accidentally changed during testing.
15 years ago
Dean Camera e277ff0cf4 Removed TeensyHID bootloader, per request from Paul at PJRC. 15 years ago
Dean Camera dd92de3919 Fix Doxygen treating the license as a documentation source file. 15 years ago
Dean Camera 3080988b35 Commit for the 100512 release. 15 years ago
Dean Camera ee5ea4ce2b Fix nasty bug in USBInterrupt.c which would cause a lockup if the control endpoint was not selected at the point the USB endpoint interrupt fires when INTERRUPT_CONTROL_ENDPOINT is defined. 15 years ago
Dean Camera 05ac59d0ee Add new ReportType parameter to the HID class driver device callback and host report sending routines.
Renamed internal Host mode Class driver descriptor comparator callback routines so that they all start with a uniform DCOMP_{Class Abbreviation}_ prefix.
15 years ago
Dean Camera 071e02c6b6 Add svn:eol-style property to source files, so that the line endings are correctly converted to the target system's native end of line style. 15 years ago
Dean Camera a9e0935a90 Device mode class driver callbacks are now fired before the control request status stage is sent to prevent the host from timing out if another request is immediately fired and the device has a lengthy callback routine.
Inlined currently unused MIDI ProcessControlRequest routine.
15 years ago
Dean Camera 2a2de8fea9 Fix TeensyHID bootloader for the largest AVRs - only the ATMEGA128x needs the alternative addressing scheme. 15 years ago
Dean Camera 27eb17cb93 Change over unix line-endings to dos line endings. 15 years ago
Dean Camera 842e219bf3 Added new EVENT_CDC_Device_BreakSent() event and CDC_Host_SendBreak() function to the Device and Host CDC Class drivers. 15 years ago
Dean Camera 9c8bd6ed9b Remove incorrect Abstract Call Management class specific descriptor from the CDC demos, bootloaders and projects. 15 years ago
Dean Camera cde2afc50e Ensure that the CDC class drivers return 0 if the number of unread bytes is queried and the bank has become empty. 15 years ago
Dean Camera c3db72afdc Make CDC class bootloader hard-reset the AVR when exited instead of a soft-reset. Reduce size of the TeensyHID bootloader slightly.
Fix the TeensyHID bootloader for the larger USB AVR devices, since Paul uses a different (undocumented) addressing scheme on these devices.
15 years ago
Dean Camera a926053ab5 Fix up the ADC driver for the U4 parts to remove a typo on one of the register names. 15 years ago
Dean Camera ab8668b14e Removed software PDI/TPI emulation from the AVRISP-MKII clone project, as it was very buggy. PDI and TPI must now be implemented via seperate headers instead of the one unified ISP/TPI/PDI header. 15 years ago
Dean Camera 708a1c6166 Fixed INTERRUPT_CONTROL_ENDPOINT compile time option preventing other interrupts from occuring while the control endpoint request is being processed, causing possible lockups if a USB interrupt occurs during a transfer. 15 years ago
Dean Camera e652cfac67 Fixed Host mode HID class driver not sending the correct report type when HID_Host_SendReportByID() was called and the HID_HOST_BOOT_PROTOCOL_ONLY compile time option is set. 15 years ago
Dean Camera 27f0ba6fc3 Fixed device state not being reset back to the default state if the host sets the address to 0x00.
Fixed Set Configuration requests not being stalled until the host has set the device's address.

Fixed possibility of internal signature retrieval being corrupted if an interrupt occurs during a signature byte read (thanks to Andrei Krainev).
15 years ago
Dean Camera eed7d4df6a Added new ENDPOINT_*_BusSuspended error code to the Endpoint function, so that the stream functions early-abort if the bus is suspended before or during a transfer. 15 years ago
Dean Camera 3d28d53c3e Change AVRISP project's timeout to be interrupt based again, but make the interrupt itself interruptable and use a seperate assembly file to hand-optimize the ISR code.
Removed the cast to uint16_t on the set baud rate in the USBtoSerial project, so that the higher >1M baud rates can be selected (thanks to Steffan).
15 years ago
Dean Camera 9cad677ebb The Audio_Device_IsSampleReceived() and Audio_Device_IsReadyForNextSample() functions are now inline, to reduce overhead. 15 years ago
Dean Camera 9e34144c9b Use puts_P() and printf_P() instead of the normal variants where possible in the Host mode Class Driver demos. 15 years ago
Dean Camera 0063f72117 Oops - relocated USBInterrupt.h header file requires adjusted include paths for the other USB driver header files. 15 years ago
Dean Camera e977774d4e Relocate USBInterrupt.c/.h from the HighLevel USB driver directory to the LowLevel directory as it is hardware-dependent. 15 years ago
Dean Camera 59c4871f80 USB_Init() no longer calls sei() to enable global interrupts - this must now be done in the user application once all init code has run. 15 years ago
Dean Camera 5993e1efe7 Added ability to search by Channel PSM to the GetChannelData() function in the BluetoothHost demo.
Added new HCI states to properly initialize the bluetooth dongle and retrieve the local BDADDR.

Factored out Bluetooth state information into a new state structure for easy reference in the user application.

Added new StackInitialized() Bluetooth stack callback function.
15 years ago
Dean Camera 8252b4febd Fixed HID Device Class Driver not allocating a temporary buffer when the host requests a report via the control endpoint and the user has set the PrevReportINBuffer driver configuration element to NULL (thanks to Lars Noschinski).
Clean up incomplete BluetoothHost debugging commands to use GCC extension to avoid NULL parameters when no formatting is required.
15 years ago