Dean Camera
33a46b243a
PDI NVM enable is fast enough that bare polling is enough without a fixed delay in between each attempt. Make sure the USART transmitter is enabled explicitly when the USART is configured, so that repeated attempts to re-enter PDI mode don't fail due to TXEN not being set.
2009-12-11 04:56:52 +00:00
Dean Camera
66201a05e9
Fix PDI code - must send NVM enable key least significant byte first, need to make sure Tx and Rx is switched correctly including disabling the output on the Tx line when receiving.
2009-12-11 04:04:34 +00:00
Dean Camera
7e5966c1a8
Fix AVRISP PDI protocol - make sure inverted masks have the appropriate parenthesis around them, make sure the BREAK command for the hardware USART has 12 clock cycles exactly. Poll NVM Enable bit in the target's STATUS PDI register with a timeout, as it is not set immediately.
2009-12-11 00:19:25 +00:00
Dean Camera
42cfd15793
Change over AVRISP project to have both hardware USART and software USART modes for the PDI protocol, when enabled. Fix up PDI initialisation routines.
2009-12-11 00:03:10 +00:00
Dean Camera
7aecda6fda
Fix PDITarget_ReceiveByte() not discarding the start bit properly, and reading in the bits inverted and in the wrong order.
2009-12-10 00:54:08 +00:00
Dean Camera
1e3513ed70
Add even parity bit to the software USART framing in the AVRISP project's PDI programming code.
2009-12-09 12:31:55 +00:00
Dean Camera
9c8ed168e5
Fix inverted bit-banged USART logic in the AVRISP project for PDI programming. Add a delay to the clock toggling in the AVRISP project to ensure that the programming speed does not exceed 10MHz under any conditions to satisfy the limits in the datasheet for all target voltages. Fix incorrect pin being used as the DATA in in PDI programming mode.
2009-12-09 12:01:01 +00:00
Dean Camera
7ace314cc1
Increase timeout of Mass Storage and Still Image host commands to 10 seconds (up from 5) to account for slow-processing devices.
...
Added brace guards to macros with parameters to prevent unintended changed evaluation of the macro expression.
Minor code cleanups (remove redundant comments, fix spacing, etc.).
2009-12-09 00:50:55 +00:00
Dean Camera
2281750b5f
Make sure that USB_STREAM_TIMEOUT_MS is set in the MassStorageHost ClassDriver demo, so that slow devices don't time out the data pipe. Increase pipe timeout in both MassStorageHost demos to 5 seconds to account for the really slow devices.
...
Fix TeensyHID bootloader not properly shutting down the USB interface to trigger a disconnection on the host before resetting the AVR.
2009-12-08 07:43:33 +00:00
Dean Camera
2919aeeaab
Fixed HID Parser not distributing the Usage Min and Usage Max values across an array of report items.
...
Added new HID_ALIGN_DATA() macro to return the pre-retrieved value of a HID report item, left-aligned to a given datatype.
Added new PreviousValue to the HID Report Parser report item structure, for easy monitoring of previous report item values.
2009-12-04 01:06:26 +00:00
Dean Camera
f338ddcb87
Make sure the protocol handler files are included in the Doxygen documentation of the AVRISP project.
2009-12-03 09:19:09 +00:00
Dean Camera
258a6a0177
Fix the tokens which enable and disable the different programming protocols in the AVRISP project.
2009-12-03 09:12:36 +00:00
Dean Camera
f1baf12fae
Auto-configure AVRISP programmer configuration when built for the XPLAIN board to match the XPLAIN hardware connections.
2009-12-03 08:35:32 +00:00
Dean Camera
a5adbae652
Document the PDI programming routines implemented so far in the AVRISP project. Add ability to selectively disable ISP programming support in addition to the existing ability to disable PDI programming support.
2009-12-03 07:42:56 +00:00
Dean Camera
f69f03cb0d
Started implementing the low level PDI protocol in the AVRISP project, for XMEGA device programming.
2009-12-03 00:53:45 +00:00
Dean Camera
f92b56191d
Add new more reliable software UART for the XPLAINBridge project by David Prentice and Peter Danneger.
2009-12-02 14:19:06 +00:00
Dean Camera
fec31947a6
Removed John Steggall's software UART code from the XPLAIN Bridge project due to reliability issues.
2009-12-02 14:03:57 +00:00
Dean Camera
1f8dfd0205
Add support for unwrapping of the XMEGA PDI programming protocol to the AVRISP Programmer project.
2009-12-02 13:42:08 +00:00
Dean Camera
5930f47bf4
Rename V2ProtocolTarget files to ISPTarget in the AVRISP Programmer Clone project.
2009-12-02 12:04:37 +00:00
Dean Camera
1ed6925b5b
Factor out all the ISP related code into a seperate ISPProtocol set of files in the AVRISP Clone programmer project, to clearly seperate out the programming protocols when PDI programming is implemented.
2009-12-02 12:02:01 +00:00
Dean Camera
1645c3d243
Rename the V2Protocol command handlers in the AVRISP project in preperation of XMEGA PDI programming support.
2009-12-02 11:37:39 +00:00
Dean Camera
1b2cd16976
Added CDC_Host_Flush() function to the CDC Host Class driver to flush sent data to the attached device.
2009-11-30 02:20:26 +00:00
Dean Camera
e5057fec8e
Enable pullup on the PD5 pin of the AVR in the XPLAINBridge project - this is connected to the XMEGA's /RESET line, need to enable pullup to prevent spurrious resets.
2009-11-26 13:59:11 +00:00
Dean Camera
f37d21bbe9
Updated John Steggall's software USART in the XPLAINBridge project.
2009-11-26 01:17:29 +00:00
Dean Camera
a04131cf04
Fix more Doxygen errors from missing parameter documentation.
2009-11-25 04:13:14 +00:00
Dean Camera
50f4a3b625
Fix build and Doxygen errors.
2009-11-25 03:56:51 +00:00
Dean Camera
8c6c27d88b
Added new RNDISHost Host LowLevel demo. Fixed misnamed Pipe_SetPipeToken() macro for setting a pipe's direction. Fixed CDCHost failing on devices with bidirectional endpoints.
2009-11-25 03:26:57 +00:00
Dean Camera
c05c7c7df4
Added new XPLAIN serial Bridge project (thanks to John Steggall for the software UART code).
2009-11-25 00:36:18 +00:00
Dean Camera
d3f11eb528
Make the StandaloneProgrammer project seamlessly read out drive contents from either an attached FAT formatted drive when in host mode, or the onboard FAT formatted dataflash when in device mode.
2009-11-24 14:10:28 +00:00
Dean Camera
702bec892d
Fixed misnamed SI_Host_USBTask() and SI_Host_ConfigurePipes() functions.
2009-11-23 13:35:52 +00:00
Dean Camera
8b009bc113
Added new ReportType parameter to the HID Device Class driver CALLBACK_HID_Device_CreateHIDReport() callback to indicate the report type to generate.
2009-11-23 13:22:33 +00:00
Dean Camera
aaa0bed556
The incomplete StandaloneProgrammer project now uses Host and Device Mass storage classes, so that program data can either be loaded onto the device's Dataflash storage, or read off an attached USB memory stick.
...
The USB target family and allowable USB mode tokens are now public and documented (USB_CAN_BE_*, USB_SERIES_*_AVR).
The SCSI_Request_Sense_Response_t and SCSI_Inquiry_Response_t type defines are now part of the Mass Storage Class driver common defines, rather than being defined in the Host mode Class driver section only.
The USB_MODE_HOST token is now defined even when host mode is not available.
Added missing CDC_Host_CreateBlockingStream() function code to the CDC Host Class driver.
2009-11-23 12:40:14 +00:00
Dean Camera
86db035b1e
Add activity LED updates to the AVRISP project.
2009-11-23 05:28:08 +00:00
Dean Camera
7ef58eef7a
Fixed LowLevel Keyboard demo not saving the issued report only after it has been written to the endpoint.
...
Added support for multiple keyboard keycodes in a single report to the LowLevel and ClassDriver Keyboard demos.
2009-11-20 04:39:41 +00:00
Dean Camera
9b20114555
Make RNDISHost demo validate the set Packet Filter to ensure that it is being sent correctly.
...
Add new (incomplete) StandaloneProgrammer project, using the ELM Petite FAT library to read files stored on the board's dataflash by the host.
2009-11-17 10:32:17 +00:00
Dean Camera
e625fd6df3
Corrected the name of the misnamed USB_GetDeviceConfigDescriptor() function to USB_Host_GetDeviceConfigDescriptor().
2009-11-13 10:07:25 +00:00
Dean Camera
d6edfe35c8
Spell check all source code variables, comments and strings.
2009-11-09 13:15:28 +00:00
Dean Camera
c647c27639
Minor changes to the AVRISP project for code clarity.
2009-11-09 12:22:33 +00:00
Dean Camera
4dde844e9f
Remove dependancies from the LowLevel demos to the ClassDriver demos, since the use of ClassDriver headers now outputs an error when NO_STREAM_CALLBACKS is used.
2009-11-08 21:56:18 +00:00
Dean Camera
34dc7f241f
Make Low Level host demos use void pointers for the configuration descriptor, to prevent warnings when passed to the altered configuration descriptor parsing routines.
...
Added preprocessor checks to give a human readable error when the class drivers are used when the incompatible NO_STREAM_CALLBACKS compile time option is used.
2009-11-07 07:23:03 +00:00
Dean Camera
f29fc1abc4
Add double banking property to LUFA powered projects in the Projects directory. Add guards to macro parameters to ensure that formulas passed as parameters don't mess up the internal macro structure.
2009-11-06 14:32:01 +00:00
Dean Camera
9ea891ea20
Use clearer buffer names in the USBtoSerial project to prevent confusion.
2009-10-26 11:27:13 +00:00
Dean Camera
de70f0f1cf
Moved USBtoSerial demo the Projects directory, as it is simply an expanded CDC demo. Added const qualifier to Endpoint/Pipe stream write routines.
2009-10-18 05:35:48 +00:00
Dean Camera
c3dfc58707
Fix invalid Event name rule in demo/project makefiles.
2009-10-16 08:04:51 +00:00
Dean Camera
dc68de15b6
Make Audio device demos compatible with AVRs running at 16MHz instead of 8MHz.
...
Fix up demo documentation device compatibility list to be as general as possible to reduce changes required as Atmel releases more devices within the same USB AVR series.
2009-10-12 05:59:55 +00:00
Dean Camera
664a292181
Application documentation/comment cleanup.
2009-10-08 07:18:28 +00:00
Dean Camera
3ecc462954
Added pinouts to the AVRISP project for a standard ISP 6 Pin header to make construction of a standard ISP programmer easier.
2009-10-01 09:41:13 +00:00
Dean Camera
409c49f057
Doxygen fixes to \param directives to give data direction in all projects. Make HID item filtering routines clearer in the HID WithParser demos.
2009-09-24 02:05:33 +00:00
Dean Camera
4530a546a1
Fix broken MagStripe demo due to the HID Class driver changes.
2009-09-21 06:46:39 +00:00
Dean Camera
b221e7d175
Remove USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token, split out standard descriptors into seperate USB_Descriptor_* and USB_StdDescriptor_* structures so that both can be used within the one project.
...
Add guard to the HID Host Class driver SetProtocol command, to ensure that the device supports boot protocol mode before issuing the request.
2009-09-09 13:17:04 +00:00
Dean Camera
6f993a2f75
Add link to third-party signed version of the official FLIP DFU driver for 64-bit Windows OSes to the DFU bootloader readme file.
...
Add HTML anchor links to URLs in the documentation to ensure that they are rendered correctly in the generated documentation.
2009-09-07 10:50:58 +00:00
Dean Camera
7882da1ed8
Remove information about 64 bit Windows OS signing requirements for the CDC based demos -- apparently the native CDC driver can be installed without first disabling the OS's driver signing requirements.
2009-09-07 08:11:17 +00:00
Dean Camera
0486f12e3e
Add in new invalid event hook check targets to project makefiles to produce compilation errors when invalid event names are used in a project.
...
Re-add in flip, flip-ee, dfu and dfu-ee targets to project makefiles (thanks to Opendous Inc.)
Fix allowable F_CPU values comment in project makefiles.
2009-09-06 05:58:40 +00:00
Dean Camera
f6700c0ea5
Added 64 bit OS driver installation instructions to the readme for all CDC based projects.
2009-09-06 04:22:46 +00:00
Dean Camera
064e6a2f32
Changed Still Image Host class driver to auto-fill TransactionID element of sent headers depending on the current session state.
...
CDC based demos and project now work under 64 bit versions of Windows (thanks to Ronny Hanson, Thomas Bleeker).
The Benito Programmer project now has its own unique VID/PID pair allocated from the Atmel donated LUFA VID/PID pool.
2009-09-06 04:15:35 +00:00
Dean Camera
113df4878b
Fix up MissileLauncher demo's ConfigurationDescriptor.c so that it uses the new USB_GetDeviceConfigDescriptor() function parameters.
2009-09-01 13:57:47 +00:00
Dean Camera
0f51db56c0
Replace -finline-limit with -fno-inline-small-functions in project makefiles.
2009-08-30 06:52:03 +00:00
Dean Camera
244c86429b
Move ADC VTARGET sampling to a new V2Params_UpdateParamValues() in the AVRISP project so that there is a central place where all non-PC set target values can be updated easily.
2009-08-30 03:51:44 +00:00
Dean Camera
4bb236e9a0
Increase AVRISP command timeout to 240ms up from 150ms to prevent some ISP commands from timing out too early.
...
Add check to the PROGRAM FLASH ISP and PROGRAM EEPROM ISP handler to return an explicit error when the host attempts to write more data than the device is able to buffer.
2009-08-28 08:24:50 +00:00
Dean Camera
489515fbbf
Make WaitWhileBusy function in the AVRISP project more explicit about how it sends and receives the busy check command.
...
Reduce size of PROGRAM FLASH ISP or PROGRAM EEPROM ISP buffer to 256 bytes to prevent blowing the stack on the smallest USB AVR models.
2009-08-27 23:07:53 +00:00
Dean Camera
922e60192d
Condensed SCSI command functions in the LowLevel Mass Storage Host demo, to save on FLASH space.
...
Fixed issue in AVRISP project where the target RESET line was being toggled before it was tristated, causing problems synchronising to some targets (thanks to Mike Alex).
2009-08-27 13:12:44 +00:00
Dean Camera
f7cde02b80
Added extra note about missing OUT endpoint configuration to the HID Device mode Class driver.
...
Added pinout information to the AVRISP project.
2009-08-27 07:10:00 +00:00
Dean Camera
f547eb3608
Optimized Endpoint_Read_Word_* and Pipe_Read_Word_* macros to reduce compiled size.
...
Fixed Programmer's Notepad project file to reflect new location of AVRISP project.
2009-08-25 14:30:42 +00:00
Dean Camera
17d06b8494
Add VTARGET level detection to the AVRISP project on supported AVR models.
2009-08-25 14:02:47 +00:00
Dean Camera
244bba2097
Make AVRISP project build again - fix incorrect preprocessor directive in V2Protocol.c, fix makefile LUFA_PATH.
2009-08-25 13:26:34 +00:00
Dean Camera
cfe054474f
Partial Commit: Remove now empty Projects\Incomplete directory and add the new AVRISP project to the Projects directory makefile.
2009-08-25 13:24:21 +00:00
Dean Camera
271be037b7
Partial Commit: Move AVRISP project out of the Projects\Incomplete directory.
2009-08-25 13:21:19 +00:00
Dean Camera
8aee4cb2f2
Add function documentation to the AVRISP project.
2009-08-25 13:15:30 +00:00
Dean Camera
73801c73a1
Finished preliminary AVRISP project - all V2 protocol commands now work correctly for basic operations.
2009-08-25 11:24:45 +00:00
Dean Camera
4742e95a3f
Fixed AVRISP V2 Protocol handler for the READ_FLASH_ISP and READ_EEPROM_ISP handler - can now correctly read back device data. Programming command handler is still broken, although first page is written correctly to FLASH in paged write mode.
2009-08-25 08:58:48 +00:00
Dean Camera
6d1adf7339
Updated Benito project -- added hardware interrupt and software buffering for serial data reception to prevent missed characters, condensed pulse generation counters into a struct for clarity.
...
Added check to CDC_Device_BytesReceived() to ensure 0 is returned when device is not enumerated to a host.
Move AVRISP project's V2Protocol_DelayMS() function to be static inline, as it is now very minimal. Added extra project doxygen documentation.
2009-08-25 08:09:49 +00:00
Dean Camera
f070902bdb
Fix endianness of LOAD_ADDRESS command data, add correct PROGRAM_FLASH_ISP/PROGRAM_EEPROM_ISP polling and endpoint bank clearing, add hardware delays/timeouts to the V2 Protocol handler in the AVRISP project.
2009-08-24 13:39:47 +00:00
Dean Camera
8cb8f1cfdd
Switch to hardware delays and timeouts via a hardware timer in the V2 Protocol handler.
...
More additions to the PROGRAM_FLASH_ISP and PROGRAM_EEPROM_ISP commands, although neither work correctly yet.
Added dummy RESET_PROTECTIONS handler to prevent the Atmel driver from crashing when the command returns an UNKNOWN_COMMAND error code.
2009-08-24 12:49:19 +00:00
Dean Camera
92adb00f8e
Added PROGRAM_FLASH_ISP and PROGRAM_EEPROM_ISP handler code to the V2 Protocol handler in the AVRISP project, programming complete checks not yet complete.
2009-08-24 11:04:05 +00:00
Dean Camera
f9c0357b73
Fixed V2 Protocol READ_FLASH_ISP and READ_EEPROM_ISP handler code in the AVRISP project.
2009-08-24 10:08:02 +00:00
Dean Camera
bff4dbe189
Fix to V2 Protocol for Fuse/Sig/Lock byte read -- off by one error on the array when writing back the response from the device.
...
FLASH/EEPROM reading and writing currently broken and unfinished, respectively.
2009-08-24 09:37:54 +00:00
Dean Camera
dbb5f249bd
Added V2 protocol handlers for the READ and WRITE memory commands in the AVRISP project. Finished READ command handler, skeleton WRITE handler implemented.
2009-08-23 12:38:50 +00:00
Dean Camera
7e74bd3ea2
Moved out target-related V2 protocol commands into a seperate file for the AVRISP project.
...
Added Load Extended Command functionality to the LOAD ADDRESS V2 Protocol command handler for devices with more than 64KB of memory.
2009-08-23 10:17:13 +00:00
Dean Camera
f229502d9a
Fixed AVRISP programmer demo -- can now connect to a target and read/write Sig/Lock/Fuse/OSCCAL bytes successfully.
...
Changed SPI_Init() to allow for the clock polarity and data sample modes to be set.
Changed Dataflash_Init() to no longer call SPI_Init() automatically.
2009-08-23 08:37:11 +00:00
Dean Camera
1e8df8951a
Added V2Protocol handlers to the AVRISP project to enter/exit programming mode, and read/write fuses, lockbits, OSCCAL and Signature bytes.
...
Added ShutDown functions for all hardware peripheral drivers, so that peripherals can be turned off after use.
2009-08-23 04:01:49 +00:00
Dean Camera
5acf23b254
Renamed Projects/Unfinished to Projects/Incomplete for consistancy.
2009-08-20 07:21:43 +00:00
Dean Camera
2f95eea146
Add LOAD ADDRESS command parsing to the V2 Protocol hander in the AVRISP project.
...
Fix up references to functions in the Endpoint/Pipe documentation.
2009-08-20 07:16:55 +00:00
Dean Camera
a9602f0250
Change spinloop in the AVRISP project Unknown V2 Protocol Command handler to use Endpoint_WaitUntilReady() instead to prevent infinite loops.
2009-08-19 13:19:01 +00:00
Dean Camera
fa8beef82d
Moved out the handling of V2 Protocol parameters to a seperate set of files. Added parameter privellages, so that an error can be returned to the host when trying to perform a get/set value action on a parameter without the correct privellages.
2009-08-19 08:29:08 +00:00
Dean Camera
32cc2b8d4d
Reorganise V2Protocol.c, add in function to assert or de-assert target RESET pin.
2009-08-19 07:08:27 +00:00
Dean Camera
04354ffcad
Added handler for the V2 Protocol SPI_MULTI command to the AVRISP Programmer project.
...
Added documentation of the makefile CDEFS values to the MagStripe project.
2009-08-19 06:25:54 +00:00
Dean Camera
083d3615d3
Corrections to the unfinished AVRISP Programmer project to allow AVRStudio to connect to it.
2009-08-19 05:40:05 +00:00
Dean Camera
6d99486791
Fixed invalid data being returned when a GetStatus request is issued in Device mode with an unhandled data recipient.
...
Fix up Programmers Notepad Project file to show new Projects directory layout. Remove now moved AVRISP project from the Projects directory makefile.
2009-08-18 07:42:19 +00:00
Dean Camera
0934f5c185
Move AVRISP Programmer project to a new Unfinished subdirectory of Project while it is under development.
2009-08-18 07:37:03 +00:00
Dean Camera
bbcdaaa6dc
Enhancements to the AVRISP Programmer project to attempt to get AVRStudio to communicate with the device.
2009-08-18 07:22:51 +00:00
Dean Camera
ecd82778cf
Added beginnings of a new AVRISP-MKII clone project.
...
Added new Endpoint_SetEndpointDirection() macro to set the current endpoint direction for bidirectional endpoints.
Renamed internal USB_INT_ENDPOINT_SETUP macro to USB_INT_RXSTPI to fit in with the rest of the interrupt vector macros.
2009-08-17 12:38:24 +00:00
Dean Camera
b71ff7c8cd
Added new EVENT_USB_Device_StartOfFrame() event, controlled by the new USB_Device_EnableSOFEvents() and USB_Device_DisableSOFEvents() macros to give bus-synchronised millisecond interrupts when in USB device mode.
2009-08-16 08:51:54 +00:00
Dean Camera
25ddbb9e3b
Adjust endpoint polling intervals for HID demos, to make them compliant with the 10ms minimum polling period for Low Speed devices.
2009-08-13 08:26:59 +00:00
Dean Camera
99abd1a8b7
Added explicit attribute masks to the device mode demos' descriptors.
2009-08-13 08:14:16 +00:00
Dean Camera
85c2716f2d
Make Benito ping-pong LED code more explicit, using masks of the TX and RX LED masks for ping-pong toggle rather than the ambiguous LED "Busy" mask.
...
Fix incorrect event name in MassStorageHost.c.
2009-08-07 00:27:11 +00:00
Dean Camera
3848482532
Add Benito board LED driver to the Benito Programmer project.
2009-08-05 13:17:06 +00:00
Dean Camera
99c447c754
Fixed issue in USBtoSerial demos where the USART Rx line was not having its pullup enabled at startup, leading to noise being received from the Rx pin when left floating.
...
Removed unused relative Common.h header include from the DriverStubs board stub drivers.
Fixed Benito programmer, use the correct LED functions where needed to ensure correct status display at all times.
2009-08-05 13:16:36 +00:00
Dean Camera
c5038f1bf4
Renamed all library events to properly seperate out Device and Host mode events. Changed the firing conditions for some events to ensure that events are fired by their own USB mode only.
...
Remove VBUS events - not needed as the library takes care of VBUS detection and feedback on supported AVRs via the USB_Device_Connected and USB_Device_Disconnected events.
Fixed incorrect Host state assignment in the incomplete BluetoothHost demo.
2009-08-05 06:36:31 +00:00
Dean Camera
6f4cc344ab
Rename TOTAL_NUM_CONFIGURATIONS to FIXED_NUM_CONFIGURATIONS, to match the existing FIXED_CONTROL_ENDPOINT_SIZE compile time option. Add FIXED_NUM_CONFIGURATIONS to the descriptors of each project using the option.
2009-08-02 23:14:30 +00:00
Dean Camera
eb41086947
Fix demos based on the device mode HID class driver, as well as the driver itself. Changed HID device class driver to require the user to give a buffer and size to hold the previously generated report, for comparison purposes, and altered the prototype of the CALLBACK_HID_Device_CreateHIDReport() function so that reports can be sent to the host even if there are no apparent changes (useful for relative movements in mice, etc.).
2009-07-31 03:22:08 +00:00