Commit Graph

499 Commits

Author SHA1 Message Date
Dean Camera
009eebf229 Fix incorrect ADC driver documentation for the parameters of ADC_Init(), fix incorrect call to ADC_Init() in the TemperatureDatalogger project. 2010-08-31 07:32:48 +00:00
Dean Camera
b3c6599bb7 Remove remaining void* descriptor casts in the projects and demos that were not removed when the GetDescriptor callback function's signature was altered. 2010-08-29 13:21:14 +00:00
Dean Camera
263178fbb6 Add better description of the Ultra-Lightweight Ring Buffer header files. 2010-08-29 07:49:36 +00:00
Dean Camera
092f82e06f Changed the signature of the CALLBACK_USB_GetDescriptor() callback function so that the descriptor pointer is const, to remove the need for extra casting inside the callback (thanks to Jonathan Kollasch). 2010-08-24 13:02:38 +00:00
Dean Camera
1be3436e89 Moved calls to Device mode Class Driver events to after the request has been acknowledged, so that long event handlers do do skew the timing of the control requests.
Fixed USBtoSerial and Benito project SetLineEncoding calls failing if the USART is busy, due to the RX ISR delaying the control request handler.
2010-08-22 02:45:20 +00:00
Dean Camera
81998ce297 Added compile time error to the AVRISP-MKII project when built for the U4 chips, as the default VTARGET detection ADC channel does not exist on these chips (thanks to Marco). 2010-08-22 01:42:09 +00:00
Dean Camera
4f114e5766 Fixed MassStorage based demos and projects resetting the SCSI sense values before the command is executed, leading to missed SCSI sense values when the host retrieves the sense key (thanks to Martin Degelsegger).
Added missing DataflashManager_CheckDataflashOperation() function to the MassStorageKeyboard demo, removed redundant SCSI_Codes.h file as these values are part of the MassStorage Class Driver.
2010-08-18 10:33:21 +00:00
Dean Camera
508e905d8d Removed complicated logic for the Endpoint_ConfigureEndpoint() function to use inlined or function called versions depending of if the given bank size is a compile time constant, as the compiler does a better job of optimizing with basic code.
Changed over all device demos to use a clearer algorithm for the configuring of the application's endpoints.
2010-08-09 10:20:10 +00:00
Dean Camera
9274610a48 Commit for the 100807 release. 2010-08-09 01:55:02 +00:00
Dean Camera
5f3a1b2629 Fix invocations of avr-size in all makefiles broken on unpatched *nix systems, due to the recent update to the latest WinAVR makefile template. 2010-08-08 08:30:42 +00:00
Dean Camera
98947e3750 Ensure all demos now compile in C99 standards mode, and not GNU99 (C99 + GNU extensions). 2010-08-03 11:13:06 +00:00
Dean Camera
48c5cdced4 Hide the PROGMEM attribute from Doxygen, as it appears to confuse the parser in some situations. 2010-08-02 08:53:23 +00:00
Dean Camera
ff09cf9c73 Fix XPLAINBridge project discarding characters from the USB interface due to a double read from the endpoint.
Make XPLAINBridge and USBtoSerial projects more reliable by forcing a flush if the UART-to-USB buffer becomes nearly full.

Reduce locking in the LightweightRingBuffer.h header files by only locking on the update of the buffer count, and require insertions and removals from each buffer to occur in only one execution thread.

Fix CDC_*_ReceiveByte() returning 0 when the interface is not configured, instead of the new -1 error value.

Fix CDC_Host_ReceiveByte() not re-freezing the pipe if no packet has been received.

