Commit Graph

437 Commits

Author SHA1 Message Date
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
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).
2010-05-04 10:07:22 +00:00
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. 2010-05-03 07:41:22 +00:00
Dean Camera 5c0c0327d5 Increase hardware PDI/TPI programming speed to 1MHz in the AVRISP MKII clone project. 2010-05-02 06:18:42 +00:00
Dean Camera a5e79333e5 Switch back to C based timeout ISR in the AVRISP project - assembly version was failing, and only one or two cycles could be shaved off the compiler generated code. 2010-05-02 06:02:54 +00:00
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).
2010-05-02 05:16:34 +00:00
Dean Camera 9a1560dc05 Make sure that long reads are aborted early if the connection times out while waiting on more bytes in the AVRISP MKII clone project. 2010-04-30 08:33:21 +00:00
Dean Camera ceb16ee24f Make sure that the NVM bus/controller busy waits in the AVRISP MKII clone project abort properly if a timeout occurs while waiting for a response. 2010-04-30 08:27:21 +00:00
Dean Camera e977774d4e Relocate USBInterrupt.c/.h from the HighLevel USB driver directory to the LowLevel directory as it is hardware-dependent. 2010-04-28 08:15:16 +00:00
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. 2010-04-28 07:48:26 +00:00
Dean Camera 85aaaf84ce Make AVRISP-MKII clone project's software PDI/TPI mode more robust by keeping track of timeouts while waiting for a Tx/Rx to finish. 2010-04-28 06:33:48 +00:00
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.
2010-04-22 14:08:00 +00:00
Dean Camera fc8e4837a9 Add const keyword to the demo function parameters where possible. 2010-04-18 12:10:30 +00:00
Dean Camera 5e14c194c9 Fixed Set/Clear Feature requests directed to a non-configured endpoint not returning a stall to the host.
Make TeensyHID bootloader use an 8 byte control endpoint to match the official Teensy, just in case Paul decides to authenticate on that attribute in the future.
2010-04-14 13:46:49 +00:00
Dean Camera e55f338663 Document the Bluetooth ACL layer. Remove unneeded parameters from the signalling command processing routines.
Change over the code so that the bluetooth packet data is read in by the stack rather than the user application, to make it more unform for sending/receiving, and so the library can handle incomming fragmentation in the future.

Start Service Discovery Protocol decoding and processing.
2010-04-13 11:19:04 +00:00
Dean Camera ee74b4948f Add information request/response signal handler to the Bluetooth Host demo.
Ensure that the AVRISP-MKII project's Windows avrdude compatibility define is named properly in all parts of the code.
2010-04-06 02:48:47 +00:00
Dean Camera fa1a092901 Add user callback function to the Bluetooth host demo to filter out connections from remote devices. Add in ability to reject connections based on their bluetooth device address.
Clean up RelayBoard project code.

Make AVRISP project clear the XMEGA target's reset register twice; this does not appear to take affect properly the first time under some circumstances.
2010-04-05 08:09:12 +00:00
Dean Camera fd96b28882 More improvements to the incomplete BluetoothHost demo - add Disconnection Event processing.
Remove unused macro in the host mode demos for the maximum Configuration Descriptor size.
2010-04-01 04:30:21 +00:00
Dean Camera c9148f9b47 Added WIN_LIBUSB_COMPAT compile time option to the AVRISP programmer project to make the code compatible with Windows builds of avrdude at the expense of AVRStudio compatibility. 2010-03-31 09:20:24 +00:00
Dean Camera ce46257ff2 Add RelayBoard project patch from OBinou. 2010-03-31 06:44:54 +00:00
Dean Camera 3790907f4d Added board hardware driver support for the Benito programmer. 2010-03-30 09:08:26 +00:00
Dean Camera 9257f4ab8e Add briefs for the library core structures. 2010-03-29 13:32:36 +00:00
Dean Camera 74353374c3 All Class Driver Host mode demos now correctly set the board LEDs to READY once the enumeration process has completed.
Fixed Still Image Host class driver not resetting the transaction ID when a new session is opened, fixed driver not sending a valid session ID to the device.
2010-03-25 06:34:38 +00:00
Dean Camera b8db5fc1e7 Added new Relay Controller Board project (thanks to OBinou).
Added hardware board driver support for the PJRC Teensy line of USB AVR boards.
2010-03-24 08:06:23 +00:00
Dean Camera f79f9abd28 Fixed compilation error in the AudioInput demos when MICROPHONE_BIASED_TO_HALF_RAIL is defined (thanks to C. Scott Ananian).
Minor documentation cleanups.