Remove redundant Pipe token set commands in the CDC and RNDIS host class drivers.
2010-08-01 14:03:13 +00:00
Dean Camera
fb0e6597b6 Invert the logic for the VBUS power light in the AVRISP-MKII project for the USBTINY-MKII board target. 2010-08-01 06:53:08 +00:00
Dean Camera
9597b33c33 Fixed Serial peripheral driver not turning off the USART before reconfiguring it, which would cause incorrect operation to occur (thanks to Bob Paddock). 2010-07-31 06:55:47 +00:00
Dean Camera
612df774d9 Oops - fix mixed "initialize" and "initialise" - opt for American spelling due to its wide use in technical standards. 2010-07-30 10:58:16 +00:00
Dean Camera
0f45b9c8e0 More spell checking of all source files -- correct missed errors, switch to EN-GB spelling dictionary. 2010-07-30 09:48:35 +00:00
Dean Camera
2034141a7e Spell check more of the third party libraries used by LUFA. 2010-07-30 08:29:53 +00:00
Dean Camera
24e621a8d8 Altered the CDC Deivice and Host Class drivers' receive byte routines, so that no data is indicated by a negative return value.
Added auto flushing of OUT data to the CDC Host Class driver's USBTask function to automatically flush the send pipe buffer.
2010-07-30 03:52:11 +00:00
Dean Camera
7c8d16fd7a Oops - need to turn off USART via control register B before reconfiguring, fix ordering of USART control register modifications in the Benito and USBtoSerial projects. 2010-07-30 01:11:04 +00:00
Dean Camera
28401f7bb7 Spell check all source files once again to find any typos. 2010-07-29 16:20:45 +00:00
Dean Camera
ca007f91f2 Fixed Benito and USBtoSerial projects not turning off the USART before reconfiguring it, which could cause incorrect operation to occur (thanks to Bob Paddock). 2010-07-29 15:14:56 +00:00
Dean Camera
62022252ea Add special support to the AVRISP-MKII for the new model USBTINY-MKII's additional LED to indicate target power source.
Add support to the USBTINY-MKII's additional LED in the board's LED driver header.