Make sure HID class driver uses properly cast pointers when writing to the report buffer.
2010-03-24 05:50:09 +00:00
Dean Camera 4e99625f7c Change over MIDIToneGenerator to use only a single channel (MIDI channel 1) due to cycle constraints. 2010-03-23 10:09:49 +00:00
Dean Camera c58c53dba9 Added incomplete MIDIToneGenerator project. 2010-03-23 09:16:47 +00:00
Dean Camera 49b09a2042 Standardized the naming scheme given to configuration descriptor sub-elements in the Device mode demos, bootloaders and projects.
Fix errors in the MouseHostWithParser demo from incorrect use of the HID_ALIGN_DATA() macro.
2010-03-22 07:12:25 +00:00
Dean Camera 5227ca4ce2 Double bank CDC endpoints in the XPLAIN Bridge project, re-enable JTAG once the mode selection pin has been sampled. 2010-03-21 12:21:13 +00:00
Dean Camera 72527867f6 Remove redundant check in the software PDI programming code of the AVRISP project. 2010-03-17 13:07:22 +00:00
Dean Camera 9a5ae36a4f Software PDI mode breaks unless the software USART has 100 cycles between bits. 2010-03-17 11:48:39 +00:00
Dean Camera 7d51e51c79 Increased throughput of the USBtoSerial demo on systems that send multiple bytes per packet (thanks to Opendous Inc.). 2010-03-16 12:14:09 +00:00
Dean Camera 2b74b517ea Don't enable the pullup on the target /RESET line in the AVRISP project for PDI mode - clearing the XMEGA's reset control register twice is enough to release it from reset. Possible silicon bug, since the official Atmel programmers have the same issue. 2010-03-16 12:09:22 +00:00
Dean Camera 39d56aeffe Fixed PDI programming mode in the AVRISP programmer project not exiting programming mode correctly (clear target Reset key twice, set /RESET pin to pullup).
Add newlines to the MIDI event printf() statements in the MIDI host demos.
2010-03-16 11:47:11 +00:00
Dean Camera aca7863350 Added ENABLE_TELNET_SERVER compile time option to the Webserver project to disable the TELNET server if desired.
Change over static strings in the Webserver project to use PROGMEM where possible.
2010-03-10 12:48:20 +00:00
Dean Camera 92418433a5 Fix incorrect LED mask name in the Webserver project.
Fix missing text from the Host Mode States enum documentation.
2010-03-09 13:22:51 +00:00
Dean Camera ce260ae786 Webserver project now uses the board LEDs to indicate the current IP configuration state.
Don't double-read data from the attached disk in the incomplete StandaloneProgrammer project when in host mode.
2010-03-09 05:15:08 +00:00
Dean Camera c0c982df7a Added a timeout value to the TWI_StartTransmission() function, within which the addressed device must respond.
Fixed TWI_StartTransmission() corrupting the contents of the GPIOR0 register.
2010-02-24 09:49:19 +00:00
Dean Camera 071fd8ce53 Revert changes made for the partial port to the AVR32 architecture. 2010-02-24 06:58:23 +00:00
Dean Camera e11fddfe66 Update Temperature board driver to be AVR32 compatible when the ADC peripheral driver is eventually ported. Make architecture includes explicit for both the AVR32 and the AVR8, to make way for future architecture ports.
Add SPI driver aliases for the old function names in the AVR8 driver, so that existing code will still compile against the new version.
2010-02-23 03:51:17 +00:00
Dean Camera c24027f3b5 Fixed software PDI/TPI programming mode in the AVRISP project not correctly toggling just the clock pin.
Fix broken AVR8 Serial peripheral driver.
2010-02-23 01:03:27 +00:00
Dean Camera d2851b3351 Oops - need to revert changes made to ease testing of the software PDI programming mode. 2010-02-21 22:15:52 +00:00
Dean Camera 5e12d436fa Remove dual ISR for software PDI mode, use a single ISR instead to reduce code complexity. 2010-02-21 22:11:49 +00:00
Dean Camera e322f14620 More fixes to the AVRISP command timeout system so that it should no longer lock up while processing command no matter what the conditions. 2010-02-21 06:26:33 +00:00
Dean Camera 12a01ed72d Increased the speed of both software and hardware TPI/PDI programming modes of the AVRISP project. 2010-02-21 05:44:12 +00:00
Dean Camera 10b9394a8b Oops - missed a few references to the old global TimeoutMSRemaining counter in ISPTarget.c of the AVRISP-MKII clone project. 2010-02-20 12:17:48 +00:00
Dean Camera ce8d0424b1 AVRISP programmer project now has a more robust timeout system, allowing for a doubling of the software USART speed for PDI and TPI programming. 2010-02-19 05:17:41 +00:00
Dean Camera 04d40897cf Commit for the 100219 release. 2010-02-19 00:07:22 +00:00
Dean Camera 42b850f2b9 Use a temporary variable to hold the current URI length in the Webserver, rather than calling strlen() multiple times on an unchanged buffer. Clean up uip-split.c. 2010-02-18 05:33:35 +00:00
Dean Camera 012628f635 Turn OFF double banking in the Webserver demo - leaving it on seems to destroy the system throughput. 2010-02-18 05:10:24 +00:00
Dean Camera 3b6987bca3 Add uIP-split code to the Webserver project, so that each packet is split in half to avoid the delayed-ACK problem when communicating with other devices. Condense HTTP server code, so that the HTTP headers are all sent from the one state. Make default filename append to any directory URI, rather than just the root directory. 2010-02-18 02:19:43 +00:00
Dean Camera c77b30e9e6 Clean up XPLAINBridge code. 2010-02-16 13:12:59 +00:00
Dean Camera 015956baba Oops - missing brackets in the declaration of a string in TELNETServerApp.c. 2010-02-15 13:50:04 +00:00
Dean Camera 96a12cd12c Add missing TWI_Init() call to the TemperatureDataLogger project. Make DUMMY_RTC compile time option the default, so that it works correctly on the USBKEY and other Atmel boards out of the box. 2010-02-15 13:40:53 +00:00
Dean Camera de0ccb3d09 Add NO_VTARGET_DETECT compile time option to the AVRISP-MKII clone project, to disable VTARGET detection on AVR models with an on-chip ADC. 2010-02-13 03:21:28 +00:00
Dean Camera c6f21fde62 Speed up Webserver demo data rate by not sending a full ethernet frame each time, preventing the receiver from using a delayed ACK scheme which slows down the connection. TELNET server cleanup. 2010-02-12 07:54:28 +00:00
Dean Camera 8154331da6 Move DHCP negotiation timer into the DHCP connection application state structure, so that each connection gets its own timeout counter (only one connection currently used, but this way is more correct). Add const correctness to static data in the TELNETServerApp.c and HTTPServerApp.c files. 2010-02-12 07:27:26 +00:00
Dean Camera 41ef05a6e5 Fix DHCPClient init code in the Webserver project writing to the incorrect application state location (thanks to Mike Alexander). 2010-02-12 05:05:03 +00:00
Dean Camera 3a2c1db675 Fixed lack of SECTION ERASE command in TPI programming mode of the AVRISP project preventing fuses from being cleared. 2010-02-10 04:07:06 +00:00
Dean Camera ab195ab1da Added .5MHz recovery clock to the AVRISP programmer project when in ISP programming mode to correct mis-set fuses.
Fixed AVRISP project not extending the command delay after each successful page/word/byte program.
2010-02-10 04:02:10 +00:00
Dean Camera 35a0fe9384 Fixed USB_GetHIDReportSize() returning the number of bits in the specified report instead of bytes.
Moved the USB_GetHIDReportItemInfo() calls into the main report item passing loop in the *HostWithParser demos - it is fast enough not to effect performance, and avoids duplicate code.

Make Webserver project report the LUFA version as part of the HTTP header.
2010-02-09 12:30:51 +00:00
Dean Camera 3ab0b3a027 Fix LowLevel Keyboard demo -- accidentally trying to dereference a uint8_t type in ProcessLEDReport(). 2010-02-08 03:32:31 +00:00
Dean Camera 7ae91099e9 Fix AVRISP-MKII clone project's TPI Chip Erase command processing - ensure erase location is the high byte in the given address space, check NVMBUSY for completion rather than the NVM Bus Enable bit.
Change If-Else chains over to switch statements in XPROGProtocol.c for clarity.
2010-02-08 03:16:09 +00:00