Changed LED indicator masks for the AVRISP-MKII project, so that there are defined roles for each LED.
2010-07-29 13:04:53 +00:00
Dean Camera
30c2b620de Remove obsolete macros and preprocessor checks from the AVRISP-MKII project's V2Protocol command handler header file. 2010-07-29 07:20:33 +00:00
Dean Camera
de5b16909a Added support to the AVRISP-MKII project for ISP speeds slower than 125KHz via a new software SPI driver.
Added new SPI_ORDER_* data order masks to the SPI peripheral driver.
2010-07-29 07:09:57 +00:00
Dean Camera
be2a7d4598 Move over message ID specific header data to unions inside the standard TMC header structure, so that all header data is read in one chunk in the incomplete TMC demo. 2010-07-27 11:26:47 +00:00
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.
2010-07-26 07:28:40 +00:00
Dean Camera
0803cf00ac Add missing INTERRUPT_CONTROL_ENDPOINT compile time option to the Mass Storage device projects/demos and incomplete Test and Measurement Class demo, which was accidentally removed during the makefile updates.
Alter Test and Measurement Class demo's request handlers to accept, process and correctly return the fields indicated in the specification.
2010-07-26 04:57:50 +00:00
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. 2010-07-25 11:59:55 +00:00
Dean Camera
2461ae508c Future proof the XPROG protocol of the AVRISP-MKII project, so that non PDI and TPI requests return failure. 2010-07-22 12:34:32 +00:00
Dean Camera
6bda628718 Update all demos, projects and bootloaders to indent all function parameters, one per line, for better readability.
Add missing const qualifiers to the demos.
2010-07-21 16:19:32 +00:00
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.
2010-07-21 14:00:51 +00:00
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.
2010-07-19 14:00:44 +00:00
Dean Camera
42ac34b484 Change over all makefiles to use C99 standards mode, rather than C99 + GNU Extensions. 2010-07-18 07:31:57 +00:00
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. 2010-07-15 17:13:33 +00:00
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.
2010-07-15 16:45:26 +00:00
Dean Camera
dfe50ff349 Added ability to set the serial baud rate via the user's terminal in the XPLAINBridge project. 2010-07-15 11:01:31 +00:00
Dean Camera
40631e9fe5 Fix pointer aliasing warning in the Mass Storage demos. 2010-07-15 10:34:29 +00:00
Dean Camera
e2e1fe5aad Fixed possible buffer overrun in the XPLAINBridge project when in serial bridge mode. 2010-07-15 04:45:31 +00:00
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). 2010-07-15 01:42:36 +00:00
Dean Camera
d83cc9ac80 Change AVRISP-MKII and XPLAINBridge descriptors to indicate that the device is bus-powered only. Add compile time options to reduce the compiled size of the firmware. 2010-07-13 14:17:18 +00:00
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. 2010-07-13 11:26:03 +00:00
Dean Camera
0313034245 Added const attributes to some of the class driver function parameters that were missing it. 2010-07-13 10:01:13 +00:00
Dean Camera
3904c1a606 Add remaining AVRStudio project files to the library projects. 2010-07-13 04:39:54 +00:00
Dean Camera
ac61b81a0b Add first lot of AVRStudio project files for some of the library projects. 2010-07-13 04:32:33 +00:00
Dean Camera
d3e00ce1ec Rename the AVRISP main source files to AVRISP-MKII so that it matches the project name. Add AVRStudio project file for the AVRISP-MKII project. 2010-07-13 04:16:23 +00:00
Dean Camera
ae9dab1398 Add missing clean_doxygen phony targets to the project makefiles. 2010-07-12 10:18:18 +00:00
Dean Camera
8de31cbb78 Reduce prescaler of the flush timer in the USBtoSerial demo, so that buffer overruns will not occur regardless of hardware and baud rate settings. 2010-07-12 07:11:50 +00:00
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.
2010-07-12 07:04:19 +00:00
Dean Camera
3fd246041b Add glitch protection to the software UART in the XPLAINBridge project code, so that very short glitches on the RX line don't cause a frame reception to occur. 2010-07-12 02:23:11 +00:00
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. 2010-07-11 14:14:08 +00:00
Dean Camera
2b0d93c129 Correct misspellings in the Bluetooth demo code. 2010-07-11 08:11:25 +00:00
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().
2010-07-09 07:24:34 +00:00
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. 2010-07-08 07:44:07 +00:00
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.
2010-07-02 03:37:19 +00:00
Dean Camera
d29a408ffd Add default "all" makefile targets to the demo tree makefiles. 2010-06-25 13:28:34 +00:00
Dean Camera
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. 2010-06-25 13:19:05 +00:00
Dean Camera
55d7e1e65b Make XPLAINBridge serial bridge much more reliable for the reception of characters from the XMEGA through the software UART interface. 2010-06-24 08:12:27 +00:00
Dean Camera
ad29e79b94 Maximise the size of the ring buffers in the Benito/XPLAINBridge/USBtoSerial projects, so that they should never become full under normal conditions. 2010-06-24 07:42:18 +00:00
Dean Camera
988604b25d Moved calls to V2Params_UpdateParamValues() out of the main AVRISP-MKII and XPLAINBridge project loops and into the AVRISP management function. 2010-06-21 13:39:56 +00:00
Dean Camera
51c2dcf3b0 Fixed broken PDI EEPROM Section Erase functionality in the AVRISP-MKII project. 2010-06-17 09:17:09 +00:00
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. 2010-06-16 11:01:01 +00:00
Dean Camera
a14ece5f57 Change over Doxygen \note documentation to \pre where applicable. 2010-06-15 03:34:55 +00:00
Dean Camera
27fb44268f Update TemperatureDataLogger and Webserver projects to the latest FATFS library version. 2010-06-14 11:58:23 +00:00
Dean Camera
d57e7369a2 Oops - temp code left in the XPLAINBridge project which prevented it from entering programmer mode. 2010-06-12 08:52:44 +00:00
Dean Camera
036a156ff4 Slight improvements to the reliability of the software UART in the XPLAINBridge project. 2010-06-12 08:39:12 +00:00
Dean Camera
5fa0e9c007 Oops - light weight ring buffer documentation used \ref instead of \param to document function parameters. 2010-06-10 01:30:32 +00:00
Dean Camera
b02217d745 Add missing documentation to the lightweight ring buffer code in the XPLAINBridge project. 2010-06-10 01:26:10 +00:00
Dean Camera
c2e340320c Document lightweight ring buffer header files. 2010-06-06 13:49:50 +00:00
Dean Camera
2dabb4e55f Add the svn:eol-style property onto new files which where missing it to ensure uniform line endings. 2010-06-06 08:33:14 +00:00
Dean Camera
6d53cdba83 More documentation fixes. 2010-06-03 15:55:28 +00:00
Dean Camera
fc92f9969c Minor documentation cleanups. 2010-06-03 15:32:45 +00:00
Dean Camera
008e0e2e0a Add start of RFCOMM service layer to the incomplete BluetoothHost demo.
Reduce the size of the attribute search list from 15 ranges to 8 to save RAM.
2010-06-03 03:58:57 +00:00
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.
2010-05-27 10:36:21 +00:00
Dean Camera
8d993afc53 Replace ring buffer library in Benito and USBtoSerial projects with the new lightweight ring buffer header to improve reliability. 2010-05-26 13:26:10 +00:00
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.
2010-05-26 11:54:55 +00:00
Dean Camera
bb9fb1051c Add better documentation to the Software UART code in the XPLAINBridge project. 2010-05-26 08:10:35 +00:00
Dean Camera
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. 2010-05-26 07:51:25 +00:00
Dean Camera
f64e3db07a Rename software USART driver globals to make the code more in line with the rest of the XPLAINBridge project. 2010-05-26 07:35:27 +00:00
Dean Camera
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. 2010-05-26 06:59:55 +00:00
Dean Camera
9b29d1dc50 Create a new LightweightRingBuffer.h header file for the XPLAIN project to abstract out the new ring buffer without a performance penalty. 2010-05-26 06:35:02 +00:00
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. 2010-05-26 06:15:05 +00:00
Dean Camera
776485a6c5 Remove obsolete entry from the Doxygen configuration files. 2010-05-23 08:39:02 +00:00
Dean Camera
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. 2010-05-20 13:06:04 +00:00
Dean Camera
a883cf65dc Renamed CDC device class demos' ManagementEndpoint descriptor to NotificationEndpoint to more accurately indicate its purpose. 2010-05-20 06:15:21 +00:00
Dean Camera
f13bc35a19 Begin processing code for Service Discovery Protocol attributes. 2010-05-17 23:36:05 +00:00
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). 2010-05-16 05:43:03 +00:00
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. 2010-05-14 10:11:40 +00:00
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.
2010-05-13 12:57:49 +00:00
Dean Camera
571159df1b Additional fix to the AVRISP-MKII clone project for 256KB AVRs. 2010-05-13 11:14:10 +00:00
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.
2010-05-13 09:25:17 +00:00
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.
2010-05-13 07:31:27 +00:00
Dean Camera
e277ff0cf4 Removed TeensyHID bootloader, per request from Paul at PJRC. 2010-05-12 11:12:53 +00:00
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.
2010-05-09 06:01:01 +00:00
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. 2010-05-08 03:12:14 +00:00
Dean Camera
e331b531c6 Change over instances of "make" in the makefiles to "$(MAKE)" to allow for the make tool to be overridden. 2010-05-07 07:11:25 +00:00
Dean Camera
57fe6b4fb9 Don't cast the line encoding baud rate to a uint16_t before performing the baud rate calculation in the Benito project. 2010-05-07 06:49:31 +00:00
Dean Camera
27eb17cb93 Change over unix line-endings to dos line endings. 2010-05-07 06:40:47 +00:00
Dean Camera
9c8bd6ed9b Remove incorrect Abstract Call Management class specific descriptor from the CDC demos, bootloaders and projects. 2010-05-06 11:32:55 +00:00
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. 2010-05-04 11:33:51 +00:00