├── sw ├── bootloader │ ├── lfuse.hex │ └── makefile ├── lufa-lib │ ├── Bootloaders │ │ ├── CDC │ │ │ ├── lfuse.hex │ │ │ └── makefile │ │ ├── DFU │ │ │ └── makefile │ │ └── makefile │ ├── LUFA │ │ ├── ManPages │ │ │ ├── LUFA.png │ │ │ ├── Author.jpg │ │ │ ├── ChangeLog.txt │ │ │ ├── Groups.txt │ │ │ ├── AboutLUFA.txt │ │ │ ├── DevelopingWithLUFA.txt │ │ │ ├── LicenseInfo.txt │ │ │ ├── Donating.txt │ │ │ ├── BuildingLinkableLibraries.txt │ │ │ ├── LibraryResources.txt │ │ │ ├── DeviceSupport.txt │ │ │ ├── GettingStarted.txt │ │ │ ├── WritingBoardDrivers.txt │ │ │ ├── ProgrammingApps.txt │ │ │ ├── FutureChanges.txt │ │ │ └── CompilingApps.txt │ │ ├── CodeTemplates │ │ │ └── makefile_template │ │ ├── License.txt │ │ ├── Drivers │ │ │ ├── USB │ │ │ │ ├── HighLevel │ │ │ │ │ ├── Template │ │ │ │ │ │ ├── Template_Endpoint_Control_R.c │ │ │ │ │ │ ├── Template_Endpoint_Control_W.c │ │ │ │ │ │ ├── Template_Endpoint_RW.c │ │ │ │ │ │ └── Template_Pipe_RW.c │ │ │ │ │ └── Events.c │ │ │ │ └── LowLevel │ │ │ │ │ └── Device.c │ │ │ └── Peripheral │ │ │ │ ├── TWI.c │ │ │ │ ├── Serial.c │ │ │ │ └── SerialStream.c │ │ └── Version.h │ ├── Projects │ │ ├── Benito │ │ │ └── makefile │ │ ├── Magstripe │ │ │ └── makefile │ │ ├── Webserver │ │ │ ├── makefile │ │ │ ├── Lib │ │ │ │ ├── uip │ │ │ │ │ ├── clock.h │ │ │ │ │ └── clock.c │ │ │ │ └── FATFs │ │ │ │ │ ├── integer.h │ │ │ │ │ ├── diskio.c │ │ │ │ │ └── diskio.h │ │ │ ├── USBDeviceMode.h │ │ │ └── USBHostMode.h │ │ ├── AVRISP-MKII │ │ │ └── makefile │ │ ├── LEDNotifier │ │ │ ├── makefile │ │ │ ├── CPUUsageApp │ │ │ │ ├── Properties │ │ │ │ │ ├── Settings.settings │ │ │ │ │ ├── Settings.Designer.cs │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ └── Program.cs │ │ │ ├── LEDMixerApp │ │ │ │ ├── Properties │ │ │ │ │ ├── Settings.settings │ │ │ │ │ ├── Settings.Designer.cs │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ ├── Program.cs │ │ │ │ └── LEDMixer.cs │ │ │ ├── HotmailNotifierApp │ │ │ │ ├── Properties │ │ │ │ │ ├── Settings.settings │ │ │ │ │ ├── Settings.Designer.cs │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ └── Program.cs │ │ │ ├── LEDNotifier.h │ │ │ └── LEDNotifier.txt │ │ ├── RelayBoard │ │ │ ├── makefile │ │ │ └── RelayBoard.h │ │ ├── USBtoSerial │ │ │ └── makefile │ │ ├── XPLAINBridge │ │ │ ├── makefile │ │ │ └── Lib │ │ │ │ └── SoftUART.h │ │ ├── TempDataLogger │ │ │ ├── makefile │ │ │ ├── TempLogHostApp │ │ │ │ ├── Hid.Net.dll │ │ │ │ ├── Hid.Linux.dll │ │ │ │ ├── Hid.Win32.dll │ │ │ │ ├── Program.cs │ │ │ │ └── README.txt │ │ │ └── Lib │ │ │ │ └── FATFs │ │ │ │ ├── integer.h │ │ │ │ └── diskio.h │ │ ├── MissileLauncher │ │ │ ├── makefile │ │ │ └── MissileLauncher.txt │ │ ├── Incomplete │ │ │ └── StandaloneProgrammer │ │ │ │ ├── makefile │ │ │ │ ├── Lib │ │ │ │ ├── PetiteFATFs │ │ │ │ │ ├── integer.h │ │ │ │ │ ├── diskio.h │ │ │ │ │ ├── 00readme.txt │ │ │ │ │ └── diskio.c │ │ │ │ └── ProgrammerConfig.h │ │ │ │ ├── DiskHost.h │ │ │ │ └── DiskDevice.h │ │ └── makefile │ ├── Demos │ │ ├── Device │ │ │ ├── LowLevel │ │ │ │ ├── MIDI │ │ │ │ │ └── makefile │ │ │ │ ├── Mouse │ │ │ │ │ └── makefile │ │ │ │ ├── Joystick │ │ │ │ │ ├── makefile │ │ │ │ │ └── Joystick.txt │ │ │ │ ├── Keyboard │ │ │ │ │ └── makefile │ │ │ │ ├── AudioInput │ │ │ │ │ └── makefile │ │ │ │ ├── AudioOutput │ │ │ │ │ └── makefile │ │ │ │ ├── GenericHID │ │ │ │ │ └── makefile │ │ │ │ ├── MassStorage │ │ │ │ │ └── makefile │ │ │ │ ├── KeyboardMouse │ │ │ │ │ └── makefile │ │ │ │ ├── RNDISEthernet │ │ │ │ │ ├── makefile │ │ │ │ │ ├── LUFA RNDIS.inf │ │ │ │ │ └── Lib │ │ │ │ │ │ ├── Webserver.h │ │ │ │ │ │ └── ProtocolDecoders.h │ │ │ │ ├── VirtualSerial │ │ │ │ │ └── makefile │ │ │ │ ├── DualVirtualSerial │ │ │ │ │ └── makefile │ │ │ │ └── makefile │ │ │ ├── ClassDriver │ │ │ │ ├── MIDI │ │ │ │ │ └── makefile │ │ │ │ ├── Mouse │ │ │ │ │ └── makefile │ │ │ │ ├── Joystick │ │ │ │ │ ├── makefile │ │ │ │ │ └── Joystick.txt │ │ │ │ ├── Keyboard │ │ │ │ │ └── makefile │ │ │ │ ├── AudioInput │ │ │ │ │ ├── makefile │ │ │ │ │ ├── AudioInput.o │ │ │ │ │ ├── Descriptors.o │ │ │ │ │ └── .dep │ │ │ │ │ │ ├── PipeStream.o.d │ │ │ │ │ │ ├── Host.o.d │ │ │ │ │ │ ├── Pipe.o.d │ │ │ │ │ │ ├── HostStandardReq.o.d │ │ │ │ │ │ ├── HIDParser.o.d │ │ │ │ │ │ └── Events.o.d │ │ │ │ ├── AudioOutput │ │ │ │ │ └── makefile │ │ │ │ ├── GenericHID │ │ │ │ │ └── makefile │ │ │ │ ├── MassStorage │ │ │ │ │ └── makefile │ │ │ │ ├── KeyboardMouse │ │ │ │ │ └── makefile │ │ │ │ ├── RNDISEthernet │ │ │ │ │ ├── makefile │ │ │ │ │ ├── LUFA RNDIS.inf │ │ │ │ │ └── Lib │ │ │ │ │ │ ├── Webserver.h │ │ │ │ │ │ └── ProtocolDecoders.h │ │ │ │ ├── VirtualSerial │ │ │ │ │ └── makefile │ │ │ │ ├── DualVirtualSerial │ │ │ │ │ └── makefile │ │ │ │ ├── VirtualSerialMouse │ │ │ │ │ └── makefile │ │ │ │ ├── MassStorageKeyboard │ │ │ │ │ └── makefile │ │ │ │ └── makefile │ │ │ ├── Incomplete │ │ │ │ ├── Sideshow │ │ │ │ │ ├── makefile │ │ │ │ │ └── Lib │ │ │ │ │ │ └── SideshowApplications.c │ │ │ │ └── TestAndMeasurement │ │ │ │ │ └── makefile │ │ │ └── makefile │ │ ├── Host │ │ │ ├── LowLevel │ │ │ │ ├── MIDIHost │ │ │ │ │ ├── makefile │ │ │ │ │ └── MIDIHost.txt │ │ │ │ ├── MouseHost │ │ │ │ │ └── makefile │ │ │ │ ├── PrinterHost │ │ │ │ │ ├── makefile │ │ │ │ │ └── PrinterHost.txt │ │ │ │ ├── KeyboardHost │ │ │ │ │ └── makefile │ │ │ │ ├── GenericHIDHost │ │ │ │ │ ├── makefile │ │ │ │ │ └── GenericHIDHost.txt │ │ │ │ ├── MassStorageHost │ │ │ │ │ ├── makefile │ │ │ │ │ └── MassStorageHost.txt │ │ │ │ ├── StillImageHost │ │ │ │ │ ├── makefile │ │ │ │ │ ├── StillImageHost.txt │ │ │ │ │ └── Lib │ │ │ │ │ │ └── PIMACodes.h │ │ │ │ ├── RNDISEthernetHost │ │ │ │ │ ├── makefile │ │ │ │ │ └── RNDISHost.txt │ │ │ │ ├── VirtualSerialHost │ │ │ │ │ ├── makefile │ │ │ │ │ └── VirtualSerialHost.txt │ │ │ │ ├── MouseHostWithParser │ │ │ │ │ ├── makefile │ │ │ │ │ └── MouseHostWithParser.txt │ │ │ │ ├── JoystickHostWithParser │ │ │ │ │ └── makefile │ │ │ │ ├── KeyboardHostWithParser │ │ │ │ │ └── makefile │ │ │ │ └── makefile │ │ │ ├── ClassDriver │ │ │ │ ├── MIDIHost │ │ │ │ │ ├── makefile │ │ │ │ │ └── MIDIHost.txt │ │ │ │ ├── MouseHost │ │ │ │ │ └── makefile │ │ │ │ ├── KeyboardHost │ │ │ │ │ └── makefile │ │ │ │ ├── PrinterHost │ │ │ │ │ ├── makefile │ │ │ │ │ └── PrinterHost.txt │ │ │ │ ├── MassStorageHost │ │ │ │ │ ├── makefile │ │ │ │ │ └── MassStorageHost.txt │ │ │ │ ├── StillImageHost │ │ │ │ │ ├── makefile │ │ │ │ │ └── StillImageHost.txt │ │ │ │ ├── RNDISEthernetHost │ │ │ │ │ ├── makefile │ │ │ │ │ └── RNDISEthernetHost.txt │ │ │ │ ├── VirtualSerialHost │ │ │ │ │ ├── makefile │ │ │ │ │ └── VirtualSerialHost.txt │ │ │ │ ├── MouseHostWithParser │ │ │ │ │ ├── makefile │ │ │ │ │ └── MouseHostWithParser.txt │ │ │ │ ├── JoystickHostWithParser │ │ │ │ │ └── makefile │ │ │ │ ├── KeyboardHostWithParser │ │ │ │ │ └── makefile │ │ │ │ └── makefile │ │ │ ├── Incomplete │ │ │ │ └── BluetoothHost │ │ │ │ │ └── makefile │ │ │ └── makefile │ │ ├── DualRole │ │ │ ├── ClassDriver │ │ │ │ ├── MouseHostDevice │ │ │ │ │ ├── makefile │ │ │ │ │ └── HostFunctions.h │ │ │ │ └── makefile │ │ │ └── makefile │ │ └── makefile │ └── makefile ├── rfp │ ├── ui.h │ ├── rf_test.h │ ├── rf_debug.h │ ├── keypad.h │ ├── context.h │ ├── cmd_parser.h │ ├── main.cpp │ ├── timetick.h │ ├── evt_handler.h │ ├── usb_callbacks.c │ ├── system.h │ ├── usb_serial.h │ ├── Menu.h │ ├── usb_vserial.h │ ├── timetick.cpp │ ├── MenuEntry.h │ └── cmd_parser.cpp ├── icons │ ├── rssi.h │ ├── tx_on.h │ ├── batt_0p0.h │ ├── batt_0p5.h │ ├── batt_0p25.h │ ├── batt_0p75.h │ └── batt_1p0.h ├── common │ ├── process_pins.pl │ ├── hw.h │ └── pins.h ├── makefile └── TODO ├── hw └── v1 │ ├── gpios.ods │ ├── rf_board_v1.brd │ ├── rf_board_v1.sch │ ├── rf_board_v1_schematic.pdf │ └── rf_board_v1_schematic.png └── README /sw/bootloader/lfuse.hex: -------------------------------------------------------------------------------- 1 | :01000000DE21 2 | :00000001FF 3 | -------------------------------------------------------------------------------- /sw/lufa-lib/Bootloaders/CDC/lfuse.hex: -------------------------------------------------------------------------------- 1 | :01000000DE21 2 | :00000001FF 3 | -------------------------------------------------------------------------------- /hw/v1/gpios.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/hw/v1/gpios.ods -------------------------------------------------------------------------------- /hw/v1/rf_board_v1.brd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/hw/v1/rf_board_v1.brd -------------------------------------------------------------------------------- /hw/v1/rf_board_v1.sch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/hw/v1/rf_board_v1.sch -------------------------------------------------------------------------------- /sw/bootloader/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/bootloader/makefile -------------------------------------------------------------------------------- /hw/v1/rf_board_v1_schematic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/hw/v1/rf_board_v1_schematic.pdf -------------------------------------------------------------------------------- /hw/v1/rf_board_v1_schematic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/hw/v1/rf_board_v1_schematic.png -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/LUFA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/LUFA/ManPages/LUFA.png -------------------------------------------------------------------------------- /sw/lufa-lib/Bootloaders/CDC/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Bootloaders/CDC/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Bootloaders/DFU/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Bootloaders/DFU/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/Author.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/LUFA/ManPages/Author.jpg -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Benito/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/Benito/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/ChangeLog.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/LUFA/ManPages/ChangeLog.txt -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Magstripe/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/Magstripe/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Webserver/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/Webserver/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/AVRISP-MKII/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/AVRISP-MKII/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/LEDNotifier/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/RelayBoard/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/RelayBoard/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/USBtoSerial/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/USBtoSerial/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/XPLAINBridge/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/XPLAINBridge/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/TempDataLogger/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/TempDataLogger/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/MIDI/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/LowLevel/MIDI/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/MissileLauncher/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/MissileLauncher/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/Mouse/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/LowLevel/Mouse/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/MIDIHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/LowLevel/MIDIHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/CodeTemplates/makefile_template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/LUFA/CodeTemplates/makefile_template -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/MIDI/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/MIDI/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/Mouse/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/Mouse/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/Joystick/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/LowLevel/Joystick/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/Keyboard/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/LowLevel/Keyboard/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/MIDIHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/ClassDriver/MIDIHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/MouseHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/LowLevel/MouseHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/PrinterHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/LowLevel/PrinterHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/Joystick/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/Joystick/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/Keyboard/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/Keyboard/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/Incomplete/Sideshow/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/Incomplete/Sideshow/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/AudioInput/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/LowLevel/AudioInput/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/AudioOutput/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/LowLevel/AudioOutput/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/GenericHID/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/LowLevel/GenericHID/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/MassStorage/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/LowLevel/MassStorage/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/MouseHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/ClassDriver/MouseHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/KeyboardHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/LowLevel/KeyboardHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/AudioInput/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/AudioInput/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/AudioOutput/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/AudioOutput/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/GenericHID/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/GenericHID/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/MassStorage/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/MassStorage/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/KeyboardMouse/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/LowLevel/KeyboardMouse/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/RNDISEthernet/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/LowLevel/RNDISEthernet/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/VirtualSerial/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/LowLevel/VirtualSerial/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/KeyboardHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/ClassDriver/KeyboardHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/PrinterHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/ClassDriver/PrinterHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/Incomplete/BluetoothHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/Incomplete/BluetoothHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/GenericHIDHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/LowLevel/GenericHIDHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/MassStorageHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/LowLevel/MassStorageHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/StillImageHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/LowLevel/StillImageHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/KeyboardMouse/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/KeyboardMouse/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/RNDISEthernet/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/RNDISEthernet/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/VirtualSerial/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/VirtualSerial/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/MassStorageHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/ClassDriver/MassStorageHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/StillImageHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/ClassDriver/StillImageHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/RNDISEthernetHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/LowLevel/RNDISEthernetHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/VirtualSerialHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/LowLevel/VirtualSerialHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/AudioInput/AudioInput.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/AudioInput/AudioInput.o -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/AudioInput/Descriptors.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/AudioInput/Descriptors.o -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/DualVirtualSerial/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/LowLevel/DualVirtualSerial/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/RNDISEthernetHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/ClassDriver/RNDISEthernetHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/VirtualSerialHost/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/ClassDriver/VirtualSerialHost/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/MouseHostWithParser/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/LowLevel/MouseHostWithParser/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Incomplete/StandaloneProgrammer/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/Incomplete/StandaloneProgrammer/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/TempDataLogger/TempLogHostApp/Hid.Net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/TempDataLogger/TempLogHostApp/Hid.Net.dll -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/DualVirtualSerial/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/DualVirtualSerial/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/VirtualSerialMouse/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/VirtualSerialMouse/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/Incomplete/TestAndMeasurement/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/Incomplete/TestAndMeasurement/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/DualRole/ClassDriver/MouseHostDevice/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/DualRole/ClassDriver/MouseHostDevice/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/MouseHostWithParser/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/ClassDriver/MouseHostWithParser/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/JoystickHostWithParser/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/LowLevel/JoystickHostWithParser/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/KeyboardHostWithParser/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/LowLevel/KeyboardHostWithParser/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/TempDataLogger/TempLogHostApp/Hid.Linux.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/TempDataLogger/TempLogHostApp/Hid.Linux.dll -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/TempDataLogger/TempLogHostApp/Hid.Win32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Projects/TempDataLogger/TempLogHostApp/Hid.Win32.dll -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/MassStorageKeyboard/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Device/ClassDriver/MassStorageKeyboard/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/JoystickHostWithParser/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/ClassDriver/JoystickHostWithParser/makefile -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tinylabs/RF-Pirate/HEAD/sw/lufa-lib/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile -------------------------------------------------------------------------------- /sw/rfp/ui.h: -------------------------------------------------------------------------------- 1 | #ifndef _UI_H_ 2 | #define _UI_H_ 3 | /** 4 | * Handle UI and core event 5 | * Elliot Buller 2012 6 | **/ 7 | 8 | void ui_setup (void); 9 | void ui_process (void); 10 | 11 | #endif /* _UI_H_ */ 12 | -------------------------------------------------------------------------------- /sw/icons/rssi.h: -------------------------------------------------------------------------------- 1 | #ifndef RSSI 2 | #define RSSI 3 | 4 | #include 5 | 6 | static uint8_t rssi[] PROGMEM = { 7 | 0x40, 0x40, 0x00, 0x70, 0x70, 0x00, 0x78, 0x78, 8 | 0x00, 0x7E, 0x7E, 0x00}; 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /sw/icons/tx_on.h: -------------------------------------------------------------------------------- 1 | #ifndef TX_ON 2 | #define TX_ON 3 | 4 | #include 5 | 6 | static uint8_t tx_on[] PROGMEM = { 7 | 0x00, 0x10, 0x70, 0x10, 0x00, 0x50, 0x20, 0x54, 8 | 0x05, 0x19, 0x03, 0x0E}; 9 | #endif 10 | -------------------------------------------------------------------------------- /sw/icons/batt_0p0.h: -------------------------------------------------------------------------------- 1 | #ifndef BATT_0 2 | #define BATT_0 3 | 4 | #include 5 | 6 | static uint8_t batt_0p0[] PROGMEM = { 7 | 0x18, 0x7E, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 8 | 0x42, 0x42, 0x7E, 0x18 }; 9 | 10 | #endif /* BATT_0 */ 11 | -------------------------------------------------------------------------------- /sw/icons/batt_0p5.h: -------------------------------------------------------------------------------- 1 | #ifndef BATT_1_2 2 | #define BATT_1_2 3 | 4 | #include 5 | 6 | static uint8_t batt_0p5[] PROGMEM = { 7 | 0x18, 0x7E, 0x42, 0x42, 0x42, 0x42, 0x7E, 0x7E, 8 | 0x7E, 0x7E, 0x7E, 0x18 }; 9 | 10 | #endif /* BATT_1_2 */ 11 | -------------------------------------------------------------------------------- /sw/icons/batt_0p25.h: -------------------------------------------------------------------------------- 1 | #ifndef BATT_1_4 2 | #define BATT_1_4 3 | 4 | #include 5 | 6 | static uint8_t batt_0p25[] PROGMEM = { 7 | 0x18, 0x7E, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 8 | 0x7E, 0x7E, 0x7E, 0x18 }; 9 | 10 | #endif /* BATT_1_4 */ 11 | -------------------------------------------------------------------------------- /sw/icons/batt_0p75.h: -------------------------------------------------------------------------------- 1 | #ifndef BATT_3_4 2 | #define BATT_3_4 3 | 4 | #include 5 | 6 | static uint8_t batt_0p75[] PROGMEM = { 7 | 0x18, 0x7E, 0x42, 0x42, 0x7E, 0x7E, 0x7E, 0x7E, 8 | 0x7E, 0x7E, 0x7E, 0x18 }; 9 | 10 | #endif /* BATT_3_4 */ 11 | -------------------------------------------------------------------------------- /sw/icons/batt_1p0.h: -------------------------------------------------------------------------------- 1 | #ifndef BATT_FULL 2 | #define BATT_FULL 3 | 4 | #include 5 | 6 | static uint8_t batt_1p0[] PROGMEM = { 7 | 0x18, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 8 | 0x7E, 0x7E, 0x7E, 0x18 }; 9 | 10 | #endif /* BATT_FULL */ 11 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/AudioInput/.dep/PipeStream.o.d: -------------------------------------------------------------------------------- 1 | ../../../../LUFA/Drivers/USB/HighLevel/PipeStream.o: \ 2 | ../../../../LUFA/Drivers/USB/HighLevel/PipeStream.c \ 3 | ../../../../LUFA/Drivers/USB/HighLevel/USBMode.h 4 | 5 | ../../../../LUFA/Drivers/USB/HighLevel/USBMode.h: 6 | -------------------------------------------------------------------------------- /sw/rfp/rf_test.h: -------------------------------------------------------------------------------- 1 | #ifndef _RFTEST_H_ 2 | #define _RFTEST_H_ 3 | 4 | #include "MenuEntry.h" 5 | 6 | /* event handler */ 7 | uint8_t rf_event_notify (uint8_t event, uint16_t data); 8 | 9 | /* Export rf_test menu entry */ 10 | EXPORT_MENU(m_rf_root); 11 | 12 | #endif /* _RFTEST_H_ */ 13 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/AudioInput/.dep/Host.o.d: -------------------------------------------------------------------------------- 1 | ../../../../LUFA/Drivers/USB/LowLevel/Host.o: \ 2 | ../../../../LUFA/Drivers/USB/LowLevel/Host.c \ 3 | ../../../../LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h 4 | 5 | ../../../../LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h: 6 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/AudioInput/.dep/Pipe.o.d: -------------------------------------------------------------------------------- 1 | ../../../../LUFA/Drivers/USB/LowLevel/Pipe.o: \ 2 | ../../../../LUFA/Drivers/USB/LowLevel/Pipe.c \ 3 | ../../../../LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h 4 | 5 | ../../../../LUFA/Drivers/USB/LowLevel/../HighLevel/USBMode.h: 6 | -------------------------------------------------------------------------------- /sw/rfp/rf_debug.h: -------------------------------------------------------------------------------- 1 | #ifndef _RFDEBUG_H_ 2 | #define _RFDEBUG_H_ 3 | 4 | #include "MenuEntry.h" 5 | 6 | /* event handler */ 7 | uint8_t rf_debug_notify (uint8_t event, uint16_t data); 8 | 9 | /* Export rf_test menu entry */ 10 | EXPORT_MENU(m_rf_debug); 11 | 12 | #endif /* _RFDEBUG_H_ */ 13 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/AudioInput/.dep/HostStandardReq.o.d: -------------------------------------------------------------------------------- 1 | ../../../../LUFA/Drivers/USB/HighLevel/HostStandardReq.o: \ 2 | ../../../../LUFA/Drivers/USB/HighLevel/HostStandardReq.c \ 3 | ../../../../LUFA/Drivers/USB/HighLevel/USBMode.h 4 | 5 | ../../../../LUFA/Drivers/USB/HighLevel/USBMode.h: 6 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/AudioInput/.dep/HIDParser.o.d: -------------------------------------------------------------------------------- 1 | ../../../../LUFA/Drivers/USB/Class/Host/HIDParser.o: \ 2 | ../../../../LUFA/Drivers/USB/Class/Host/HIDParser.c \ 3 | ../../../../LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h 4 | 5 | ../../../../LUFA/Drivers/USB/Class/Host/../../HighLevel/USBMode.h: 6 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/CPUUsageApp/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/LEDMixerApp/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Webserver/Lib/uip/clock.h: -------------------------------------------------------------------------------- 1 | #ifndef __CLOCK_ARCH_H__ 2 | #define __CLOCK_ARCH_H__ 3 | 4 | #include 5 | #include 6 | 7 | typedef uint16_t clock_time_t; 8 | #define CLOCK_SECOND 100 9 | void clock_init(void); 10 | clock_time_t clock_time(void); 11 | 12 | #endif /* __CLOCK_ARCH_H__ */ 13 | 14 | -------------------------------------------------------------------------------- /sw/rfp/keypad.h: -------------------------------------------------------------------------------- 1 | #ifndef _KEYPAD_H_ 2 | #define _KEYPAD_H_ 3 | /** 4 | * Keypad driver - Sample joystick and produce key events. 5 | * 6 | * Elliot Buller 2012 7 | **/ 8 | #include "timetick.h" 9 | 10 | // Public functions 11 | void keypad_init(uint16_t ticks); 12 | uint8_t keypad_lastkeycode(void); 13 | 14 | #endif /* _KEYPAD_H_ */ 15 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/HotmailNotifierApp/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /sw/rfp/context.h: -------------------------------------------------------------------------------- 1 | #ifndef _CONTEXT_H_ 2 | #define _CONTEXT_H_ 3 | 4 | #include "ssd1306.h" 5 | #include "Menu.h" 6 | 7 | // System context obj for apps 8 | typedef struct { 9 | // Handle to display 10 | ssd1306 *disp; 11 | // Handle to menu 12 | Menu *menu; 13 | // Handle to SD card 14 | } context_t; 15 | 16 | 17 | #endif /* _CONTEXT_H_ */ 18 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build all the LUFA Demos. Call with "make all" to 10 | # rebuild all demos. 11 | 12 | # Projects are pre-cleaned before each one is built, to ensure any 13 | # custom LUFA library build options are reflected in the compiled 14 | # code. 15 | 16 | all: 17 | 18 | %: 19 | $(MAKE) -C Device $@ 20 | $(MAKE) -C Host $@ 21 | $(MAKE) -C DualRole $@ 22 | 23 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/DualRole/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build all the LUFA Class Driver and Low Level Demos. Call with 10 | # "make all" to rebuild all demos of both types. 11 | 12 | # Projects are pre-cleaned before each one is built, to ensure any 13 | # custom LUFA library build options are reflected in the compiled 14 | # code. 15 | 16 | all: 17 | 18 | %: 19 | $(MAKE) -C ClassDriver/ $@ 20 | 21 | -------------------------------------------------------------------------------- /sw/rfp/cmd_parser.h: -------------------------------------------------------------------------------- 1 | #ifndef _CMD_PARSER_H_ 2 | #define _CMD_PARSER_H_ 3 | 4 | #include 5 | #include "usb_serial.h" 6 | 7 | #define MAX_ARGS 2 8 | #define MAX_CMDS 10 9 | 10 | typedef struct { 11 | char *cmd; 12 | char *arg[MAX_ARGS]; 13 | } tok_t; 14 | 15 | /* callback type for parsed commands */ 16 | typedef void (*cmd_cb_t)(uint8_t argc, tok_t *tok); 17 | 18 | /* Register a cmd for parsing */ 19 | uint8_t cmdp_register_cmd (const char *cmd, cmd_cb_t); 20 | void cmdp_parse_cmd (string_t *str); 21 | void cmdp_init (void); 22 | 23 | #endif /* _CMD_PARSER_H_ */ 24 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build all the LUFA Class Driver and Low Level Demos. Call with 10 | # "make all" to rebuild all demos of both types. 11 | 12 | # Projects are pre-cleaned before each one is built, to ensure any 13 | # custom LUFA library build options are reflected in the compiled 14 | # code. 15 | 16 | all: 17 | 18 | %: 19 | $(MAKE) -C ClassDriver $@ 20 | $(MAKE) -C LowLevel $@ 21 | 22 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build all the LUFA Class Driver and Low Level Demos. Call with 10 | # "make all" to rebuild all demos of both types. 11 | 12 | # Projects are pre-cleaned before each one is built, to ensure any 13 | # custom LUFA library build options are reflected in the compiled 14 | # code. 15 | 16 | all: 17 | 18 | %: 19 | $(MAKE) -C ClassDriver $@ 20 | $(MAKE) -C LowLevel $@ 21 | 22 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/HotmailNotifierApp/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Windows.Forms; 4 | 5 | namespace TestWinForms 6 | { 7 | static class Program 8 | { 9 | /// 10 | /// The main entry point for the application. 11 | /// 12 | [STAThread] 13 | static void Main() 14 | { 15 | Application.EnableVisualStyles(); 16 | Application.SetCompatibleTextRenderingDefault(false); 17 | Application.Run(new MailNotifier()); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/CPUUsageApp/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Windows.Forms; 5 | 6 | namespace CPUMonitor 7 | { 8 | static class Program 9 | { 10 | /// 11 | /// The main entry point for the application. 12 | /// 13 | [STAThread] 14 | static void Main() 15 | { 16 | Application.EnableVisualStyles(); 17 | Application.SetCompatibleTextRenderingDefault(false); 18 | Application.Run(new frmCPU()); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/LEDMixerApp/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Windows.Forms; 5 | 6 | namespace LEDMixer 7 | { 8 | static class Program 9 | { 10 | /// 11 | /// The main entry point for the application. 12 | /// 13 | [STAThread] 14 | static void Main() 15 | { 16 | Application.EnableVisualStyles(); 17 | Application.SetCompatibleTextRenderingDefault(false); 18 | Application.Run(new LEDMixer()); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/DualRole/ClassDriver/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build all the LUFA Dual Role Demos. Call with "make all" to 10 | # rebuild all Dual Role demos. 11 | 12 | # Projects are pre-cleaned before each one is built, to ensure any 13 | # custom LUFA library build options are reflected in the compiled 14 | # code. 15 | 16 | all: 17 | $(MAKE) -C MouseHostDevice clean 18 | $(MAKE) -C MouseHostDevice all 19 | 20 | %: 21 | $(MAKE) -C MouseHostDevice $@ 22 | 23 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/TempDataLogger/TempLogHostApp/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Windows.Forms; 5 | 6 | namespace Project1HostApp 7 | { 8 | static class Program 9 | { 10 | /// 11 | /// The main entry point for the application. 12 | /// 13 | [STAThread] 14 | static void Main() 15 | { 16 | Application.EnableVisualStyles(); 17 | Application.SetCompatibleTextRenderingDefault(false); 18 | Application.Run(new frmDataloggerSettings()); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /sw/rfp/main.cpp: -------------------------------------------------------------------------------- 1 | #include "hw.h" 2 | #include "ui.h" 3 | 4 | #include "usb_serial.h" 5 | 6 | int main (int argc, char **argv) 7 | { 8 | /* Disable watchdog if enabled by bootloader/fuses */ 9 | MCUSR &= ~(1 << WDRF); 10 | wdt_disable(); 11 | 12 | // Assert pshold to stay powered on 13 | OUTPUT(pshold); 14 | HIGH(pshold); 15 | 16 | // En fast batt charging 17 | OUTPUT(usb_i_sel); 18 | LOW(usb_i_sel); 19 | 20 | // Init UI 21 | ui_setup(); 22 | 23 | // do nothing 24 | while(1) { 25 | // Usb processing 26 | //ser.process(); done on timer 27 | 28 | // Update ui 29 | ui_process(); 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /sw/rfp/timetick.h: -------------------------------------------------------------------------------- 1 | #ifndef _TIMETICK_H_ 2 | #define _TIMETICK_H_ 3 | /* 4 | * Timetick driver - Ticks once every 10 ms. 5 | * Callbacks are synchronous. Do not do any heavy lifting!! Instead post 6 | * an event to the event queue. 7 | * 8 | * Elliot Buller 2012 9 | */ 10 | #include 11 | #include 12 | 13 | // Callback method type 14 | typedef void (*timetick_cb_t)(uint16_t ticks); 15 | 16 | // Timetick public methods 17 | void timetick_init(void); 18 | void timetick_register(timetick_cb_t cb, uint16_t ticks); 19 | void timetick_deregister(timetick_cb_t cb); 20 | uint16_t timetick_getcount(void); 21 | 22 | #endif /* _TIMETICK_H_ */ 23 | -------------------------------------------------------------------------------- /sw/lufa-lib/Bootloaders/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build all the LUFA USB Bootloaders. Call with "make all" to 10 | # rebuild all bootloaders. 11 | 12 | # Bootloaders are pre-cleaned before each one is built, to ensure any 13 | # custom LUFA library build options are reflected in the compiled 14 | # code. 15 | 16 | all: 17 | $(MAKE) -C DFU clean 18 | $(MAKE) -C DFU all 19 | 20 | $(MAKE) -C CDC clean 21 | $(MAKE) -C CDC all 22 | 23 | %: 24 | $(MAKE) -C DFU $@ 25 | $(MAKE) -C CDC $@ 26 | 27 | -------------------------------------------------------------------------------- /sw/rfp/evt_handler.h: -------------------------------------------------------------------------------- 1 | #ifndef _EVT_HANDLER_H_ 2 | #define _EVT_HANDLER_H_ 3 | /** 4 | * Event Handler - Pass events to registered handlers until event is handled. 5 | * Last registered handler (system handler) will consume all remaining events. 6 | * Elliot Buller 2012 7 | **/ 8 | #include 9 | #include "system.h" 10 | 11 | typedef uint8_t (*event_notify_cb) (uint8_t event, uint16_t data); 12 | 13 | void evt_handler_init(void); 14 | void evt_handler_addhandler (event_notify_cb cb); 15 | void evt_handler_pophandler (void); 16 | void evt_handler_event (uint8_t event, uint16_t data); 17 | void evt_handler_syncevent (uint8_t event, uint16_t data); 18 | void evt_handler_dispatch (void); 19 | 20 | #endif /* _EVT_HANDLER_H_ */ 21 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/Groups.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** @defgroup Group_BoardDrivers Board Drivers 8 | * 9 | * Functions, macros, variables, enums and types related to the control of physical board hardware. 10 | */ 11 | 12 | /** @defgroup Group_PeripheralDrivers On-chip Peripheral Drivers 13 | * 14 | * Functions, macros, variables, enums and types related to the control of AVR subsystems. 15 | */ 16 | 17 | /** @defgroup Group_MiscDrivers Miscellaneous Drivers 18 | * 19 | * Miscellaneous driver Functions, macros, variables, enums and types. 20 | */ 21 | 22 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Webserver/Lib/uip/clock.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | #include "clock.h" 9 | 10 | //Counted time 11 | volatile clock_time_t clock_datetime = 0; 12 | 13 | //Overflow interrupt 14 | ISR(TIMER1_COMPA_vect) 15 | { 16 | clock_datetime += 1; 17 | } 18 | 19 | //Initialise the clock 20 | void clock_init() 21 | { 22 | OCR1A = ((F_CPU / 1024) / 100); 23 | TCCR1B = ((1 << WGM12) | (1 << CS12) | (1 << CS10)); 24 | TIMSK1 = (1 << OCIE1A); 25 | } 26 | 27 | //Return time 28 | clock_time_t clock_time() 29 | { 30 | clock_time_t time; 31 | 32 | ATOMIC_BLOCK(ATOMIC_FORCEON) 33 | { 34 | time = clock_datetime; 35 | } 36 | 37 | return time; 38 | } 39 | 40 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/AudioInput/.dep/Events.o.d: -------------------------------------------------------------------------------- 1 | ../../../../LUFA/Drivers/USB/HighLevel/Events.o: \ 2 | ../../../../LUFA/Drivers/USB/HighLevel/Events.c \ 3 | ../../../../LUFA/Drivers/USB/HighLevel/Events.h \ 4 | ../../../../LUFA/Drivers/USB/HighLevel/../../../Common/Common.h \ 5 | ../../../../LUFA/Drivers/USB/HighLevel/../../../Common/Attributes.h \ 6 | ../../../../LUFA/Drivers/USB/HighLevel/../../../Common/BoardTypes.h \ 7 | ../../../../LUFA/Drivers/USB/HighLevel/USBMode.h 8 | 9 | ../../../../LUFA/Drivers/USB/HighLevel/Events.h: 10 | 11 | ../../../../LUFA/Drivers/USB/HighLevel/../../../Common/Common.h: 12 | 13 | ../../../../LUFA/Drivers/USB/HighLevel/../../../Common/Attributes.h: 14 | 15 | ../../../../LUFA/Drivers/USB/HighLevel/../../../Common/BoardTypes.h: 16 | 17 | ../../../../LUFA/Drivers/USB/HighLevel/USBMode.h: 18 | -------------------------------------------------------------------------------- /sw/lufa-lib/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build the LUFA library, projects and demos. 10 | 11 | # Call with "make all" to rebuild everything, "make clean" to clean everything, 12 | # "make clean_list" to remove all intermediatary files but preserve any binaries, 13 | # "make doxygen" to document everything with Doxygen (if installed) and 14 | # "make clean_doxygen" to remove generated Doxygen documentation from everything. 15 | 16 | all: 17 | 18 | %: 19 | @echo Executing \"make $@\" on all LUFA library elements. 20 | @echo 21 | $(MAKE) -C LUFA $@ -s 22 | $(MAKE) -C Demos $@ -s 23 | $(MAKE) -C Projects $@ -s 24 | $(MAKE) -C Bootloaders $@ -s 25 | @echo 26 | @echo LUFA \"make $@\" operation complete. 27 | 28 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/AboutLUFA.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** 8 | * \page Page_AboutLUFA About LUFA 9 | * 10 | * This section of the manual contains information about the library as a whole, including its supported targets, 11 | * past and planned changes, and links to other projects incorporating LUFA. 12 | * 13 | * Subsections: 14 | * \li \subpage Page_DeviceSupport - Current Device and Hardware Support 15 | * \li \subpage Page_Resources - LUFA and USB Related Resources 16 | * \li \subpage Page_ChangeLog - Project Changelog 17 | * \li \subpage Page_FutureChanges - Planned Changes to the Library 18 | * \li \subpage Page_LUFAPoweredProjects - Other Projects Using LUFA 19 | */ 20 | 21 | -------------------------------------------------------------------------------- /sw/common/process_pins.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | # 3 | # Process pins.h and generated _pins.h 4 | # 5 | 6 | 7 | my $input='pins.h'; 8 | my $output='pins_auto.h'; 9 | 10 | open(IN, "<$input") or die $!; 11 | open(OUT, ">$output") or die $!; 12 | 13 | print "Processing $input... "; 14 | # Loop through file to process lines 15 | while () { 16 | chomp($_); 17 | #skip comments 18 | next if (/^\s*\/\/.*/); 19 | # parse pin definitions 20 | if (/^\s*PIN_DEFINE\((\w+),\s*([BCDEF]),\s*(\d)\).+/) { 21 | my $sym = $1; 22 | my $port = $2; 23 | my $num = $3; 24 | 25 | my $template = 26 | "#define ${sym}_PORT\tPORT$port\n" . 27 | "#define ${sym}_PIN\t_BV($num)\n" . 28 | "#define ${sym}_DIR\tDDR$port\n" . 29 | "#define ${sym}_IN\tPIN$port\n"; 30 | print OUT $template; 31 | } 32 | } 33 | 34 | close(IN); 35 | close(OUT); 36 | 37 | print "DONE\n"; 38 | 39 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/TempDataLogger/TempLogHostApp/README.txt: -------------------------------------------------------------------------------- 1 | This library has been tested on Windows Vista 32bit, Windows Vista 64bit, 2 | Windows XP 32bit and Debian (Lenny) AMD64 but should work on any version of 3 | Windows that can run the .NET framework 2.0 and any other operating system 4 | that has both hiddev and Mono. 5 | 6 | Any additions must be tested and work on Windows and Linux, on both 32 and 7 | 64 bit. Windows 64 bit testing is particularly important as it is often 8 | neglected. 9 | 10 | 11 | Hid.Linux.dll was compiled under Linux with Mono (mcs) and uses no generics. 12 | 13 | Hid.Win32.dll and Hid.Net.dll were compiled under Windows with the .NET 14 | Framework v2.0.50727 but are also tested to compile with Mono (gmcs). 15 | 16 | 17 | A good starting point when using this library is Hid.DeviceFactory's Enumerate 18 | methods. 19 | 20 | LogitechMX5000.cs is a simple example of how the library can be used. Other 21 | examples on common devices are welcomed. 22 | 23 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/License.txt: -------------------------------------------------------------------------------- 1 | Permission to use, copy, modify, and distribute this software 2 | and its documentation for any purpose is hereby granted without 3 | fee, provided that the above copyright notice appear in all 4 | copies and that both that the copyright notice and this 5 | permission notice and warranty disclaimer appear in supporting 6 | documentation, and that the name of the author not be used in 7 | advertising or publicity pertaining to distribution of the 8 | software without specific, written prior permission. 9 | 10 | The author disclaim all warranties with regard to this 11 | software, including all implied warranties of merchantability 12 | and fitness. In no event shall the author be liable for any 13 | special, indirect or consequential damages or any damages 14 | whatsoever resulting from loss of use, data or profits, whether 15 | in an action of contract, negligence or other tortious action, 16 | arising out of or in connection with the use or performance of 17 | this software. 18 | 19 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Incomplete/StandaloneProgrammer/Lib/PetiteFATFs/integer.h: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------*/ 2 | /* Integer type definitions for FatFs module */ 3 | /*-------------------------------------------*/ 4 | 5 | #ifndef _INTEGER 6 | 7 | #if 0 8 | #include 9 | #else 10 | 11 | /* These types must be 16-bit, 32-bit or larger integer */ 12 | typedef int INT; 13 | typedef unsigned int UINT; 14 | 15 | /* These types must be 8-bit integer */ 16 | typedef signed char CHAR; 17 | typedef unsigned char UCHAR; 18 | typedef unsigned char BYTE; 19 | 20 | /* These types must be 16-bit integer */ 21 | typedef short SHORT; 22 | typedef unsigned short USHORT; 23 | typedef unsigned short WORD; 24 | typedef unsigned short WCHAR; 25 | 26 | /* These types must be 32-bit integer */ 27 | typedef long LONG; 28 | typedef unsigned long ULONG; 29 | typedef unsigned long DWORD; 30 | 31 | /* Boolean type */ 32 | typedef enum { FALSE = 0, TRUE } BOOL; 33 | 34 | #endif 35 | 36 | #define _INTEGER 37 | #endif 38 | 39 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/DevelopingWithLUFA.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** 8 | * \page Page_DevelopingWithLUFA Developing With LUFA 9 | * 10 | * This section of the manual contains information on LUFA development, such as Getting Started information, 11 | * information on compile-time tuning of the library and other developer-related sections. 12 | * 13 | * Subsections: 14 | * \li \subpage Page_TokenSummary - Summary of Compile Time Tokens 15 | * \li \subpage Page_Migration - Migrating from an Older LUFA Version 16 | * \li \subpage Page_VIDPID - Allocated USB VID and PID Values 17 | * \li \subpage Page_BuildLibrary - Building as a Linkable Library 18 | * \li \subpage Page_WritingBoardDrivers - How to Write Custom Board Drivers 19 | * \li \subpage Page_SoftwareBootloaderStart - How to jump to the bootloader in software 20 | */ 21 | 22 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Webserver/Lib/FATFs/integer.h: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------*/ 2 | /* Integer type definitions for FatFs module */ 3 | /*-------------------------------------------*/ 4 | 5 | #ifndef _INTEGER 6 | #define _INTEGER 7 | 8 | #ifdef _WIN32 /* FatFs development platform */ 9 | 10 | #include 11 | #include 12 | 13 | #else /* Embedded platform */ 14 | 15 | /* These types must be 16-bit, 32-bit or larger integer */ 16 | typedef int INT; 17 | typedef unsigned int UINT; 18 | 19 | /* These types must be 8-bit integer */ 20 | typedef char CHAR; 21 | typedef unsigned char UCHAR; 22 | typedef unsigned char BYTE; 23 | 24 | /* These types must be 16-bit integer */ 25 | typedef short SHORT; 26 | typedef unsigned short USHORT; 27 | typedef unsigned short WORD; 28 | typedef unsigned short WCHAR; 29 | 30 | /* These types must be 32-bit integer */ 31 | typedef long LONG; 32 | typedef unsigned long ULONG; 33 | typedef unsigned long DWORD; 34 | 35 | typedef unsigned char BOOL; 36 | 37 | #endif 38 | 39 | #endif 40 | 41 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/TempDataLogger/Lib/FATFs/integer.h: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------*/ 2 | /* Integer type definitions for FatFs module */ 3 | /*-------------------------------------------*/ 4 | 5 | #ifndef _INTEGER 6 | #define _INTEGER 7 | 8 | #ifdef _WIN32 /* FatFs development platform */ 9 | 10 | #include 11 | #include 12 | 13 | #else /* Embedded platform */ 14 | 15 | /* These types must be 16-bit, 32-bit or larger integer */ 16 | typedef int INT; 17 | typedef unsigned int UINT; 18 | 19 | /* These types must be 8-bit integer */ 20 | typedef char CHAR; 21 | typedef unsigned char UCHAR; 22 | typedef unsigned char BYTE; 23 | 24 | /* These types must be 16-bit integer */ 25 | typedef short SHORT; 26 | typedef unsigned short USHORT; 27 | typedef unsigned short WORD; 28 | typedef unsigned short WCHAR; 29 | 30 | /* These types must be 32-bit integer */ 31 | typedef long LONG; 32 | typedef unsigned long ULONG; 33 | typedef unsigned long DWORD; 34 | 35 | typedef unsigned char BOOL; 36 | 37 | #endif 38 | 39 | #endif 40 | 41 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/LicenseInfo.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** 8 | * \page Page_LicenseInfo Source Code License 9 | * 10 | * The LUFA library is currently released under the MIT license, included below. 11 | * 12 | * Commercial entities can opt out of the public disclosure clause in this license 13 | * for a one-time US$1500 payment. This provides a non-exclusive modified MIT licensed which 14 | * allows for the free use of the LUFA library, bootloaders and (where the sole copyright 15 | * is attributed to Dean Camera) demos without public disclosure within an organization, in 16 | * addition to three free hours of consultation with the library author, and priority support. 17 | * Please visit the Commercial License link on \ref Page_Resources for more information on 18 | * ordering a commercial license for your company. 19 | * 20 | * \verbinclude License.txt 21 | */ 22 | 23 | -------------------------------------------------------------------------------- /sw/rfp/usb_callbacks.c: -------------------------------------------------------------------------------- 1 | #include "usb_vserial.h" 2 | 3 | // defined in usb_desc.c 4 | extern USB_ClassInfo_CDC_Device_t VirtualSerial_CDC_Interface; 5 | 6 | /* 7 | * USB EVENT CALLBACKS 8 | */ 9 | 10 | /** Event handler for the library USB Connection event. */ 11 | void EVENT_USB_Device_Connect(void) 12 | { 13 | //LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING); 14 | } 15 | 16 | /** Event handler for the library USB Disconnection event. */ 17 | void EVENT_USB_Device_Disconnect(void) 18 | { 19 | //LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY); 20 | } 21 | 22 | /** Event handler for the library USB Configuration Changed event. */ 23 | void EVENT_USB_Device_ConfigurationChanged(void) 24 | { 25 | bool ConfigSuccess = true; 26 | 27 | ConfigSuccess &= CDC_Device_ConfigureEndpoints(&VirtualSerial_CDC_Interface); 28 | //LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR); 29 | } 30 | 31 | /** Event handler for the library USB Unhandled Control Request event. */ 32 | void EVENT_USB_Device_UnhandledControlRequest(void) 33 | { 34 | CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface); 35 | } 36 | 37 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Incomplete/StandaloneProgrammer/Lib/PetiteFATFs/diskio.h: -------------------------------------------------------------------------------- 1 | /*----------------------------------------------------------------------- 2 | / PFF - Low level disk interface module include file (C)ChaN, 2010 3 | /-----------------------------------------------------------------------*/ 4 | 5 | #ifndef _DISKIO 6 | 7 | #include "integer.h" 8 | 9 | 10 | /* Status of Disk Functions */ 11 | typedef BYTE DSTATUS; 12 | 13 | 14 | /* Results of Disk Functions */ 15 | typedef enum { 16 | RES_OK = 0, /* 0: Function succeeded */ 17 | RES_ERROR, /* 1: Disk error */ 18 | RES_STRERR, /* 2: Stream error */ 19 | RES_NOTRDY, /* 3: Not ready */ 20 | RES_PARERR /* 4: Invalid parameter */ 21 | } DRESULT; 22 | 23 | 24 | /*---------------------------------------*/ 25 | /* Prototypes for disk control functions */ 26 | 27 | DSTATUS disk_initialize (void); 28 | DRESULT disk_readp (void*, DWORD, WORD, WORD); 29 | 30 | BOOL assign_drives (int argc, char *argv[]); 31 | 32 | #define STA_NOINIT 0x01 /* Drive not initialized */ 33 | #define STA_NODISK 0x02 /* No medium in the drive */ 34 | 35 | #define _DISKIO 36 | #endif 37 | 38 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/HotmailNotifierApp/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:2.0.50727.4927 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace MailNotifier.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/LEDMixerApp/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:2.0.50727.4927 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace LEDMixer.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/CPUUsageApp/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:2.0.50727.4927 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace CPUMonitor.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /sw/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build the LUFA library, projects and demos. 10 | 11 | # Call with "make all" to rebuild everything, "make clean" to clean everything, 12 | # "make clean_list" to remove all intermediatary files but preserve any binaries, 13 | # "make doxygen" to document everything with Doxygen (if installed) and 14 | # "make clean_doxygen" to remove generated Doxygen documentation from everything. 15 | 16 | 17 | all: start bootloader rfp end 18 | 19 | start: 20 | @echo Executing make on all RF Pirate framework. 21 | @echo 22 | 23 | # Must clean LUFA before compile since it gets compiled with different flags 24 | bootloader: 25 | make -C lufa-lib/LUFA clean 26 | make -C bootloader all -s 27 | 28 | # Must clean LUFA before compile since it gets compiled with different flags 29 | rfp: 30 | make -C lufa-lib/LUFA clean 31 | make -C rfp all -s 32 | 33 | end: 34 | @echo 35 | @echo make operation complete. 36 | 37 | clean: 38 | make -C bootloader clean 39 | make -C lufa-lib/LUFA clean 40 | make -C rfp clean 41 | 42 | .PHONY : all start bootloader rfp end clean 43 | 44 | 45 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/Donating.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** 8 | * \page Page_Donating Donating to Support This Project 9 | * 10 | * \image html Author.jpg "Dean Camera, LUFA Developer" 11 | * 12 | * I am a 21 year old University student studying for a double degree in Computer Science and Electronics Engineering. 13 | * The development and support of this library requires much effort from myself, as I am the sole developer, maintainer 14 | * and supporter. Please consider donating a small amount to support this and my future Open Source projects - All 15 | * donations are greatly appreciated. 16 | * 17 | * Note that commercial entities can remove the attribution portion of the LUFA license by a one-time fee - see 18 | * \ref Page_LicenseInfo for more details (Note: Please do NOT pay this in advance through the donation link below - 19 | * contact author for payment details.). 20 | * 21 | * \image html "http://www.pledgie.com/campaigns/6927.png?skin_name=chrome" 22 | * Donate to this project via PayPal - Thanks in Advance! 23 | */ 24 | 25 | -------------------------------------------------------------------------------- /sw/common/hw.h: -------------------------------------------------------------------------------- 1 | #ifndef _HW_H_ 2 | #define _HW_H_ 3 | /** 4 | * Board level definitions of the hardware and various pins/peripherals 5 | * Elliot Buller 2012 6 | **/ 7 | 8 | // Include core avr headers 9 | #include 10 | #include 11 | #include 12 | 13 | // Tried to recursively define preprocessors but gcc preproc doesn't like 14 | // that. ;( Instead we preprocess pins.h in perl to produce pins_auto.h 15 | //#define PIN_DEFINE(name,port,pin) #define name##_PORT PORT##port 16 | // #define name##_PIN _BV(pin) 17 | // #define name##_DIR DDR##port 18 | 19 | // Pin definitions 20 | // DON'T EDIT pins_auto.h or include it in any file!! 21 | // It is autogenerated, instead change pins.h and rerun 22 | // process_pins.pl or make. 23 | #include "pins_auto.h" 24 | 25 | // Pin accessors 26 | #define OUTPUT(name) name##_DIR |= name##_PIN 27 | #define INPUT(name) name##_DIR &= ~name##_PIN 28 | #define HIGH(name) name##_PORT |= name##_PIN 29 | #define LOW(name) name##_PORT &= ~name##_PIN 30 | #define TOGGLE(name) name##_PORT ^= name##_PIN 31 | #define READ(name) (name##_IN & name##_PIN) 32 | 33 | #endif /* _HW_H_ */ 34 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | RF Pirate project 2 | Elliot Buller 2011-2012 3 | 4 | This project is based on a atmega32u4 microcontroller connected to the 5 | silabs 4432 ISM transceiver. There is also a 128 x 64 oled display ssd1306 6 | and a microsd card. 7 | 8 | The intention is to have a very low-cost platform to experiment with various 9 | radio protocols. The Si4432 is capable of OOK, FSK and GFSK. With minor front 10 | end tuning it should be possible to communicate with many low speed RF 11 | protocols. 12 | 13 | Please note: All files under sw/lufa-lib, and sw/bootloader are owned by the very talented Dean Camera. Please see for licensing information (http://www.fourwalledcubicle.com). 14 | 15 | All other hardware schematics, gerbers, software is licensed under creative commons (by-nc-sa). For more information read LICENSE or download it from http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode. 16 | 17 | Above all I hope people can use and improve this in ways I never intended! 18 | 19 | 20 | Programming with bus pirate 21 | =========================== 22 | 23 | RF pirate connector 24 | ------------------- 25 | 26 | 3.3 mosi gnd 27 | o o o 28 | o o o 29 | miso sck rst 30 | --------- <= board edge 31 | 32 | Bus pirate v3 33 | ------------- 34 | gnd = black 35 | 3.3 = white 36 | mosi = orange 37 | miso = brown 38 | sck = yellow 39 | cs (rst) = red 40 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_R.c: -------------------------------------------------------------------------------- 1 | uint8_t TEMPLATE_FUNC_NAME (void* Buffer, 2 | uint16_t Length) 3 | { 4 | uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length)); 5 | 6 | if (!(Length)) 7 | Endpoint_ClearOUT(); 8 | 9 | while (Length) 10 | { 11 | uint8_t USB_DeviceState_LCL = USB_DeviceState; 12 | 13 | if (USB_DeviceState_LCL == DEVICE_STATE_Unattached) 14 | return ENDPOINT_RWCSTREAM_DeviceDisconnected; 15 | else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended) 16 | return ENDPOINT_RWCSTREAM_BusSuspended; 17 | else if (Endpoint_IsSETUPReceived()) 18 | return ENDPOINT_RWCSTREAM_HostAborted; 19 | 20 | if (Endpoint_IsOUTReceived()) 21 | { 22 | while (Length && Endpoint_BytesInEndpoint()) 23 | { 24 | TEMPLATE_TRANSFER_BYTE(DataStream); 25 | Length--; 26 | } 27 | 28 | Endpoint_ClearOUT(); 29 | } 30 | } 31 | 32 | while (!(Endpoint_IsINReady())) 33 | { 34 | uint8_t USB_DeviceState_LCL = USB_DeviceState; 35 | 36 | if (USB_DeviceState_LCL == DEVICE_STATE_Unattached) 37 | return ENDPOINT_RWCSTREAM_DeviceDisconnected; 38 | else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended) 39 | return ENDPOINT_RWCSTREAM_BusSuspended; 40 | } 41 | 42 | return ENDPOINT_RWCSTREAM_NoError; 43 | } 44 | 45 | 46 | #undef TEMPLATE_BUFFER_OFFSET 47 | #undef TEMPLATE_FUNC_NAME 48 | #undef TEMPLATE_TRANSFER_BYTE 49 | -------------------------------------------------------------------------------- /sw/rfp/system.h: -------------------------------------------------------------------------------- 1 | #ifndef _SYSTEM_H_ 2 | #define _SYSTEM_H_ 3 | /** 4 | * System definitions 5 | * Elliot Buller 2012 6 | **/ 7 | 8 | // Keycodes 9 | #define KEY_UP 0x80 10 | #define KEY_DOWN 0x81 11 | #define KEY_LEFT 0x82 12 | #define KEY_RIGHT 0x83 13 | #define KEY_SELECT 0x84 14 | 15 | // System events 16 | #define EVENT_KEYPRESS 0x10 17 | #define EVENT_VBATT 0x11 18 | #define EVENT_SD_DET 0x12 19 | #define EVENT_SD_RMV 0x13 20 | #define EVENT_ICON_UPDT 0x14 21 | 22 | // App events 23 | #define EVENT_APP_START 0x20 24 | #define EVENT_APP_STOP 0x21 25 | 26 | // Serial events 27 | #define EVENT_SERIAL_RECV 0x30 28 | 29 | // RF IRQ events 30 | #define EVENT_ISR_FIFO_UNDOVR 0x40 31 | #define EVENT_ISR_FIFO_TXHI 0x41 32 | #define EVENT_ISR_FIFO_TXLO 0x42 33 | #define EVENT_ISR_FIFO_RXHI 0x43 34 | #define EVENT_ISR_EXT_INTEN 0x44 35 | #define EVENT_ISR_PKT_SENT 0x45 36 | #define EVENT_ISR_PKT_RCVD 0x46 37 | #define EVENT_ISR_CRC_ERR 0x47 38 | #define EVENT_ISR_SYNC_DET 0x48 39 | #define EVENT_ISR_VAL_PRM_DET 0x49 40 | #define EVENT_ISR_INV_PRM_DET 0x4A 41 | #define EVENT_ISR_RSSI 0x4B 42 | #define EVENT_ISR_WAKE_TMR 0x4C 43 | #define EVENT_ISR_LOW_BATT 0x4D 44 | #define EVENT_ISR_XTAL_RDY 0x4E 45 | #define EVENT_ISR_POR_EN 0x4F 46 | 47 | #endif /* _EVENTS_H_ */ 48 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/BuildingLinkableLibraries.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \page Page_BuildLibrary Building as a Linkable Library 8 | * 9 | * The LUFA library can be built as a proper linkable library (with the extention .a) under AVR-GCC, so that 10 | * the library does not need to be recompiled with each revision of a user project. Instructions for creating 11 | * a library from a given source tree can be found in the AVR-GCC user manual included in the WinAVR install 12 | * /Docs/ directory. 13 | * 14 | * However, building the library is not recommended, as the static (compile-time) options will be 15 | * unable to be changed without a recompilation of the LUFA code. Therefore, if the library is to be built 16 | * from the LUFA source, it should be made to be application-specific and compiled with the static options 17 | * that are required for each project (which should be recorded along with the library). 18 | * 19 | * Normal library use has the library components compiled in at the same point as the application code, as 20 | * demonstrated in the library demos and applications. This is the preferred method, as the library is recompiled 21 | * each time to ensure that all static options for a particular application are applied. 22 | */ 23 | 24 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/Drivers/USB/HighLevel/Events.c: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | #define __INCLUDE_FROM_EVENTS_C 32 | #define __INCLUDE_FROM_USB_DRIVER 33 | #include "Events.h" 34 | 35 | void USB_Event_Stub(void) 36 | { 37 | 38 | } 39 | 40 | -------------------------------------------------------------------------------- /sw/common/pins.h: -------------------------------------------------------------------------------- 1 | // All pin definitions should be defined here 2 | // This file shall never be #included'd in any source or header 3 | // It get's preprocessed by perl into _pins.h which then is included in hw.h 4 | // All code should include hw.h 5 | 6 | 7 | // Tried to recursively define preprocessors but gcc preproc doesn't like 8 | // that. ;( Instead we preprocess pins.h in perl to produce pins_auto.h 9 | //#define PIN_DEFINE(name,port,pin) #define name##_PORT PORT##port \ 10 | // #define name##_PIN _BV(pin) \ 11 | // #define name##_DIR DDR##port 12 | 13 | // Port B 14 | PIN_DEFINE(lcd_dc, B, 0); 15 | PIN_DEFINE(spi_sck, B, 1); 16 | PIN_DEFINE(spi_mosi, B, 2); 17 | PIN_DEFINE(spi_miso, B, 3); 18 | PIN_DEFINE(rf_irq, B, 4); 19 | PIN_DEFINE(rf_gpio, B, 5); 20 | PIN_DEFINE(_spare, B, 6); 21 | PIN_DEFINE(lcd_rst, B, 7); 22 | 23 | // Port C 24 | PIN_DEFINE(usb_i_sel, C, 6); 25 | PIN_DEFINE(pshold, C, 7); 26 | 27 | // Port D 28 | PIN_DEFINE(scl, D, 0); 29 | PIN_DEFINE(sda, D, 1); 30 | PIN_DEFINE(rx, D, 2); 31 | PIN_DEFINE(tx, D, 3); 32 | PIN_DEFINE(rf_cs, D, 4); 33 | PIN_DEFINE(xck, D, 5); 34 | PIN_DEFINE(rf_sdn, D, 6); 35 | PIN_DEFINE(lcd_cs, D, 7); 36 | 37 | // Port E 38 | PIN_DEFINE(hwb, E, 2); 39 | PIN_DEFINE(sd_det, E, 6); 40 | 41 | // Port F 42 | PIN_DEFINE(led, F, 0); 43 | PIN_DEFINE(sd_cs, F, 1); 44 | PIN_DEFINE(sd_pwr, F, 4); 45 | PIN_DEFINE(btn1, F, 5); 46 | PIN_DEFINE(btn2, F, 6); 47 | PIN_DEFINE(vbatt, F, 7); 48 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build all the LUFA Projects. Call with "make all" to 10 | # rebuild all projects. 11 | 12 | # Projects are pre-cleaned before each one is built, to ensure any 13 | # custom LUFA library build options are reflected in the compiled 14 | # code. 15 | 16 | all: 17 | $(MAKE) -C AVRISP-MKII clean 18 | $(MAKE) -C AVRISP-MKII all 19 | 20 | $(MAKE) -C Benito clean 21 | $(MAKE) -C Benito all 22 | 23 | $(MAKE) -C LEDNotifier clean 24 | $(MAKE) -C LEDNotifier all 25 | 26 | $(MAKE) -C Magstripe clean 27 | $(MAKE) -C Magstripe all 28 | 29 | $(MAKE) -C MissileLauncher clean 30 | $(MAKE) -C MissileLauncher all 31 | 32 | $(MAKE) -C RelayBoard clean 33 | $(MAKE) -C RelayBoard all 34 | 35 | $(MAKE) -C TempDataLogger clean 36 | $(MAKE) -C TempDataLogger all 37 | 38 | $(MAKE) -C USBtoSerial clean 39 | $(MAKE) -C USBtoSerial all 40 | 41 | $(MAKE) -C Webserver clean 42 | $(MAKE) -C Webserver all 43 | 44 | $(MAKE) -C XPLAINBridge clean 45 | $(MAKE) -C XPLAINBridge all 46 | 47 | %: 48 | $(MAKE) -C AVRISP-MKII $@ 49 | $(MAKE) -C Benito $@ 50 | $(MAKE) -C LEDNotifier $@ 51 | $(MAKE) -C Magstripe $@ 52 | $(MAKE) -C MissileLauncher $@ 53 | $(MAKE) -C RelayBoard $@ 54 | $(MAKE) -C TempDataLogger $@ 55 | $(MAKE) -C USBtoSerial $@ 56 | $(MAKE) -C Webserver $@ 57 | $(MAKE) -C XPLAINBridge $@ 58 | 59 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Incomplete/StandaloneProgrammer/Lib/PetiteFATFs/00readme.txt: -------------------------------------------------------------------------------- 1 | Petit FatFs Module Source Files R0.01a (C)ChaN, 2010 2 | 3 | 4 | FILES 5 | 6 | pff.h Common include file for Petit FatFs and application module. 7 | pff.c Petit FatFs module. 8 | diskio.h Common include file for Petit FatFs and disk I/O module. 9 | diskio.c Skeleton of low level disk I/O module. 10 | integer.h Alternative type definitions for integer variables. 11 | 12 | Low level disk I/O module is not included in this archive because the Petit 13 | FatFs module is only a generic file system layer and not depend on any 14 | specific storage device. You have to provide a low level disk I/O module that 15 | written to control your storage device. 16 | 17 | 18 | 19 | AGREEMENTS 20 | 21 | Petit FatFs module is an open source software to implement FAT file system to 22 | small embedded systems. This is a free software and is opened for education, 23 | research and commercial developments under license policy of following trems. 24 | 25 | Copyright (C) 2010, ChaN, all right reserved. 26 | 27 | * The Petit FatFs module is a free software and there is NO WARRANTY. 28 | * No restriction on use. You can use, modify and redistribute it for 29 | personal, non-profit or commercial use UNDER YOUR RESPONSIBILITY. 30 | * Redistributions of source code must retain the above copyright notice. 31 | 32 | 33 | 34 | REVISION HISTORY 35 | 36 | Jun 15, 2010 R0.01a First release (Branched from FatFs R0.07b) 37 | 38 | -------------------------------------------------------------------------------- /sw/rfp/usb_serial.h: -------------------------------------------------------------------------------- 1 | #ifndef _USBSERIAL_H_ 2 | #define _USBSERIAL_H_ 3 | /** 4 | * Virtual serial wrapper over usb. Buffers input and output. 5 | * Wraps around Dean Camera LUFA lib to provide line buffering. 6 | * 7 | * Elliot Buller 2012 8 | */ 9 | #include 10 | #include 11 | 12 | #include "usb_vserial.h" 13 | 14 | // defined in Descriptors.c 15 | extern USB_ClassInfo_CDC_Device_t VirtualSerial_CDC_Interface; 16 | typedef void (*serial_recv_cb)(char *buf, uint8_t len); 17 | 18 | // Used by clients to release buffer after processing 19 | #define RELEASE_BUF(x) (x[0]='\0') 20 | 21 | /** 22 | * Configuration Parameters 23 | */ 24 | #define USB_SERIAL_BUF_SZ 30 25 | #define RX_DEPTH 2 26 | #define TX_DEPTH 5 27 | #define ENABLE_ECHO 28 | 29 | // Receive buffer data structure 30 | typedef struct { 31 | char data[USB_SERIAL_BUF_SZ]; 32 | uint8_t len; 33 | } string_t; 34 | 35 | class UsbSerial { 36 | public: 37 | UsbSerial(void); // constructor 38 | void process(void); // process input and output 39 | void printf(const char *fmt, ...); // buffered printf 40 | 41 | private: 42 | void buffer_rx(char b); 43 | 44 | // Data members 45 | FILE stream; 46 | // Track head/tail of each buffer 47 | uint8_t rx_p, rx_idx; 48 | uint8_t tx_h, tx_t; 49 | // Storage 50 | char tx_q[TX_DEPTH][USB_SERIAL_BUF_SZ]; 51 | string_t rx_q[RX_DEPTH]; 52 | }; 53 | 54 | // Extern global instance for all to use 55 | extern UsbSerial ser; 56 | 57 | #endif /* _USBSERIAL_H_ */ 58 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/LEDMixerApp/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("LEDMixer")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("LEDMixer")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2009")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("335c1112-9aa6-42a0-9765-5cc6deb78c88")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /sw/rfp/Menu.h: -------------------------------------------------------------------------------- 1 | #ifndef _MENU_H_ 2 | #define _MENU_H_ 3 | 4 | #include 5 | #include "MenuEntry.h" 6 | #include "ssd1306.h" 7 | #include "evt_handler.h" 8 | 9 | #define UP_ICON "\x01" // Stored in font map 10 | #define DOWN_ICON "\x02" // Stored in font map 11 | #define DIR_ICON "\x03" // Stored in font map 12 | 13 | #define ICON_DRAW_BIT 0x80 14 | #define ROOT_HEADER "MENU" 15 | #define MAX_MENU_DEPTH 10 16 | 17 | struct menu_save_t { 18 | MenuEntry *menu; 19 | uint8_t flags; 20 | uint8_t num_entries; 21 | struct { 22 | uint8_t evt_hdl_set : 1; 23 | uint8_t selected : 7; 24 | } flag; 25 | }; 26 | 27 | // To be filled in by callback 28 | struct icon_data_t { 29 | uint8_t index; 30 | uint8_t line; 31 | uint8_t x; 32 | }; 33 | 34 | 35 | class Menu { 36 | public: 37 | Menu (MenuEntry *root, ssd1306 *disp, uint8_t lineStart, uint8_t lineEnd); 38 | 39 | // Update the display with current menu 40 | void DrawMenu(void); 41 | void KeyHandler(uint8_t k); 42 | void SetLineStartEnd(uint8_t line_start, uint8_t line_end); 43 | void Enable(uint8_t enable); 44 | 45 | private: 46 | void DrawVisible(MenuEntry *top, uint8_t sel, bool above, bool below); 47 | 48 | // current menu 49 | menu_save_t *cur; 50 | 51 | // Handle to display 52 | ssd1306 *display; 53 | 54 | // Stack to track nested menus 55 | menu_save_t stack[MAX_MENU_DEPTH]; 56 | uint8_t stack_idx; 57 | 58 | // Store start/end line for on screen menu 59 | uint8_t line_start; 60 | uint8_t line_end; 61 | uint8_t visible_lines; 62 | }; 63 | 64 | #endif /* _MENU_H_ */ 65 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/CPUUsageApp/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("CPUMonitor")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("CPUMonitor")] 13 | [assembly: AssemblyCopyright("Copyright © Microsoft 2009")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("3e4a61da-cdde-46de-848b-b5206d225e21")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/HotmailNotifierApp/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("MailNotifier")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Dean Camera")] 12 | [assembly: AssemblyProduct("Mail LED Notifier")] 13 | [assembly: AssemblyCopyright("Public Domain")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("25e10140-cf96-4619-adaa-9010abc62d0a")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/LibraryResources.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** 8 | * \page Page_Resources Library Resources 9 | * 10 | * \section Sec_ProjectPages LUFA Related Webpages 11 | * Project Homepage: http://www.fourwalledcubicle.com/LUFA.php \n 12 | * Author's Website: http://www.fourwalledcubicle.com \n 13 | * Development Blog: http://www.fourwalledcubicle.com/blog \n 14 | * Commercial Licenses: http://fourwalledcubicle.com/PurchaseLUFA.php \n 15 | * 16 | * \section Sec_ProjectHelp Assistance With LUFA 17 | * Discussion Group: http://groups.google.com/group/myusb-support-list \n 18 | * Author's Email: dean [at] fourwalledcubicle [dot] com 19 | * Author's Skype: abcminiuser 20 | * 21 | * \section Sec_InDevelopment Latest In-Development Source Code 22 | * Official Releases, SVN Access, Issue Tracker: http://code.google.com/p/lufa-lib/ \n 23 | * Git Access: http://github.com/abcminiuser/lufa-lib \n 24 | * Mercurial Access: http://bitbucket.org/abcminiuser/lufa-lib \n 25 | * Latest Repository Source Archive: http://github.com/abcminiuser/lufa-lib/archives/master \n 26 | * Commit RSS Feed: http://github.com/feeds/abcminiuser/commits/lufa-lib/master \n 27 | * 28 | * \section Sec_Toolchain AVR Toolchain 29 | * WinAVR Website: http://winavr.sourceforge.net \n 30 | * avr-libc Website: http://www.nongnu.org/avr-libc/ \n 31 | * 32 | * \section Sec_USBResources USB Resources 33 | * USB-IF Website: http://www.usb.org \n 34 | */ 35 | 36 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/Drivers/Peripheral/TWI.c: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (C) Dean Camera, 2010. 3 | 4 | dean [at] fourwalledcubicle [dot] com 5 | www.fourwalledcubicle.com 6 | */ 7 | 8 | #include "TWI.h" 9 | 10 | bool TWI_StartTransmission(const uint8_t SlaveAddress, 11 | const uint8_t TimeoutMS) 12 | { 13 | for (;;) 14 | { 15 | bool BusCaptured = false; 16 | uint16_t TimeoutRemaining; 17 | 18 | TWCR = ((1 << TWINT) | (1 << TWSTA) | (1 << TWEN)); 19 | 20 | TimeoutRemaining = (TimeoutMS * 100); 21 | while (TimeoutRemaining-- && !(BusCaptured)) 22 | { 23 | if (TWCR & (1 << TWINT)) 24 | { 25 | switch (TWSR & TW_STATUS_MASK) 26 | { 27 | case TW_START: 28 | case TW_REP_START: 29 | BusCaptured = true; 30 | break; 31 | case TW_MT_ARB_LOST: 32 | TWCR = ((1 << TWINT) | (1 << TWSTA) | (1 << TWEN)); 33 | continue; 34 | default: 35 | TWCR = (1 << TWEN); 36 | return false; 37 | } 38 | } 39 | 40 | _delay_us(10); 41 | } 42 | 43 | if (!(BusCaptured)) 44 | { 45 | TWCR = (1 << TWEN); 46 | return false; 47 | } 48 | 49 | TWDR = SlaveAddress; 50 | TWCR = ((1 << TWINT) | (1 << TWEN)); 51 | 52 | TimeoutRemaining = (TimeoutMS * 100); 53 | while (TimeoutRemaining--) 54 | { 55 | if (TWCR & (1 << TWINT)) 56 | break; 57 | 58 | _delay_us(10); 59 | } 60 | 61 | if (!(TimeoutRemaining)) 62 | return false; 63 | 64 | switch (TWSR & TW_STATUS_MASK) 65 | { 66 | case TW_MT_SLA_ACK: 67 | case TW_MR_SLA_ACK: 68 | return true; 69 | default: 70 | TWCR = ((1 << TWINT) | (1 << TWSTO) | (1 << TWEN)); 71 | return false; 72 | } 73 | } 74 | } 75 | 76 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/RNDISEthernet/LUFA RNDIS.inf: -------------------------------------------------------------------------------- 1 | ; Windows LUFA RNDIS Setup File 2 | ; Copyright (c) 2000 Microsoft Corporation 3 | 4 | [Version] 5 | Signature = "$Windows NT$" 6 | Class = Net 7 | ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318} 8 | Provider = %COMPANY% 9 | DriverVer = 06/21/2006,6.0.6000.16384 10 | ;CatalogFile = device.cat 11 | 12 | [Manufacturer] 13 | %COMPANY% = RndisDevices,NTx86,NTamd64,NTia64 14 | 15 | ; Decoration for x86 architecture 16 | [RndisDevices.NTx86] 17 | %RNDISDEV% = RNDIS.NT.5.1, USB\VID_03EB&PID_204C 18 | 19 | ; Decoration for x64 architecture 20 | [RndisDevices.NTamd64] 21 | %RNDISDEV% = RNDIS.NT.5.1, USB\VID_03EB&PID_204C 22 | 23 | ; Decoration for ia64 architecture 24 | [RndisDevices.NTia64] 25 | %RNDISDEV% = RNDIS.NT.5.1, USB\VID_03EB&PID_204C 26 | 27 | ;@@@ This is the common setting for setup 28 | [ControlFlags] 29 | ExcludeFromSelect=* 30 | 31 | ; DDInstall section 32 | ; References the in-build Netrndis.inf 33 | [RNDIS.NT.5.1] 34 | Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI 35 | BusType = 15 36 | ; NEVER REMOVE THE FOLLOWING REFERENCE FOR NETRNDIS.INF 37 | include = netrndis.inf 38 | needs = Usb_Rndis.ndi 39 | AddReg = Rndis_AddReg_Vista 40 | 41 | ; DDInstal.Services section 42 | [RNDIS.NT.5.1.Services] 43 | include = netrndis.inf 44 | needs = Usb_Rndis.ndi.Services 45 | 46 | ; No sys copyfiles - the sys files are already in-build 47 | ; (part of the operating system). 48 | 49 | ; Modify these strings for your device as needed. 50 | [Strings] 51 | COMPANY="LUFA Library" 52 | RNDISDEV="LUFA USB RNDIS Demo" -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/RNDISEthernet/LUFA RNDIS.inf: -------------------------------------------------------------------------------- 1 | ; Windows LUFA RNDIS Setup File 2 | ; Copyright (c) 2000 Microsoft Corporation 3 | 4 | [Version] 5 | Signature = "$Windows NT$" 6 | Class = Net 7 | ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318} 8 | Provider = %COMPANY% 9 | DriverVer = 06/21/2006,6.0.6000.16384 10 | ;CatalogFile = device.cat 11 | 12 | [Manufacturer] 13 | %COMPANY% = RndisDevices,NTx86,NTamd64,NTia64 14 | 15 | ; Decoration for x86 architecture 16 | [RndisDevices.NTx86] 17 | %RNDISDEV% = RNDIS.NT.5.1, USB\VID_03EB&PID_204C 18 | 19 | ; Decoration for x64 architecture 20 | [RndisDevices.NTamd64] 21 | %RNDISDEV% = RNDIS.NT.5.1, USB\VID_03EB&PID_204C 22 | 23 | ; Decoration for ia64 architecture 24 | [RndisDevices.NTia64] 25 | %RNDISDEV% = RNDIS.NT.5.1, USB\VID_03EB&PID_204C 26 | 27 | ;@@@ This is the common setting for setup 28 | [ControlFlags] 29 | ExcludeFromSelect=* 30 | 31 | ; DDInstall section 32 | ; References the in-build Netrndis.inf 33 | [RNDIS.NT.5.1] 34 | Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI 35 | BusType = 15 36 | ; NEVER REMOVE THE FOLLOWING REFERENCE FOR NETRNDIS.INF 37 | include = netrndis.inf 38 | needs = Usb_Rndis.ndi 39 | AddReg = Rndis_AddReg_Vista 40 | 41 | ; DDInstal.Services section 42 | [RNDIS.NT.5.1.Services] 43 | include = netrndis.inf 44 | needs = Usb_Rndis.ndi.Services 45 | 46 | ; No sys copyfiles - the sys files are already in-build 47 | ; (part of the operating system). 48 | 49 | ; Modify these strings for your device as needed. 50 | [Strings] 51 | COMPANY="LUFA Library" 52 | RNDISDEV="LUFA USB RNDIS Demo" -------------------------------------------------------------------------------- /sw/TODO: -------------------------------------------------------------------------------- 1 | - Make Display base class and make SSD1306 static. 2 | - Create event queue and make dispatch async. 3 | - Dispatch from UI::Process() 4 | - Make Timetick take fns as well as objects to simplify simple delay use case 5 | 6 | - make icon id dynamic (so apps can register/remove them) 7 | - add deregister for icons 8 | - add deregister for timetick events. 9 | 10 | - Make timetick, keypad, blink, SD, EventHandler?, Menu? 11 | c libs (not cpp classes). 12 | 13 | - Make SSD1306 static (will this work with simulator??). 14 | 15 | Architecture 16 | ------------ 17 | MenuEntry branch types MAY contain event handlers. 18 | When this type if traverse in menu. Handler gets called with APP_START event. 19 | This is where icons can be registered, lcd_start/stop lines can be set, 20 | and any other setup that needs to be done. 21 | 22 | After that point all events will funnel through apps eventhandler instead of 23 | system event handler. If the app event handler wishes not to handle an event 24 | they simply must return false and it will get handled by the handler below it 25 | (or system handler if nothing else). It is advised that the app not handle 26 | key events or the menu will stop functioning. 27 | 28 | When the menu is traversed back past the "app" entry then the app will receive 29 | an APP_STOP event and the event handler will be popped off the list. This 30 | makes it possible to embed multiple event handlers if necessary. 31 | 32 | The system event handler will handle or discard any events that do not otherwise 33 | get handled. 34 | 35 | 36 | 37 | // icon strategy 38 | register icon id/callback 39 | draw_icons where they should go (idx, line, x, width) 40 | display() will call cb() to get bitmap -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Incomplete/StandaloneProgrammer/Lib/ProgrammerConfig.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | #ifndef _PROGRAMMER_CONFIG_H_ 32 | #define _PROGRAMMER_CONFIG_H_ 33 | 34 | /* Includes: */ 35 | #include 36 | #include 37 | #include 38 | 39 | #include "../StandaloneProgrammer.h" 40 | 41 | /* Function Prototypes: */ 42 | bool ProgrammerConfig_ProcessConfiguration(void); 43 | 44 | #endif 45 | 46 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build all the LUFA Device Demos. Call with "make all" to 10 | # rebuild all Device demos. 11 | 12 | # Projects are pre-cleaned before each one is built, to ensure any 13 | # custom LUFA library build options are reflected in the compiled 14 | # code. 15 | 16 | all: 17 | $(MAKE) -C AudioInput clean 18 | $(MAKE) -C AudioInput all 19 | 20 | $(MAKE) -C AudioOutput clean 21 | $(MAKE) -C AudioOutput all 22 | 23 | $(MAKE) -C DualVirtualSerial clean 24 | $(MAKE) -C DualVirtualSerial all 25 | 26 | $(MAKE) -C GenericHID clean 27 | $(MAKE) -C GenericHID all 28 | 29 | $(MAKE) -C Joystick clean 30 | $(MAKE) -C Joystick all 31 | 32 | $(MAKE) -C Keyboard clean 33 | $(MAKE) -C Keyboard all 34 | 35 | $(MAKE) -C KeyboardMouse clean 36 | $(MAKE) -C KeyboardMouse all 37 | 38 | $(MAKE) -C MassStorage clean 39 | $(MAKE) -C MassStorage all 40 | 41 | $(MAKE) -C MIDI clean 42 | $(MAKE) -C MIDI all 43 | 44 | $(MAKE) -C Mouse clean 45 | $(MAKE) -C Mouse all 46 | 47 | $(MAKE) -C RNDISEthernet clean 48 | $(MAKE) -C RNDISEthernet all 49 | 50 | $(MAKE) -C VirtualSerial clean 51 | $(MAKE) -C VirtualSerial all 52 | 53 | %: 54 | $(MAKE) -C AudioInput $@ 55 | $(MAKE) -C AudioOutput $@ 56 | $(MAKE) -C DualVirtualSerial $@ 57 | $(MAKE) -C GenericHID $@ 58 | $(MAKE) -C Joystick $@ 59 | $(MAKE) -C Keyboard $@ 60 | $(MAKE) -C KeyboardMouse $@ 61 | $(MAKE) -C MassStorage $@ 62 | $(MAKE) -C MIDI $@ 63 | $(MAKE) -C Mouse $@ 64 | $(MAKE) -C RNDISEthernet $@ 65 | $(MAKE) -C VirtualSerial $@ 66 | 67 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build all the LUFA Host Demos. Call with "make all" to 10 | # rebuild all Host demos. 11 | 12 | # Projects are pre-cleaned before each one is built, to ensure any 13 | # custom LUFA library build options are reflected in the compiled 14 | # code. 15 | 16 | all: 17 | $(MAKE) -C JoystickHostWithParser clean 18 | $(MAKE) -C JoystickHostWithParser all 19 | 20 | $(MAKE) -C KeyboardHost clean 21 | $(MAKE) -C KeyboardHost all 22 | 23 | $(MAKE) -C KeyboardHostWithParser clean 24 | $(MAKE) -C KeyboardHostWithParser all 25 | 26 | $(MAKE) -C MassStorageHost clean 27 | $(MAKE) -C MassStorageHost all 28 | 29 | $(MAKE) -C MIDIHost clean 30 | $(MAKE) -C MIDIHost all 31 | 32 | $(MAKE) -C MouseHost clean 33 | $(MAKE) -C MouseHost all 34 | 35 | $(MAKE) -C MouseHostWithParser clean 36 | $(MAKE) -C MouseHostWithParser all 37 | 38 | $(MAKE) -C PrinterHost clean 39 | $(MAKE) -C PrinterHost all 40 | 41 | $(MAKE) -C RNDISEthernetHost clean 42 | $(MAKE) -C RNDISEthernetHost all 43 | 44 | $(MAKE) -C StillImageHost clean 45 | $(MAKE) -C StillImageHost all 46 | 47 | $(MAKE) -C VirtualSerialHost clean 48 | $(MAKE) -C VirtualSerialHost all 49 | 50 | %: 51 | $(MAKE) -C JoystickHostWithParser $@ 52 | $(MAKE) -C KeyboardHost $@ 53 | $(MAKE) -C KeyboardHostWithParser $@ 54 | $(MAKE) -C MassStorageHost $@ 55 | $(MAKE) -C MIDIHost $@ 56 | $(MAKE) -C MouseHost $@ 57 | $(MAKE) -C MouseHostWithParser $@ 58 | $(MAKE) -C PrinterHost $@ 59 | $(MAKE) -C RNDISEthernetHost $@ 60 | $(MAKE) -C StillImageHost $@ 61 | $(MAKE) -C VirtualSerialHost $@ 62 | 63 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build all the LUFA Host Demos. Call with "make all" to 10 | # rebuild all Host demos. 11 | 12 | # Projects are pre-cleaned before each one is built, to ensure any 13 | # custom LUFA library build options are reflected in the compiled 14 | # code. 15 | 16 | all: 17 | $(MAKE) -C GenericHIDHost clean 18 | $(MAKE) -C GenericHIDHost all 19 | 20 | $(MAKE) -C JoystickHostWithParser clean 21 | $(MAKE) -C JoystickHostWithParser all 22 | 23 | $(MAKE) -C KeyboardHost clean 24 | $(MAKE) -C KeyboardHost all 25 | 26 | $(MAKE) -C MassStorageHost clean 27 | $(MAKE) -C MassStorageHost all 28 | 29 | $(MAKE) -C MIDIHost clean 30 | $(MAKE) -C MIDIHost all 31 | 32 | $(MAKE) -C MouseHost clean 33 | $(MAKE) -C MouseHost all 34 | 35 | $(MAKE) -C MouseHostWithParser clean 36 | $(MAKE) -C MouseHostWithParser all 37 | 38 | $(MAKE) -C PrinterHost clean 39 | $(MAKE) -C PrinterHost all 40 | 41 | $(MAKE) -C RNDISEthernetHost clean 42 | $(MAKE) -C RNDISEthernetHost all 43 | 44 | $(MAKE) -C StillImageHost clean 45 | $(MAKE) -C StillImageHost all 46 | 47 | $(MAKE) -C VirtualSerialHost clean 48 | $(MAKE) -C VirtualSerialHost all 49 | 50 | %: 51 | $(MAKE) -C GenericHIDHost $@ 52 | $(MAKE) -C JoystickHostWithParser $@ 53 | $(MAKE) -C KeyboardHost $@ 54 | $(MAKE) -C KeyboardHostWithParser $@ 55 | $(MAKE) -C MassStorageHost $@ 56 | $(MAKE) -C MIDIHost $@ 57 | $(MAKE) -C MouseHost $@ 58 | $(MAKE) -C MouseHostWithParser $@ 59 | $(MAKE) -C PrinterHost $@ 60 | $(MAKE) -C RNDISEthernetHost $@ 61 | $(MAKE) -C StillImageHost $@ 62 | $(MAKE) -C VirtualSerialHost $@ 63 | 64 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/Drivers/USB/LowLevel/Device.c: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | #define __INCLUDE_FROM_USB_DRIVER 32 | #include "../HighLevel/USBMode.h" 33 | 34 | #if defined(USB_CAN_BE_DEVICE) 35 | 36 | #include "Device.h" 37 | 38 | void USB_Device_SendRemoteWakeup(void) 39 | { 40 | if (!(USB_Options & USB_OPT_MANUAL_PLL)) 41 | { 42 | USB_PLL_On(); 43 | while (!(USB_PLL_IsReady())); 44 | } 45 | 46 | USB_CLK_Unfreeze(); 47 | 48 | UDCON |= (1 << RMWKUP); 49 | while (!(UDCON & (1 << RMWKUP))); 50 | } 51 | 52 | #endif 53 | 54 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/DeviceSupport.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** 8 | * \page Page_DeviceSupport Device and Hardware Support 9 | * 10 | * Currently supported AVR models: 11 | * - AT90USB82 (USB Device Only) 12 | * - ATMEGA8U2 (USB Device Only) 13 | * - AT90USB162 (USB Device Only) 14 | * - ATMEGA16U2 (USB Device Only) 15 | * - ATMEGA16U4 (USB Device Only) 16 | * - ATMEGA32U2 (USB Device Only) 17 | * - ATMEGA32U4 (USB Device Only) 18 | * - ATMEGA32U6 (USB Device Only) 19 | * - AT90USB646 (USB Device Only) 20 | * - AT90USB647 (USB Host and Device) 21 | * - AT90USB1286 (USB Device Only) 22 | * - AT90USB1287 (USB Host and Device) 23 | * 24 | * Currently supported Atmel boards (see \ref Group_BoardTypes): 25 | * - AT90USBKEY 26 | * - ATAVRUSBRF01 27 | * - EVK527 28 | * - RZUSBSTICK 29 | * - STK525 30 | * - STK526 31 | * - XPLAIN (Both original first revision board, and newer boards with a different Dataflash model) 32 | * 33 | * Currently supported third-party boards (see \ref Group_BoardTypes for makefile BOARD constant names): 34 | * - Fletchtronics Bumble-B (using officially recommended peripheral layout) 35 | * - Tempusdictum Benito 36 | * - MattairTech JM-DB-U2 37 | * - PJRC Teensy (all revisions and versions) 38 | * - Tom's USBTINY-MKII (all revisions and versions) 39 | * - Olimex AVR-USB-162 40 | * - Kernel Concepts USBFOO 41 | * - Linnix UDIP 42 | * - Busware BUI 43 | * - Busware CUL V3 44 | * - Arduino Uno 45 | * - Any Other Custom User Boards (with Board Drivers if desired, see \ref Page_WritingBoardDrivers) 46 | */ 47 | 48 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/GettingStarted.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \page Page_GettingStarted Getting Started 8 | * 9 | * Out of the box, LUFA contains a large number of pre-made class demos for you to test, experiment with and 10 | * ultimately build upon for your own projects. All the demos (where possible) come pre-configured to build and 11 | * run correctly on the AT90USB1287 AVR microcontroller, mounted on the Atmel USBKEY board and running at an 8MHz 12 | * master clock. This is due to two reasons; one, it is the hardware the author possesses, and two, it is the most 13 | * popular Atmel USB demonstration board to date. To learn how to reconfigure, recompile and program the included 14 | * LUFA applications using different settings, see the subsections below. 15 | * 16 | * Most of the included demos in the /Demos/ folder come in both ClassDriver and LowLevel varieties. If you are new 17 | * to LUFA, it is highly recommended that you look at the ClassDriver versions first, which use the pre-made USB 18 | * Class Drivers (\ref Group_USBClassDrivers) to simplify the use of the standard USB classes in user applications. 19 | * 20 | * For an overview of the included library applications, bootloaders and demos, see \ref Page_LibraryApps. 21 | * 22 | * Subsections: 23 | * \li \subpage Page_ConfiguringApps - How to Configure the Included Demos, Projects and Bootloaders 24 | * \li \subpage Page_CompilingApps - How to Compile the Included Demos, Projects and Bootloaders 25 | * \li \subpage Page_ProgrammingApps - How to Program an AVR with the Included Demos, Projects and Bootloaders 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/Drivers/Peripheral/Serial.c: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | #include "Serial.h" 32 | 33 | void Serial_TxString_P(const char* FlashStringPtr) 34 | { 35 | uint8_t CurrByte; 36 | 37 | while ((CurrByte = pgm_read_byte(FlashStringPtr)) != 0x00) 38 | { 39 | Serial_TxByte(CurrByte); 40 | FlashStringPtr++; 41 | } 42 | } 43 | 44 | void Serial_TxString(const char* StringPtr) 45 | { 46 | uint8_t CurrByte; 47 | 48 | while ((CurrByte = *StringPtr) != 0x00) 49 | { 50 | Serial_TxByte(CurrByte); 51 | StringPtr++; 52 | } 53 | } 54 | 55 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_Control_W.c: -------------------------------------------------------------------------------- 1 | uint8_t TEMPLATE_FUNC_NAME (const void* Buffer, 2 | uint16_t Length) 3 | { 4 | uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length)); 5 | bool LastPacketFull = false; 6 | 7 | if (Length > USB_ControlRequest.wLength) 8 | Length = USB_ControlRequest.wLength; 9 | else if (!(Length)) 10 | Endpoint_ClearIN(); 11 | 12 | while (Length || LastPacketFull) 13 | { 14 | uint8_t USB_DeviceState_LCL = USB_DeviceState; 15 | 16 | if (USB_DeviceState_LCL == DEVICE_STATE_Unattached) 17 | return ENDPOINT_RWCSTREAM_DeviceDisconnected; 18 | else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended) 19 | return ENDPOINT_RWCSTREAM_BusSuspended; 20 | else if (Endpoint_IsSETUPReceived()) 21 | return ENDPOINT_RWCSTREAM_HostAborted; 22 | else if (Endpoint_IsOUTReceived()) 23 | break; 24 | 25 | if (Endpoint_IsINReady()) 26 | { 27 | uint16_t BytesInEndpoint = Endpoint_BytesInEndpoint(); 28 | 29 | while (Length && (BytesInEndpoint < USB_ControlEndpointSize)) 30 | { 31 | TEMPLATE_TRANSFER_BYTE(DataStream); 32 | Length--; 33 | BytesInEndpoint++; 34 | } 35 | 36 | LastPacketFull = (BytesInEndpoint == USB_ControlEndpointSize); 37 | Endpoint_ClearIN(); 38 | } 39 | } 40 | 41 | while (!(Endpoint_IsOUTReceived())) 42 | { 43 | uint8_t USB_DeviceState_LCL = USB_DeviceState; 44 | 45 | if (USB_DeviceState_LCL == DEVICE_STATE_Unattached) 46 | return ENDPOINT_RWCSTREAM_DeviceDisconnected; 47 | else if (USB_DeviceState_LCL == DEVICE_STATE_Suspended) 48 | return ENDPOINT_RWCSTREAM_BusSuspended; 49 | } 50 | 51 | return ENDPOINT_RWCSTREAM_NoError; 52 | } 53 | 54 | #undef TEMPLATE_BUFFER_OFFSET 55 | #undef TEMPLATE_FUNC_NAME 56 | #undef TEMPLATE_TRANSFER_BYTE 57 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/Drivers/Peripheral/SerialStream.c: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | #define __INCLUDE_FROM_SERIALSTREAM_C 32 | #include "SerialStream.h" 33 | 34 | FILE USARTStream = FDEV_SETUP_STREAM(SerialStream_TxByte, SerialStream_RxByte, _FDEV_SETUP_RW); 35 | 36 | static int SerialStream_TxByte(char DataByte, 37 | FILE *Stream) 38 | { 39 | (void)Stream; 40 | 41 | Serial_TxByte(DataByte); 42 | return 0; 43 | } 44 | 45 | static int SerialStream_RxByte(FILE *Stream) 46 | { 47 | (void)Stream; 48 | 49 | if (!(Serial_IsCharReceived())) 50 | return _FDEV_EOF; 51 | 52 | return Serial_RxByte(); 53 | } 54 | 55 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Incomplete/StandaloneProgrammer/Lib/PetiteFATFs/diskio.c: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------*/ 2 | /* Low level disk I/O module skeleton for Petit FatFs (C)ChaN, 2010 */ 3 | /*-----------------------------------------------------------------------*/ 4 | 5 | #include "diskio.h" 6 | 7 | #include 8 | #include 9 | #include "../DataflashManager.h" 10 | #include "../../DiskHost.h" 11 | 12 | /*-----------------------------------------------------------------------*/ 13 | /* Initialize Disk Drive */ 14 | /*-----------------------------------------------------------------------*/ 15 | 16 | DSTATUS disk_initialize (void) 17 | { 18 | return RES_OK; 19 | } 20 | 21 | 22 | 23 | /*-----------------------------------------------------------------------*/ 24 | /* Read Partial Sector */ 25 | /*-----------------------------------------------------------------------*/ 26 | 27 | DRESULT disk_readp ( 28 | void* dest, /* Pointer to the destination object */ 29 | DWORD sector, /* Sector number (LBA) */ 30 | WORD sofs, /* Offset in the sector */ 31 | WORD count /* Byte count (bit15:destination) */ 32 | ) 33 | { 34 | DRESULT ErrorCode = RES_OK; 35 | uint8_t BlockTemp[512]; 36 | 37 | if (USB_CurrentMode == USB_MODE_Host) 38 | { 39 | #if defined(USB_CAN_BE_HOST) 40 | if (USB_HostState != HOST_STATE_Configured) 41 | ErrorCode = RES_NOTRDY; 42 | else if (MS_Host_ReadDeviceBlocks(&DiskHost_MS_Interface, 0, sector, 1, 512, BlockTemp)) 43 | ErrorCode = RES_ERROR; 44 | #endif 45 | } 46 | else 47 | { 48 | #if defined(USB_CAN_BE_DEVICE) 49 | DataflashManager_ReadBlocks_RAM(sector, 1, BlockTemp); 50 | #endif 51 | } 52 | 53 | memcpy(dest, &BlockTemp[sofs], count); 54 | 55 | return ErrorCode; 56 | } 57 | 58 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/MIDIHost/MIDIHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage MIDI Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 35 | * 36 | * 37 | * 38 | * 39 | * 40 | *
USB Mode:Host
USB Class:Audio Class Device
USB Subclass:MIDI Subclass
Relevant Standards:USBIF USB MIDI Audio Class Standard
Usable Speeds:Full Speed Mode
41 | * 42 | * \section SSec_Description Project Description: 43 | * 44 | * MIDI host demonstration application. This demo will enumerate an attached USB-MIDI device, and print incoming MIDI note 45 | * on and off messages on any channel to the serial port. Pressing the board joystick will send note on and off messages to 46 | * the attached MIDI device, with the board HWB controlling the note channel. 47 | * 48 | * \section SSec_Options Project Options 49 | * 50 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 51 | * 52 | * 53 | * 54 | * 57 | * 58 | *
55 | * None 56 | *
59 | */ 60 | 61 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/MIDIHost/MIDIHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage MIDI Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 35 | * 36 | * 37 | * 38 | * 39 | * 40 | *
USB Mode:Host
USB Class:Audio Class Device
USB Subclass:MIDI Subclass
Relevant Standards:USBIF USB MIDI Audio Class Standard
Usable Speeds:Full Speed Mode
41 | * 42 | * \section SSec_Description Project Description: 43 | * 44 | * MIDI host demonstration application. This demo will enumerate an attached USB-MIDI device, and print incoming MIDI note 45 | * on and off messages on any channel to the serial port. Pressing the board joystick will send note on and off messages to 46 | * the attached MIDI device, with the board HWB controlling the note channel. 47 | * 48 | * \section SSec_Options Project Options 49 | * 50 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 51 | * 52 | * 53 | * 54 | * 57 | * 58 | *
55 | * None 56 | *
59 | */ 60 | 61 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/GenericHIDHost/GenericHIDHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage Generic HID Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 36 | * 37 | * 38 | * 39 | * 41 | * 42 | *
USB Mode:Host
USB Class:Human Interface Device (HID)
USB Subclass:N/A
Relevant Standards:USBIF HID Specification \n 35 | * USBIF HID Usage Tables
Usable Speeds:Low Speed Mode \n 40 | * Full Speed Mode
43 | * 44 | * \section SSec_Description Project Description: 45 | * 46 | * Generic HID host demonstration application. This gives a simple reference 47 | * application for implementing a Generic HID USB host, for any device implementing 48 | * the HID profile. 49 | * 50 | * Received reports from the attached device are printed to the serial port. 51 | * 52 | * \section SSec_Options Project Options 53 | * 54 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 55 | * 56 | * 57 | * 58 | * 61 | * 62 | *
59 | * None 60 | *
63 | */ 64 | 65 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/makefile: -------------------------------------------------------------------------------- 1 | # 2 | # LUFA Library 3 | # Copyright (C) Dean Camera, 2010. 4 | # 5 | # dean [at] fourwalledcubicle [dot] com 6 | # www.fourwalledcubicle.com 7 | # 8 | 9 | # Makefile to build all the LUFA Device Demos. Call with "make all" to 10 | # rebuild all Device demos. 11 | 12 | # Projects are pre-cleaned before each one is built, to ensure any 13 | # custom LUFA library build options are reflected in the compiled 14 | # code. 15 | 16 | all: 17 | $(MAKE) -C AudioInput clean 18 | $(MAKE) -C AudioInput all 19 | 20 | $(MAKE) -C AudioOutput clean 21 | $(MAKE) -C AudioOutput all 22 | 23 | $(MAKE) -C DualVirtualSerial clean 24 | $(MAKE) -C DualVirtualSerial all 25 | 26 | $(MAKE) -C GenericHID clean 27 | $(MAKE) -C GenericHID all 28 | 29 | $(MAKE) -C Joystick clean 30 | $(MAKE) -C Joystick all 31 | 32 | $(MAKE) -C Keyboard clean 33 | $(MAKE) -C Keyboard all 34 | 35 | $(MAKE) -C KeyboardMouse clean 36 | $(MAKE) -C KeyboardMouse all 37 | 38 | $(MAKE) -C MassStorage clean 39 | $(MAKE) -C MassStorage all 40 | 41 | $(MAKE) -C MassStorageKeyboard clean 42 | $(MAKE) -C MassStorageKeyboard all 43 | 44 | $(MAKE) -C MIDI clean 45 | $(MAKE) -C MIDI all 46 | 47 | $(MAKE) -C Mouse clean 48 | $(MAKE) -C Mouse all 49 | 50 | $(MAKE) -C RNDISEthernet clean 51 | $(MAKE) -C RNDISEthernet all 52 | 53 | $(MAKE) -C VirtualSerial clean 54 | $(MAKE) -C VirtualSerial all 55 | 56 | $(MAKE) -C VirtualSerialMouse clean 57 | $(MAKE) -C VirtualSerialMouse all 58 | 59 | %: 60 | $(MAKE) -C AudioInput $@ 61 | $(MAKE) -C AudioOutput $@ 62 | $(MAKE) -C DualVirtualSerial $@ 63 | $(MAKE) -C GenericHID $@ 64 | $(MAKE) -C Joystick $@ 65 | $(MAKE) -C Keyboard $@ 66 | $(MAKE) -C KeyboardMouse $@ 67 | $(MAKE) -C MassStorage $@ 68 | $(MAKE) -C MassStorageKeyboard $@ 69 | $(MAKE) -C MIDI $@ 70 | $(MAKE) -C Mouse $@ 71 | $(MAKE) -C RNDISEthernet $@ 72 | $(MAKE) -C VirtualSerial $@ 73 | $(MAKE) -C VirtualSerialMouse $@ 74 | 75 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/WritingBoardDrivers.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \page Page_WritingBoardDrivers Writing LUFA Board Drivers 8 | * 9 | * LUFA ships with several basic pre-made board drivers, to control hardware present on the supported board 10 | * hardware - such as Dataflash ICs, LEDs, Joysticks, or other hardware peripherals. When compiling an application 11 | * which makes use of one or more board drivers located in LUFA/Drivers/Board, you must also indicate what board 12 | * hardware you are using in your project makefile. This is done by defining the BOARD macro using the -D switch 13 | * passed to the compiler, with a constant of BOARD_{Name}. For example -DBOARD=BOARD_USBKEY instructs the 14 | * compiler to use the USBKEY board hardware drivers. 15 | * 16 | * If your application does not use *any* board level drivers, you can omit the definition of the BOARD macro. 17 | * However, some users may wish to write their own custom board hardware drivers which are to remain compatible 18 | * with the LUFA hardware API. To do this, the BOARD macro should be defined to the value BOARD_USER. This indicates 19 | * that the board level drivers should be located in a folder named "Board" located inside the application's folder. 20 | * 21 | * When used, the driver stub files located in the LUFA/CodeTemplates/DriverStubs folder should be copied to the user 22 | * Board/ directory, and fleshed out to include the values and code needed to control the custom board hardware. Once 23 | * done, the existing LUFA board level APIs (accessed in the regular LUFA/Drivers/Board/ folder) will redirect to the 24 | * user board drivers, maintaining code compatibility and allowing for a different board to be selected through the 25 | * project makefile with no code changes. 26 | */ 27 | 28 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/MissileLauncher/MissileLauncher.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage David Fletcher's Missile Launcher 8 | * 9 | * \section SSec_Compat Project Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this project. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this project. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 35 | * 36 | * 37 | * 38 | * 39 | * 40 | *
USB Mode:Host
USB Class:Human Interface Device (HID)
USB Subclass:N/A
Relevant Standards:USBIF HID Specification, USBIF HID Usage Tables
Usable Speeds:Low Speed Mode, Full Speed Mode
41 | * 42 | * \section SSec_Description Project Description: 43 | * 44 | * Missile Launcher host. This is a host driver for the popular USB-controller table top toy missile launchers, 45 | * which can typically aim and fire small foam "missiles" from a spring-loaded turret. This project controls the 46 | * launcher via a joystick and button to aim and fire missiles at targets without a PC. 47 | * 48 | * \section SSec_Options Project Options 49 | * 50 | * The following defines can be found in this project, which can control the project behaviour when defined, or changed in value. 51 | * 52 | * 53 | * 54 | * 57 | * 58 | *
55 | * None 56 | *
59 | */ 60 | 61 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/RNDISEthernetHost/RNDISHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage RNDIS Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 35 | * 36 | * 37 | * 38 | * 39 | * 40 | *
USB Mode:Host
USB Class:Communications Device Class (CDC)
USB Subclass:Remote NDIS (Microsoft Proprietary CDC Class Networking Standard)
Relevant Standards:Microsoft RNDIS Specification
Usable Speeds:Full Speed Mode
41 | * 42 | * \section SSec_Description Project Description: 43 | * 44 | * RNDIS host demonstration application. This gives a simple reference 45 | * application for implementing a RNDIS Ethernet host, for USB devices such as 46 | * modems. 47 | * 48 | * This demo will enumerate an attached USB RNDIS device, print out its vendor ID 49 | * and any received packets in raw form through the serial USART. 50 | * 51 | * \section SSec_Options Project Options 52 | * 53 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 54 | * 55 | * 56 | * 57 | * 60 | * 61 | *
58 | * None 59 | *
62 | */ 63 | 64 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/RNDISEthernetHost/RNDISEthernetHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage RNDIS Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 35 | * 36 | * 37 | * 38 | * 39 | * 40 | *
USB Mode:Host
USB Class:Communications Device Class (CDC)
USB Subclass:Remote NDIS (Microsoft Proprietary CDC Class Networking Standard)
Relevant Standards:Microsoft RNDIS Specification
Usable Speeds:Full Speed Mode
41 | * 42 | * \section SSec_Description Project Description: 43 | * 44 | * RNDIS host demonstration application. This gives a simple reference 45 | * application for implementing a RNDIS Ethernet host, for USB devices such as 46 | * modems. 47 | * 48 | * This demo will enumerate an attached USB RNDIS device, print out its vendor ID 49 | * and any received packets in raw form through the serial USART. 50 | * 51 | * \section SSec_Options Project Options 52 | * 53 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 54 | * 55 | * 56 | * 57 | * 60 | * 61 | *
58 | * None 59 | *
62 | */ 63 | 64 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/RNDISEthernet/Lib/Webserver.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * Header file for Webserver.c. 34 | */ 35 | 36 | #ifndef _WEBSERVER_H_ 37 | #define _WEBSERVER_H_ 38 | 39 | /* Includes: */ 40 | #include 41 | #include 42 | 43 | #include 44 | 45 | #include "TCP.h" 46 | 47 | /* Macros: */ 48 | /** Maximum size of a HTTP response per transmission */ 49 | #define HTTP_REPLY_BLOCK_SIZE 128 50 | 51 | /* Function Prototypes: */ 52 | void Webserver_Init(void); 53 | void Webserver_ApplicationCallback(TCP_ConnectionState_t* const ConnectionState, 54 | TCP_ConnectionBuffer_t* const Buffer); 55 | 56 | #endif 57 | 58 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/RNDISEthernet/Lib/Webserver.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * Header file for Webserver.c. 34 | */ 35 | 36 | #ifndef _WEBSERVER_H_ 37 | #define _WEBSERVER_H_ 38 | 39 | /* Includes: */ 40 | #include 41 | #include 42 | 43 | #include 44 | 45 | #include "TCP.h" 46 | 47 | /* Macros: */ 48 | /** Maximum size of a HTTP response per transmission */ 49 | #define HTTP_REPLY_BLOCK_SIZE 128 50 | 51 | /* Function Prototypes: */ 52 | void Webserver_Init(void); 53 | void Webserver_ApplicationCallback(TCP_ConnectionState_t* const ConnectionState, 54 | TCP_ConnectionBuffer_t* const Buffer); 55 | 56 | #endif 57 | 58 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/StillImageHost/StillImageHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage Still Image Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 36 | * 37 | * 38 | * 39 | * 40 | * 41 | *
USB Mode:Host
USB Class:Still Image Device
USB Subclass:N/A
Relevant Standards:USBIF Still Image Class Specification \n 35 | * PIMA 15740 Specification
Usable Speeds:Full Speed Mode
42 | * 43 | * \section SSec_Description Project Description: 44 | * 45 | * Still Image host demonstration application. This gives a simple reference 46 | * application for implementing a Still Image host, for USB devices such as 47 | * digital cameras. 48 | * 49 | * This demo will enumerate an attached USB Still Image device, print out its 50 | * information structure, open a session with the device and finally close the 51 | * session. 52 | * 53 | * \section SSec_Options Project Options 54 | * 55 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 56 | * 57 | * 58 | * 59 | * 62 | * 63 | *
60 | * None 61 | *
64 | */ 65 | 66 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/StillImageHost/StillImageHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage Still Image Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 36 | * 37 | * 38 | * 39 | * 40 | * 41 | *
USB Mode:Host
USB Class:Still Image Device
USB Subclass:N/A
Relevant Standards:USBIF Still Image Class Specification \n 35 | * PIMA 15740 Specification
Usable Speeds:Full Speed Mode
42 | * 43 | * \section SSec_Description Project Description: 44 | * 45 | * Still Image host demonstration application. This gives a simple reference 46 | * application for implementing a Still Image host, for USB devices such as 47 | * digital cameras. 48 | * 49 | * This demo will enumerate an attached USB Still Image device, print out its 50 | * information structure, open a session with the device and finally close the 51 | * session. 52 | * 53 | * \section SSec_Options Project Options 54 | * 55 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 56 | * 57 | * 58 | * 59 | * 62 | * 63 | *
60 | * None 61 | *
64 | */ 65 | 66 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/PrinterHost/PrinterHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage Printer Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 36 | * 37 | * 39 | *
USB Mode:Host
USB Class:Printer Device
USB Subclass:Bidirectional Protocol
Relevant Standards:USBIF Printer Class Specification \n 35 | * PCL Language Specification
Low Speed Mode \n 38 | * Full Speed Mode
40 | * 41 | * \section SSec_Description Project Description: 42 | * 43 | * Printer host demonstration application. This gives a simple reference 44 | * application for implementing a USB Printer host, for USB printers using 45 | * the bidirectional data encapsulation protocol and PCL language. 46 | * 47 | * Upon connection of a compatible printer, the printer's device ID is sent 48 | * to the AVR's serial port, and a simple test page is printed using the PCL 49 | * printer language. 50 | * 51 | * \section SSec_Options Project Options 52 | * 53 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 54 | * 55 | * 56 | * 57 | * 60 | * 61 | *
58 | * None 59 | *
62 | */ 63 | 64 | -------------------------------------------------------------------------------- /sw/rfp/usb_vserial.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * Header file for VirtualSerial.c. 34 | */ 35 | 36 | #ifndef _VIRTUALSERIAL_H_ 37 | #define _VIRTUALSERIAL_H_ 38 | 39 | /* Includes: */ 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | 47 | #include "usb_desc.h" 48 | 49 | #include 50 | #include 51 | #include 52 | 53 | 54 | /* Function Prototypes: */ 55 | void EVENT_USB_Device_Connect(void); 56 | void EVENT_USB_Device_Disconnect(void); 57 | void EVENT_USB_Device_ConfigurationChanged(void); 58 | void EVENT_USB_Device_UnhandledControlRequest(void); 59 | 60 | #endif 61 | 62 | -------------------------------------------------------------------------------- /sw/rfp/timetick.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Timetick driver - Ticks once every 10 ms. 3 | * Callbacks are synchronous. Do not do any heavy lifting!! Instead post 4 | * an event to the event queue. 5 | * 6 | * Elliot Buller 2012 7 | */ 8 | #include 9 | 10 | #include "timetick.h" 11 | #include 12 | #include 13 | 14 | // How many clients can register 15 | #define CLIENT_CNT 5 16 | 17 | // internal struct to track clients 18 | struct client_t { 19 | uint16_t ticks; 20 | timetick_cb_t cb; 21 | }; 22 | 23 | // Private variables 24 | static uint16_t count; 25 | static struct client_t client[CLIENT_CNT]; 26 | 27 | // Compare value for ~10ms 28 | #define CMP_VAL 78 29 | 30 | // Interrupt 31 | ISR(TIMER0_COMPA_vect) { 32 | uint8_t i; 33 | 34 | for (i = 0; i < CLIENT_CNT; i++) { 35 | if (client[i].cb && (count % client[i].ticks == 0)) { 36 | client[i].cb(count); 37 | } 38 | } 39 | count++; 40 | } 41 | 42 | void timetick_init(void) 43 | { 44 | count = 0; 45 | 46 | // Clear on clients 47 | memset (client, 0, sizeof(client)); 48 | 49 | // Setup TIMER0 50 | TCCR0A = 2; // cnt up to OCR0A 51 | TCCR0B = 5; // div 1024 52 | OCR0A = CMP_VAL; // ~10ms 53 | TIMSK0 = 2; // interrupt on OCR0A match 54 | TCNT0 = 0; 55 | sei(); 56 | } 57 | 58 | static struct client_t *find_client (timetick_cb_t cb) 59 | { 60 | uint8_t i; 61 | 62 | for (i = 0; i < CLIENT_CNT; i++) { 63 | if (client[i].cb == cb) 64 | return &client[i]; 65 | } 66 | return NULL; 67 | } 68 | 69 | 70 | void timetick_register(timetick_cb_t cb, uint16_t ticks) 71 | { 72 | struct client_t *c = find_client(NULL); 73 | if (c == NULL) 74 | return; 75 | 76 | c->cb = cb; 77 | c->ticks = ticks; 78 | } 79 | 80 | void timetick_deregister(timetick_cb_t cb) 81 | { 82 | struct client_t *c = find_client(cb); 83 | if (c == NULL) 84 | return; 85 | 86 | c->cb = NULL; 87 | c->ticks = 0; 88 | } 89 | 90 | uint16_t timetick_getcount(void) 91 | { 92 | return count; 93 | } 94 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/LEDNotifier.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * Header file for LEDNotifier.c. 34 | */ 35 | 36 | #ifndef _LEDNOTIFIER_H_ 37 | #define _LEDNOTIFIER_H_ 38 | 39 | /* Includes: */ 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include 45 | #include 46 | 47 | #include "Descriptors.h" 48 | 49 | #include 50 | #include 51 | #include 52 | #include 53 | 54 | /* Function Prototypes: */ 55 | void SetupHardware(void); 56 | 57 | void EVENT_USB_Device_ConfigurationChanged(void); 58 | void EVENT_USB_Device_UnhandledControlRequest(void); 59 | 60 | #endif 61 | 62 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Webserver/USBDeviceMode.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * Header file for USBDeviceMode.c. 34 | */ 35 | 36 | #ifndef _USBDEVICEMODE_H_ 37 | #define _USBDEVICEMODE_H_ 38 | 39 | /* Includes: */ 40 | #include 41 | #include 42 | 43 | #include "Webserver.h" 44 | #include "Descriptors.h" 45 | #include "Lib/SCSI.h" 46 | 47 | /* Function Prototypes: */ 48 | void USBDeviceMode_USBTask(void); 49 | 50 | void EVENT_USB_Device_Connect(void); 51 | void EVENT_USB_Device_Disconnect(void); 52 | void EVENT_USB_Device_ConfigurationChanged(void); 53 | void EVENT_USB_Device_UnhandledControlRequest(void); 54 | 55 | bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo); 56 | 57 | #endif 58 | 59 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/PrinterHost/PrinterHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage Printer Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 36 | * 37 | * 38 | * 39 | * 41 | * 42 | *
USB Mode:Host
USB Class:Printer Device
USB Subclass:Bidirectional Protocol
Relevant Standards:USBIF Printer Class Specification \n 35 | * PCL Language Specification
Usable Speeds:Low Speed Mode \n 40 | * Full Speed Mode
43 | * 44 | * \section SSec_Description Project Description: 45 | * 46 | * Printer host demonstration application. This gives a simple reference 47 | * application for implementing a USB Printer host, for USB printers using 48 | * the bidirectional data encapsulation protocol and PCL language. 49 | * 50 | * Upon connection of a compatible printer, the printer's device ID is sent 51 | * to the AVR's serial port, and a simple test page is printed using the PCL 52 | * printer language. 53 | * 54 | * \section SSec_Options Project Options 55 | * 56 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 57 | * 58 | * 59 | * 60 | * 63 | * 64 | *
61 | * None 62 | *
65 | */ 66 | 67 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/Version.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * \brief LUFA library version constants. 34 | * 35 | * Version constants for informational purposes and version-specific macro creation. This header file contains the 36 | * current LUFA version number in several forms, for use in the user-application (for example, for printing out 37 | * whilst debugging, or for testing for version compatibility). 38 | */ 39 | 40 | #ifndef __LUFA_VERSION_H__ 41 | #define __LUFA_VERSION_H__ 42 | 43 | /* Public Interface - May be used in end-application: */ 44 | /* Macros: */ 45 | /** Indicates the version number of the library, as an integer. */ 46 | #define LUFA_VERSION_INTEGER 0x000000 47 | 48 | /** Indicates the version number of the library, as a string. */ 49 | #define LUFA_VERSION_STRING "XXXXXX" 50 | 51 | #endif 52 | 53 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/StillImageHost/Lib/PIMACodes.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * Header containing macros for possible PIMA commands. Refer to the PIMA standard 34 | * documentation for more information on each PIMA command. 35 | */ 36 | 37 | #ifndef _PIMA_CODES_H_ 38 | 39 | /* Macros: */ 40 | #define PIMA_OPERATION_GETDEVICEINFO 0x1001 41 | #define PIMA_OPERATION_OPENSESSION 0x1002 42 | #define PIMA_OPERATION_CLOSESESSION 0x1003 43 | 44 | #define PIMA_RESPONSE_OK 0x2001 45 | #define PIMA_RESPONSE_GENERALERROR 0x2002 46 | #define PIMA_RESPONSE_SESSIONNOTOPEN 0x2003 47 | #define PIMA_RESPONSE_INVALIDTRANSACTIONID 0x2004 48 | #define PIMA_RESPONSE_OPERATIONNOTSUPPORTED 0x2005 49 | #define PIMA_RESPONSE_PARAMETERNOTSUPPORTED 0x2006 50 | 51 | #endif 52 | 53 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/DualRole/ClassDriver/MouseHostDevice/HostFunctions.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * Header file for HostFunctions.c. 34 | */ 35 | 36 | #ifndef _MOUSE_HOST_FUNCTIONS_H_ 37 | #define _MOUSE_HOST_FUNCTIONS_H_ 38 | 39 | /* Includes: */ 40 | #include "MouseHostDevice.h" 41 | 42 | /* External Variables: */ 43 | extern USB_ClassInfo_HID_Host_t Mouse_HID_Host_Interface; 44 | 45 | /* Function Prototypes: */ 46 | void MouseHostTask(void); 47 | 48 | void EVENT_USB_Host_HostError(const uint8_t ErrorCode); 49 | void EVENT_USB_Host_DeviceAttached(void); 50 | void EVENT_USB_Host_DeviceUnattached(void); 51 | void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode, 52 | const uint8_t SubErrorCode); 53 | void EVENT_USB_Host_DeviceEnumerationComplete(void); 54 | 55 | #endif 56 | 57 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Incomplete/StandaloneProgrammer/DiskHost.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * Header file for DiskHost.c. 34 | */ 35 | 36 | #ifndef _DISK_HOST_H_ 37 | #define _DISK_HOST_H_ 38 | 39 | /* Includes: */ 40 | #include 41 | 42 | #include "Descriptors.h" 43 | #include "StandaloneProgrammer.h" 44 | 45 | #include 46 | #include 47 | #include 48 | 49 | /* External Variables: */ 50 | #if defined(USB_CAN_BE_HOST) 51 | extern USB_ClassInfo_MS_Host_t DiskHost_MS_Interface; 52 | #endif 53 | 54 | /* Function Prototypes: */ 55 | #if defined(USB_CAN_BE_HOST) 56 | void DiskHost_USBTask(void); 57 | 58 | void EVENT_USB_Host_DeviceAttached(void); 59 | void EVENT_USB_Host_DeviceUnattached(void); 60 | #endif 61 | 62 | #endif 63 | 64 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/RNDISEthernet/Lib/ProtocolDecoders.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * Header file for ProtocolDecoders.c. 34 | */ 35 | 36 | #ifndef _PROTOCOL_DECODERS_H_ 37 | #define _PROTOCOL_DECODERS_H_ 38 | 39 | /* Includes: */ 40 | #include 41 | #include 42 | #include 43 | 44 | #include 45 | 46 | #include "EthernetProtocols.h" 47 | #include "Ethernet.h" 48 | 49 | /* Function Prototypes: */ 50 | void DecodeEthernetFrameHeader(void* InDataStart); 51 | void DecodeARPHeader(void* InDataStart); 52 | void DecodeIPHeader(void* InDataStart); 53 | void DecodeICMPHeader(void* InDataStart); 54 | void DecodeTCPHeader(void* InDataStart); 55 | void DecodeUDPHeader(void* InDataStart); 56 | void DecodeDHCPHeader(void* InDataStart); 57 | 58 | #endif 59 | 60 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/Incomplete/Sideshow/Lib/SideshowApplications.c: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | #include "SideshowApplications.h" 32 | 33 | SideShow_Application_t InstalledApplications[MAX_APPLICATIONS]; 34 | 35 | 36 | SideShow_Application_t* SideShow_GetFreeApplication(void) 37 | { 38 | for (uint8_t App = 0; App < ARRAY_ELEMENTS(InstalledApplications); App++) 39 | { 40 | if (!(InstalledApplications[App].InUse)) 41 | return &InstalledApplications[App]; 42 | } 43 | 44 | return NULL; 45 | } 46 | 47 | SideShow_Application_t* SideShow_GetApplicationFromGUID(GUID_t* const GUID) 48 | { 49 | for (uint8_t App = 0; App < ARRAY_ELEMENTS(InstalledApplications); App++) 50 | { 51 | if (InstalledApplications[App].InUse) 52 | { 53 | if (GUID_COMPARE(&InstalledApplications[App].ApplicationID, GUID)) 54 | return &InstalledApplications[App]; 55 | } 56 | } 57 | 58 | return NULL; 59 | } 60 | 61 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/ProgrammingApps.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \page Page_ProgrammingApps Programming an Application into a USB AVR 8 | * 9 | * Once you have built an application, you will need a way to program in the resulting ".HEX" file (and, if your 10 | * application uses EEPROM variables with initial values, also a ".EEP" file) into your USB AVR. Normally, the 11 | * reprogramming of an AVR device must be performed using a special piece of programming hardware, through one of the 12 | * supported AVR programming protocols - ISP, HVSP, HVPP, JTAG or dW. This can be done through a custom programmer, 13 | * a third party programmer, or an official Atmel AVR tool - for more information, see the Atmel.com website. 14 | * 15 | * Alternatively, you can use the bootloader. From the Atmel factory, each USB AVR comes preloaded with the Atmel 16 | * DFU (Device Firmware Update) class bootloader, a small piece of AVR firmware which allows the remainder of the 17 | * AVR to be programmed through a non-standard interface such as the serial USART port, SPI, or (in this case) USB. 18 | * Bootloaders have the advantage of not requiring any special hardware for programming, and cannot usually be erased 19 | * or broken without an external programming device. They have disadvantages however; they cannot change the fuses of 20 | * the AVR (special configuration settings that control the operation of the chip itself) and a small portion of the 21 | * AVR's FLASH program memory must be reserved to contain the bootloader firmware, and thus cannot be used by the 22 | * loaded application. Atmel's DFU bootloader is either 4KB (for the smaller USB AVRs) or 8KB (for the larger USB AVRs). 23 | * 24 | * If you wish to use the DFU bootloader to program in your application, refer to your DFU programmer's documentation. 25 | * Atmel provides a free utility called FLIP which is USB AVR compatible, and an open source (Linux compatible) 26 | * alternative exists called "dfu-programmer". 27 | */ 28 | -------------------------------------------------------------------------------- /sw/rfp/MenuEntry.h: -------------------------------------------------------------------------------- 1 | #ifndef _MENUENTRY_H_ 2 | #define _MENUENTRY_H_ 3 | 4 | #include 5 | #include "evt_handler.h" 6 | 7 | typedef void (*exec_fn)(void); 8 | 9 | /* Helper to export menus */ 10 | #define EXPORT_MENU(x) extern MenuEntry x[] 11 | 12 | /* Types of menu entries */ 13 | #define TYPE_DUMMY 0 14 | #define TYPE_BRANCH 1 15 | #define TYPE_EXEC 2 16 | #define TYPE_DROPDOWN 3 17 | #define TYPE_EVT_HDL 4 18 | 19 | /* Types of dropdown menus */ 20 | #define TYPE_DROP_ENUM 1 /* Enumeration */ 21 | #define TYPE_DROP_NUM 2 /* numeric */ 22 | #define TYPE_DROP_ALPH 3 /* alphanumeric (string) */ 23 | #define TYPE_DROP_8_3 4 /* 8.3 filename (string) */ 24 | 25 | /* Define dropdown menu type */ 26 | typedef struct { 27 | void *data; /* Pointer to data */ 28 | uint16_t min; /* Min for numeric */ 29 | uint16_t max; /* Max for numeric */ 30 | uint8_t len; /* Length for strings */ 31 | uint8_t idx; /* index of string/enum */ 32 | } dropdown_t; 33 | 34 | class MenuEntry { 35 | private: 36 | 37 | public: 38 | /* Text displayed in menu */ 39 | const char *text; 40 | 41 | /* Event handler */ 42 | event_notify_cb evt_handler; 43 | 44 | /* Share data element to save on space */ 45 | union data_t { 46 | MenuEntry *next; 47 | exec_fn exec; 48 | dropdown_t *drop; 49 | } d; 50 | 51 | /* flags */ 52 | struct flag_t { 53 | unsigned char type : 3; 54 | // Add dropdown flags here 55 | unsigned char drop_type : 3; 56 | unsigned char selected : 1; 57 | } flag; 58 | 59 | // Different menu types 60 | MenuEntry (const char *text); 61 | MenuEntry (const char *text, MenuEntry *next); 62 | MenuEntry (const char *text, exec_fn exec); 63 | MenuEntry (const char *text, dropdown_t *d, uint8_t type); 64 | MenuEntry (const char *text, MenuEntry *next, event_notify_cb cb); 65 | 66 | // Dropdown operations 67 | void initialize (); // initialize dropdown on selection 68 | void increment (); // increment dropdown 69 | void decrement (); // decrement dropdown 70 | char *get_text (); // get text to display 71 | }; 72 | 73 | 74 | #endif /* _MENUENTRY_H_ */ 75 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/LEDNotifier.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage USB LED Notifier Project 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - AT90USB646 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 35 | * 36 | * 37 | * 38 | * 39 | * 40 | *
USB Mode:Device
USB Class:Communications Device Class (CDC)
USB Subclass:Abstract Control Model (ACM)
Relevant Standards:USBIF CDC Class Standard
Usable Speeds:Full Speed Mode
41 | * 42 | * \section SSec_Description Project Description: 43 | * 44 | * USB LED Notifier Project. This project is designed for the Busware BUI board, however it can run easily on any 45 | * USB AVR. It is a generic RGB LED controller (via a three channel software PWM) which listens for commands from the 46 | * host on a CDC virtual serial port. When new commands are received, it updates the board LEDs. 47 | * 48 | * This can be controlled with any host application that can write to the virtual serial port, allowing it to become 49 | * a visual notification system for any number of custom host applications, such as a new unread email notifier. 50 | * 51 | * \section SSec_Options Project Options 52 | * 53 | * The following defines can be found in this project, which can control the project behaviour when defined, or changed in value. 54 | * 55 | * 56 | * 57 | * 60 | * 61 | *
58 | * None 59 | *
62 | */ 63 | 64 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/RelayBoard/RelayBoard.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 OBinou (obconseil [at] gmail [dot] com) 11 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 12 | 13 | Permission to use, copy, modify, distribute, and sell this 14 | software and its documentation for any purpose is hereby granted 15 | without fee, provided that the above copyright notice appear in 16 | all copies and that both that the copyright notice and this 17 | permission notice and warranty disclaimer appear in supporting 18 | documentation, and that the name of the author not be used in 19 | advertising or publicity pertaining to distribution of the 20 | software without specific, written prior permission. 21 | 22 | The author disclaim all warranties with regard to this 23 | software, including all implied warranties of merchantability 24 | and fitness. In no event shall the author be liable for any 25 | special, indirect or consequential damages or any damages 26 | whatsoever resulting from loss of use, data or profits, whether 27 | in an action of contract, negligence or other tortious action, 28 | arising out of or in connection with the use or performance of 29 | this software. 30 | */ 31 | 32 | /** \file 33 | * 34 | * Header file for RelayBoard.c. 35 | */ 36 | 37 | #ifndef _RELAYBOARD_H_ 38 | #define _RELAYBOARD_H_ 39 | 40 | /* Includes: */ 41 | #include 42 | #include 43 | #include 44 | #include 45 | 46 | #include "Descriptors.h" 47 | 48 | #include 49 | #include 50 | #include 51 | 52 | /* Macros: */ 53 | #define RELAY1 (1 << 7) 54 | #define RELAY2 (1 << 6) 55 | #define RELAY3 (1 << 5) 56 | #define RELAY4 (1 << 4) 57 | #define ALL_RELAYS (RELAY1|RELAY2|RELAY3|RELAY4) 58 | 59 | /* Function Prototypes: */ 60 | void SetupHardware(void); 61 | 62 | void EVENT_USB_Device_UnhandledControlRequest(void); 63 | 64 | #endif 65 | 66 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/TempDataLogger/Lib/FATFs/diskio.h: -------------------------------------------------------------------------------- 1 | /*----------------------------------------------------------------------- 2 | / Low level disk interface module include file R0.07 (C)ChaN, 2010 3 | /-----------------------------------------------------------------------*/ 4 | 5 | #ifndef _DISKIO 6 | 7 | #define _READONLY 0 /* 1: Read-only mode */ 8 | #define _USE_IOCTL 1 9 | 10 | #include "integer.h" 11 | 12 | #include "../DataflashManager.h" 13 | 14 | 15 | /* Status of Disk Functions */ 16 | typedef BYTE DSTATUS; 17 | 18 | /* Results of Disk Functions */ 19 | typedef enum { 20 | RES_OK = 0, /* 0: Successful */ 21 | RES_ERROR, /* 1: R/W Error */ 22 | RES_WRPRT, /* 2: Write Protected */ 23 | RES_NOTRDY, /* 3: Not Ready */ 24 | RES_PARERR /* 4: Invalid Parameter */ 25 | } DRESULT; 26 | 27 | 28 | /*---------------------------------------*/ 29 | /* Prototypes for disk control functions */ 30 | 31 | BOOL assign_drives (int argc, char *argv[]); 32 | DSTATUS disk_initialize (BYTE); 33 | DSTATUS disk_status (BYTE); 34 | DRESULT disk_read (BYTE, BYTE*, DWORD, BYTE); 35 | #if _READONLY == 0 36 | DRESULT disk_write (BYTE, const BYTE*, DWORD, BYTE); 37 | #endif 38 | DRESULT disk_ioctl (BYTE, BYTE, void*); 39 | 40 | 41 | /* Disk Status Bits (DSTATUS) */ 42 | 43 | #define STA_NOINIT 0x01 /* Drive not initialized */ 44 | #define STA_NODISK 0x02 /* No medium in the drive */ 45 | #define STA_PROTECT 0x04 /* Write protected */ 46 | 47 | 48 | /* Command code for disk_ioctrl() */ 49 | 50 | /* Generic command */ 51 | #define CTRL_SYNC 0 /* Mandatory for write functions */ 52 | #define GET_SECTOR_COUNT 1 /* Mandatory for only f_mkfs() */ 53 | #define GET_SECTOR_SIZE 2 /* Mandatory for multiple sector size cfg */ 54 | #define GET_BLOCK_SIZE 3 /* Mandatory for only f_mkfs() */ 55 | #define CTRL_POWER 4 56 | #define CTRL_LOCK 5 57 | #define CTRL_EJECT 6 58 | /* MMC/SDC command */ 59 | #define MMC_GET_TYPE 10 60 | #define MMC_GET_CSD 11 61 | #define MMC_GET_CID 12 62 | #define MMC_GET_OCR 13 63 | #define MMC_GET_SDSTAT 14 64 | /* ATA/CF command */ 65 | #define ATA_GET_REV 20 66 | #define ATA_GET_MODEL 21 67 | #define ATA_GET_SN 22 68 | 69 | 70 | #define _DISKIO 71 | #endif 72 | 73 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Webserver/Lib/FATFs/diskio.c: -------------------------------------------------------------------------------- 1 | /*-----------------------------------------------------------------------*/ 2 | /* Low level disk I/O module skeleton for FatFs (C)ChaN, 2007 */ 3 | /*-----------------------------------------------------------------------*/ 4 | /* This is a stub disk I/O module that acts as front end of the existing */ 5 | /* disk I/O modules and attach it to FatFs module with common interface. */ 6 | /*-----------------------------------------------------------------------*/ 7 | 8 | #include "diskio.h" 9 | 10 | /*-----------------------------------------------------------------------*/ 11 | /* Initialize a Drive */ 12 | 13 | DSTATUS disk_initialize ( 14 | BYTE drv /* Physical drive number (0..) */ 15 | ) 16 | { 17 | return FR_OK; 18 | } 19 | 20 | 21 | 22 | /*-----------------------------------------------------------------------*/ 23 | /* Return Disk Status */ 24 | 25 | DSTATUS disk_status ( 26 | BYTE drv /* Physical drive number (0..) */ 27 | ) 28 | { 29 | return FR_OK; 30 | } 31 | 32 | 33 | 34 | /*-----------------------------------------------------------------------*/ 35 | /* Read Sector(s) */ 36 | 37 | DRESULT disk_read ( 38 | BYTE drv, /* Physical drive number (0..) */ 39 | BYTE *buff, /* Data buffer to store read data */ 40 | DWORD sector, /* Sector address (LBA) */ 41 | BYTE count /* Number of sectors to read (1..255) */ 42 | ) 43 | { 44 | DataflashManager_ReadBlocks_RAM(sector, count, buff); 45 | return RES_OK; 46 | } 47 | 48 | 49 | 50 | /*-----------------------------------------------------------------------*/ 51 | /* Write Sector(s) */ 52 | 53 | #if _READONLY == 0 54 | DRESULT disk_write ( 55 | BYTE drv, /* Physical drive number (0..) */ 56 | const BYTE *buff, /* Data to be written */ 57 | DWORD sector, /* Sector address (LBA) */ 58 | BYTE count /* Number of sectors to write (1..255) */ 59 | ) 60 | { 61 | DataflashManager_WriteBlocks_RAM(sector, count, buff); 62 | return RES_OK; 63 | } 64 | #endif /* _READONLY */ 65 | 66 | -------------------------------------------------------------------------------- /sw/rfp/cmd_parser.cpp: -------------------------------------------------------------------------------- 1 | #include "cmd_parser.h" 2 | 3 | /* Internal data structure */ 4 | typedef struct { 5 | const char *cmd; 6 | cmd_cb_t cb; 7 | } cmd_entry_t; 8 | 9 | /* Array to store all commands */ 10 | static cmd_entry_t cmd_tbl[MAX_CMDS]; 11 | 12 | /* Single global, reused for all dispatches */ 13 | static tok_t token; 14 | 15 | void cmdp_init (void) 16 | { 17 | uint8_t i; 18 | 19 | for (i = 0; i < MAX_CMDS; i++) { 20 | cmd_tbl[i].cmd = NULL; 21 | cmd_tbl[i].cb = (cmd_cb_t)NULL; 22 | } 23 | } 24 | 25 | uint8_t cmdp_register_cmd (const char *cmd, cmd_cb_t cb) 26 | { 27 | uint8_t i; 28 | 29 | for (i = 0; i < MAX_CMDS; i++) { 30 | // find empty command 31 | if (cmd_tbl[i].cmd == NULL) { 32 | cmd_tbl[i].cmd = cmd; 33 | cmd_tbl[i].cb = cb; 34 | } 35 | } 36 | return (i != MAX_CMDS) ? 0 : 1; 37 | } 38 | 39 | /* Search for cmd in list and parse args 40 | * then dispatch to handler */ 41 | void cmdp_parse_cmd (string_t *str) 42 | { 43 | uint8_t i, arg_idx = 0; 44 | char *tok; 45 | 46 | // Parse cmd into constituent parts 47 | memset (&token, 0, sizeof (tok_t)); 48 | tok = str->data; 49 | //ser.printf ("#len = %u\r\n", str->len); 50 | for (i = 0; i < str->len && arg_idx < MAX_ARGS; i++) { 51 | // First instance is cmd 52 | if ((str->data[i] == ' ') || (str->data[i] == '\0')) { 53 | if (token.cmd == NULL) { 54 | token.cmd = tok; 55 | } 56 | // else it is an argument 57 | else { 58 | token.arg[arg_idx++] = tok; 59 | } 60 | str->data[i] = '\0'; // Null terminate 61 | //ser.printf("#tok = [%s]\r\n", tok); 62 | tok = &str->data[i + 1]; // increment tok ptr 63 | } 64 | } 65 | 66 | // Match command 67 | for (i = 0; i < MAX_CMDS; i++) { 68 | if (strncmp (cmd_tbl[i].cmd, token.cmd, strlen(cmd_tbl[i].cmd)) == 0) { 69 | // Dispatch if cb is available 70 | if (cmd_tbl[i].cb != NULL) 71 | cmd_tbl[i].cb(arg_idx, &token); 72 | break; 73 | } 74 | } 75 | 76 | // Couldn't find a match 77 | if (i == MAX_CMDS) { 78 | ser.printf ("Bad cmd [%s]\r\n", token.cmd); 79 | } 80 | 81 | // Release buffer whether or not we found a match 82 | RELEASE_BUF(token.cmd); 83 | } 84 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Webserver/Lib/FATFs/diskio.h: -------------------------------------------------------------------------------- 1 | /*----------------------------------------------------------------------- 2 | / Low level disk interface module include file R0.07 (C)ChaN, 2010 3 | /-----------------------------------------------------------------------*/ 4 | 5 | #ifndef _DISKIO 6 | 7 | #define _READONLY 0 /* 1: Read-only mode */ 8 | #define _USE_IOCTL 0 9 | 10 | #include "integer.h" 11 | #include "ff.h" 12 | 13 | #include "../DataflashManager.h" 14 | 15 | 16 | /* Status of Disk Functions */ 17 | typedef BYTE DSTATUS; 18 | 19 | /* Results of Disk Functions */ 20 | typedef enum { 21 | RES_OK = 0, /* 0: Successful */ 22 | RES_ERROR, /* 1: R/W Error */ 23 | RES_WRPRT, /* 2: Write Protected */ 24 | RES_NOTRDY, /* 3: Not Ready */ 25 | RES_PARERR /* 4: Invalid Parameter */ 26 | } DRESULT; 27 | 28 | 29 | /*---------------------------------------*/ 30 | /* Prototypes for disk control functions */ 31 | 32 | BOOL assign_drives (int argc, char *argv[]); 33 | DSTATUS disk_initialize (BYTE); 34 | DSTATUS disk_status (BYTE); 35 | DRESULT disk_read (BYTE, BYTE*, DWORD, BYTE); 36 | #if _READONLY == 0 37 | DRESULT disk_write (BYTE, const BYTE*, DWORD, BYTE); 38 | #endif 39 | DRESULT disk_ioctl (BYTE, BYTE, void*); 40 | 41 | 42 | /* Disk Status Bits (DSTATUS) */ 43 | 44 | #define STA_NOINIT 0x01 /* Drive not initialized */ 45 | #define STA_NODISK 0x02 /* No medium in the drive */ 46 | #define STA_PROTECT 0x04 /* Write protected */ 47 | 48 | 49 | /* Command code for disk_ioctrl() */ 50 | 51 | /* Generic command */ 52 | #define CTRL_SYNC 0 /* Mandatory for write functions */ 53 | #define GET_SECTOR_COUNT 1 /* Mandatory for only f_mkfs() */ 54 | #define GET_SECTOR_SIZE 2 /* Mandatory for multiple sector size cfg */ 55 | #define GET_BLOCK_SIZE 3 /* Mandatory for only f_mkfs() */ 56 | #define CTRL_POWER 4 57 | #define CTRL_LOCK 5 58 | #define CTRL_EJECT 6 59 | /* MMC/SDC command */ 60 | #define MMC_GET_TYPE 10 61 | #define MMC_GET_CSD 11 62 | #define MMC_GET_CID 12 63 | #define MMC_GET_OCR 13 64 | #define MMC_GET_SDSTAT 14 65 | /* ATA/CF command */ 66 | #define ATA_GET_REV 20 67 | #define ATA_GET_MODEL 21 68 | #define ATA_GET_SN 22 69 | 70 | 71 | #define _DISKIO 72 | #endif 73 | 74 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/RNDISEthernet/Lib/ProtocolDecoders.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * Header file for ProtocolDecoders.c. 34 | */ 35 | 36 | #ifndef _PROTOCOL_DECODERS_H_ 37 | #define _PROTOCOL_DECODERS_H_ 38 | 39 | /* Includes: */ 40 | #include 41 | #include 42 | #include 43 | 44 | #include 45 | #include 46 | 47 | #include "EthernetProtocols.h" 48 | #include "Ethernet.h" 49 | 50 | /* Function Prototypes: */ 51 | void DecodeEthernetFrameHeader(Ethernet_Frame_Info_t* const FrameINData); 52 | void DecodeARPHeader(void* InDataStart); 53 | void DecodeIPHeader(void* InDataStart); 54 | void DecodeICMPHeader(void* InDataStart); 55 | void DecodeTCPHeader(void* InDataStart); 56 | void DecodeUDPHeader(void* InDataStart); 57 | void DecodeDHCPHeader(void* InDataStart); 58 | 59 | #endif 60 | 61 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/FutureChanges.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \page Page_FutureChanges Future Changes 8 | * 9 | * Below is a list of future changes which are proposed for the LUFA library, but not yet started/complete. 10 | * This gives an unordered list of future changes which will be available in future releases of the library. 11 | * If you have an item to add to this list, please contact the library author via email, the LUFA mailing list, 12 | * or post your suggestion as an enhancement request to the project bug tracker. 13 | * 14 | * Targeted for Future Releases: 15 | * - Code Features 16 | * -# Add hub support when in Host mode for multiple devices 17 | * -# Investigate virtual hubs when in device mode instead of composite devices 18 | * -# Add ability to get number of bytes not written with pipe/endpoint write routines after an error 19 | * -# Change makefiles to allow for absolute LUFA location to be used 20 | * -# Re-add interrupt Pipe/Endpoint support 21 | * -# Fix intermittent device mode enumeration errors 22 | * -# Add HID report macros to make HID report editing easier 23 | * -# Add endpoint/pipe bank kill macros 24 | * - Documentation/Support 25 | * -# Add detailed overviews of how each demo works 26 | * -# Add board overviews 27 | * -# Write LUFA tutorials 28 | * - Demos/Projects 29 | * -# Multiple-Report HID device 30 | * -# Device/Host USB bridge 31 | * -# Alternative (USB-IF endorsed) USB-CDC Ethernet Class 32 | * -# Finish Test and Measurement Class demo 33 | * -# Finish BluetoothHost demo 34 | * -# Finish SideShow demo 35 | * -# Finish StandaloneProgrammer project 36 | * -# Arduino Uno compatible USB-MIDI, USB-HID 37 | * -# Make Webserver project work in RNDIS device mode 38 | * - Ports 39 | * -# AVR32 UC3B series microcontrollers 40 | * -# Atmel ARM7 series microcontrollers 41 | * -# Other (commercial) C compilers 42 | */ 43 | 44 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Incomplete/StandaloneProgrammer/DiskDevice.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * Header file for DiskDevice.c. 34 | */ 35 | 36 | #ifndef _DISK_DEVICE_H_ 37 | #define _DISK_DEVICE_H_ 38 | 39 | /* Includes: */ 40 | #include 41 | 42 | #include "Descriptors.h" 43 | #include "StandaloneProgrammer.h" 44 | 45 | #include 46 | #include 47 | #include 48 | 49 | /* Function Prototypes: */ 50 | #if defined(USB_CAN_BE_DEVICE) 51 | void DiskDevice_USBTask(void); 52 | 53 | void EVENT_USB_Device_Connect(void); 54 | void EVENT_USB_Device_Disconnect(void); 55 | void EVENT_USB_Device_ConfigurationChanged(void); 56 | void EVENT_USB_Device_UnhandledControlRequest(void); 57 | 58 | bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo); 59 | #endif 60 | 61 | #endif 62 | 63 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/Webserver/USBHostMode.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 11 | 12 | Permission to use, copy, modify, distribute, and sell this 13 | software and its documentation for any purpose is hereby granted 14 | without fee, provided that the above copyright notice appear in 15 | all copies and that both that the copyright notice and this 16 | permission notice and warranty disclaimer appear in supporting 17 | documentation, and that the name of the author not be used in 18 | advertising or publicity pertaining to distribution of the 19 | software without specific, written prior permission. 20 | 21 | The author disclaim all warranties with regard to this 22 | software, including all implied warranties of merchantability 23 | and fitness. In no event shall the author be liable for any 24 | special, indirect or consequential damages or any damages 25 | whatsoever resulting from loss of use, data or profits, whether 26 | in an action of contract, negligence or other tortious action, 27 | arising out of or in connection with the use or performance of 28 | this software. 29 | */ 30 | 31 | /** \file 32 | * 33 | * Header file for USBHostMode.c. 34 | */ 35 | 36 | #ifndef _USBHOSTMODE_H_ 37 | #define _USBHOSTMODE_H_ 38 | 39 | /* Includes: */ 40 | #include 41 | #include 42 | 43 | #include "Webserver.h" 44 | #include "Lib/uIPManagement.h" 45 | 46 | /* External Variables: */ 47 | extern USB_ClassInfo_RNDIS_Host_t Ethernet_RNDIS_Interface; 48 | 49 | /* Function Prototypes: */ 50 | void USBHostMode_USBTask(void); 51 | 52 | void EVENT_USB_Host_HostError(const uint8_t ErrorCode); 53 | void EVENT_USB_Host_DeviceAttached(void); 54 | void EVENT_USB_Host_DeviceUnattached(void); 55 | void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode, 56 | const uint8_t SubErrorCode); 57 | void EVENT_USB_Host_DeviceEnumerationComplete(void); 58 | 59 | #endif 60 | 61 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/ManPages/CompilingApps.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \page Page_CompilingApps Compiling the Demos, Bootloaders and Projects 8 | * 9 | * The following details how to compile the included LUFA demos, applications and bootloaders using AVR-GCC. 10 | * 11 | * \section Sec_Prerequisites Prerequisites 12 | * Before you can compile any of the LUFA library code or demos, you will need a recent distribution of avr-libc (1.6.2+) 13 | * and the AVR-GCC (4.2+) compiler. For Windows users, the best way to obtain these is the WinAVR project 14 | * (http://winavr.sourceforge.net) as this provides a single-file setup for everything required to compile your 15 | * own AVR projects. 16 | * 17 | * \section Sec_Compiling Compiling a LUFA Application 18 | * Compiling the LUFA demos, applications and/or bootloaders is very simple. LUFA comes with makefile scripts for 19 | * each individual demo, bootloader and project folder, as well as scripts in the /Demos/, /Bootloaders/, /Projects/ 20 | * and the LUFA root directory. This means that compilation can be started from any of the above directories, with 21 | * a build started from an upper directory in the directory structure executing build of all child directories under it. 22 | * This means that while a build inside a particular demo directory will build only that particular demo, a build stated 23 | * from the /Demos/ directory will build all LUFA demo projects sequentially. 24 | * 25 | * To build a project from the source via the command line, the command "make all" should be executed from the command line in the directory 26 | * of interest. To remove compiled files (including the binary output, all intermediately files and all diagnostic output 27 | * files), execute "make clean". Once a "make all" has been run and no errors were encountered, the resulting binary will 28 | * be located in the generated ".HEX" file. If your project makes use of pre-initialized EEPROM variables, the generated ".EEP" 29 | * file will contain the project's EEPROM data. 30 | */ 31 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage CDC Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 35 | * 36 | * 37 | * 38 | * 39 | * 40 | *
USB Mode:Host
USB Class:Communications Device Class (CDC)
USB Subclass:Abstract Control Model (ACM)
Relevant Standards:USBIF CDC Class Standard
Usable Speeds:Full Speed Mode
41 | * 42 | * \section SSec_Description Project Description: 43 | * 44 | * CDC host demonstration application. This gives a simple reference application 45 | * for implementing a USB CDC host, for CDC devices using the standard ACM profile. 46 | * 47 | * This demo prints out received CDC data through the serial port. 48 | * 49 | * Not that this demo is only compatible with devices which report the correct CDC 50 | * and ACM class, subclass and protocol values. Most USB-Serial cables have vendor 51 | * specific features, thus use vendor-specific class/subclass/protocol codes to force 52 | * the user to use specialized drivers. This demo is not compatible with such devices. 53 | * 54 | * \section SSec_Options Project Options 55 | * 56 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 57 | * 58 | * 59 | * 60 | * 63 | * 64 | *
61 | * None 62 | *
65 | */ 66 | 67 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/VirtualSerialHost/VirtualSerialHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage CDC Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 35 | * 36 | * 37 | * 38 | * 39 | * 40 | *
USB Mode:Host
USB Class:Communications Device Class (CDC)
USB Subclass:Abstract Control Model (ACM)
Relevant Standards:USBIF CDC Class Standard
Usable Speeds:Full Speed Mode
41 | * 42 | * \section SSec_Description Project Description: 43 | * 44 | * CDC host demonstration application. This gives a simple reference application 45 | * for implementing a USB CDC host, for CDC devices using the standard ACM profile. 46 | * 47 | * This demo prints out received CDC data through the serial port. 48 | * 49 | * Not that this demo is only compatible with devices which report the correct CDC 50 | * and ACM class, subclass and protocol values. Most USB-Serial cables have vendor 51 | * specific features, thus use vendor-specific class/subclass/protocol codes to force 52 | * the user to use specialized drivers. This demo is not compatible with such devices. 53 | * 54 | * \section SSec_Options Project Options 55 | * 56 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 57 | * 58 | * 59 | * 60 | * 63 | * 64 | *
61 | * None 62 | *
65 | */ 66 | 67 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/XPLAINBridge/Lib/SoftUART.h: -------------------------------------------------------------------------------- 1 | /* 2 | LUFA Library 3 | Copyright (C) Dean Camera, 2010. 4 | 5 | dean [at] fourwalledcubicle [dot] com 6 | www.fourwalledcubicle.com 7 | */ 8 | 9 | /* 10 | Copyright 2010 David Prentice (david.prentice [at] farming [dot] uk) 11 | Copyright 2010 Peter Danneger 12 | Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) 13 | 14 | Permission to use, copy, modify, distribute, and sell this 15 | software and its documentation for any purpose is hereby granted 16 | without fee, provided that the above copyright notice appear in 17 | all copies and that both that the copyright notice and this 18 | permission notice and warranty disclaimer appear in supporting 19 | documentation, and that the name of the author not be used in 20 | advertising or publicity pertaining to distribution of the 21 | software without specific, written prior permission. 22 | 23 | The author disclaim all warranties with regard to this 24 | software, including all implied warranties of merchantability 25 | and fitness. In no event shall the author be liable for any 26 | special, indirect or consequential damages or any damages 27 | whatsoever resulting from loss of use, data or profits, whether 28 | in an action of contract, negligence or other tortious action, 29 | arising out of or in connection with the use or performance of 30 | this software. 31 | */ 32 | 33 | /** \file 34 | * 35 | * Header file for SoftUART.c. 36 | */ 37 | 38 | #ifndef _SOFT_UART_ 39 | #define _SOFT_UART_ 40 | 41 | /* Includes: */ 42 | #include 43 | #include 44 | #include 45 | 46 | #include "../XPLAINBridge.h" 47 | #include "LightweightRingBuff.h" 48 | 49 | /* Macros: */ 50 | #define SRX PD0 51 | #define SRXPIN PIND 52 | #define SRXPORT PORTD 53 | 54 | #define STX PD1 55 | #define STXPORT PORTD 56 | #define STXDDR DDRD 57 | 58 | /* Inline Functions: */ 59 | static inline void SoftUART_SetBaud(const uint32_t Baud) 60 | { 61 | uint16_t BitTime = ((F_CPU / Baud) - 1); 62 | 63 | ICR1 = BitTime; 64 | ICR3 = BitTime; 65 | } 66 | 67 | /* Function Prototypes: */ 68 | void SoftUART_Init(void); 69 | 70 | #endif 71 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/Drivers/USB/HighLevel/Template/Template_Endpoint_RW.c: -------------------------------------------------------------------------------- 1 | uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE Buffer, 2 | uint16_t Length 3 | __CALLBACK_PARAM) 4 | { 5 | uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length)); 6 | uint8_t ErrorCode; 7 | 8 | if ((ErrorCode = Endpoint_WaitUntilReady())) 9 | return ErrorCode; 10 | 11 | #if defined(FAST_STREAM_TRANSFERS) 12 | uint8_t BytesRemToAlignment = (Endpoint_BytesInEndpoint() & 0x07); 13 | 14 | if (Length >= 8) 15 | { 16 | Length -= BytesRemToAlignment; 17 | 18 | switch (BytesRemToAlignment) 19 | { 20 | default: 21 | do 22 | { 23 | if (!(Endpoint_IsReadWriteAllowed())) 24 | { 25 | TEMPLATE_CLEAR_ENDPOINT(); 26 | 27 | #if !defined(NO_STREAM_CALLBACKS) 28 | if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort)) 29 | return ENDPOINT_RWSTREAM_CallbackAborted; 30 | #endif 31 | 32 | if ((ErrorCode = Endpoint_WaitUntilReady())) 33 | return ErrorCode; 34 | } 35 | 36 | Length -= 8; 37 | 38 | TEMPLATE_TRANSFER_BYTE(DataStream); 39 | case 7: TEMPLATE_TRANSFER_BYTE(DataStream); 40 | case 6: TEMPLATE_TRANSFER_BYTE(DataStream); 41 | case 5: TEMPLATE_TRANSFER_BYTE(DataStream); 42 | case 4: TEMPLATE_TRANSFER_BYTE(DataStream); 43 | case 3: TEMPLATE_TRANSFER_BYTE(DataStream); 44 | case 2: TEMPLATE_TRANSFER_BYTE(DataStream); 45 | case 1: TEMPLATE_TRANSFER_BYTE(DataStream); 46 | } while (Length >= 8); 47 | } 48 | } 49 | #endif 50 | 51 | while (Length) 52 | { 53 | if (!(Endpoint_IsReadWriteAllowed())) 54 | { 55 | TEMPLATE_CLEAR_ENDPOINT(); 56 | 57 | #if !defined(NO_STREAM_CALLBACKS) 58 | if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort)) 59 | return ENDPOINT_RWSTREAM_CallbackAborted; 60 | #endif 61 | 62 | if ((ErrorCode = Endpoint_WaitUntilReady())) 63 | return ErrorCode; 64 | } 65 | else 66 | { 67 | TEMPLATE_TRANSFER_BYTE(DataStream); 68 | Length--; 69 | } 70 | } 71 | 72 | return ENDPOINT_RWSTREAM_NoError; 73 | } 74 | 75 | #undef TEMPLATE_FUNC_NAME 76 | #undef TEMPLATE_BUFFER_TYPE 77 | #undef TEMPLATE_TRANSFER_BYTE 78 | #undef TEMPLATE_CLEAR_ENDPOINT 79 | #undef TEMPLATE_BUFFER_OFFSET 80 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage Mass Storage Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 38 | * 39 | * 40 | * 41 | * 42 | * 43 | *
USB Mode:Host
USB Class:Mass Storage Device
USB Subclass:Bulk Only
Relevant Standards:USBIF Mass Storage Standard \n 35 | * USB Bulk-Only Transport Standard \n 36 | * SCSI Primary Commands Specification \n 37 | * SCSI Block Commands Specification
Usable Speeds:Full Speed Mode
44 | * 45 | * \section SSec_Description Project Description: 46 | * 47 | * Mass Storage host demonstration application. This gives a simple reference 48 | * application for implementing a USB Mass Storage host, for USB storage devices 49 | * using the standard Mass Storage USB profile. 50 | * 51 | * The first 512 bytes (boot sector) of an attached disk's memory will be dumped 52 | * out of the serial port in HEX and ASCII form when it is attached to the AT90USB1287 53 | * AVR. The device will then wait for HWB to be pressed, whereupon the entire ASCII contents 54 | * of the disk will be dumped to the serial port. 55 | * 56 | * \section SSec_Options Project Options 57 | * 58 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 59 | * 60 | * 61 | * 62 | * 65 | * 66 | *
63 | * None 64 | *
67 | */ 68 | 69 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage Mass Storage Host Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 38 | * 39 | * 40 | * 41 | * 42 | * 43 | *
USB Mode:Host
USB Class:Mass Storage Device
USB Subclass:Bulk Only
Relevant Standards:USBIF Mass Storage Standard \n 35 | * USB Bulk-Only Transport Standard \n 36 | * SCSI Primary Commands Specification \n 37 | * SCSI Block Commands Specification
Usable Speeds:Full Speed Mode
44 | * 45 | * \section SSec_Description Project Description: 46 | * 47 | * Mass Storage host demonstration application. This gives a simple reference 48 | * application for implementing a USB Mass Storage host, for USB storage devices 49 | * using the standard Mass Storage USB profile. 50 | * 51 | * The first 512 bytes (boot sector) of an attached disk's memory will be dumped 52 | * out of the serial port in HEX and ASCII form when it is attached to the AT90USB1287 53 | * AVR. The device will then wait for HWB to be pressed, whereupon the entire ASCII contents 54 | * of the disk will be dumped to the serial port. 55 | * 56 | * \section SSec_Options Project Options 57 | * 58 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 59 | * 60 | * 61 | * 62 | * 65 | * 66 | *
63 | * None 64 | *
67 | */ 68 | 69 | -------------------------------------------------------------------------------- /sw/lufa-lib/LUFA/Drivers/USB/HighLevel/Template/Template_Pipe_RW.c: -------------------------------------------------------------------------------- 1 | uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE Buffer, 2 | uint16_t Length 3 | __CALLBACK_PARAM) 4 | { 5 | uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length)); 6 | uint8_t ErrorCode; 7 | 8 | Pipe_SetPipeToken(TEMPLATE_TOKEN); 9 | 10 | if ((ErrorCode = Pipe_WaitUntilReady())) 11 | return ErrorCode; 12 | 13 | #if defined(FAST_STREAM_TRANSFERS) 14 | uint8_t BytesRemToAlignment = (Pipe_BytesInPipe() & 0x07); 15 | 16 | if (Length >= 8) 17 | { 18 | Length -= BytesRemToAlignment; 19 | 20 | switch (BytesRemToAlignment) 21 | { 22 | default: 23 | do 24 | { 25 | if (!(Pipe_IsReadWriteAllowed())) 26 | { 27 | TEMPLATE_CLEAR_PIPE(); 28 | 29 | #if !defined(NO_STREAM_CALLBACKS) 30 | if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort)) 31 | return PIPE_RWSTREAM_CallbackAborted; 32 | #endif 33 | 34 | if ((ErrorCode = Pipe_WaitUntilReady())) 35 | return ErrorCode; 36 | } 37 | 38 | Length -= 8; 39 | 40 | TEMPLATE_TRANSFER_BYTE(DataStream); 41 | case 7: TEMPLATE_TRANSFER_BYTE(DataStream); 42 | case 6: TEMPLATE_TRANSFER_BYTE(DataStream); 43 | case 5: TEMPLATE_TRANSFER_BYTE(DataStream); 44 | case 4: TEMPLATE_TRANSFER_BYTE(DataStream); 45 | case 3: TEMPLATE_TRANSFER_BYTE(DataStream); 46 | case 2: TEMPLATE_TRANSFER_BYTE(DataStream); 47 | case 1: TEMPLATE_TRANSFER_BYTE(DataStream); 48 | } while (Length >= 8); 49 | } 50 | } 51 | #endif 52 | 53 | while (Length) 54 | { 55 | if (!(Pipe_IsReadWriteAllowed())) 56 | { 57 | TEMPLATE_CLEAR_PIPE(); 58 | 59 | #if !defined(NO_STREAM_CALLBACKS) 60 | if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort)) 61 | return PIPE_RWSTREAM_CallbackAborted; 62 | #endif 63 | 64 | if ((ErrorCode = Pipe_WaitUntilReady())) 65 | return ErrorCode; 66 | } 67 | else 68 | { 69 | TEMPLATE_TRANSFER_BYTE(DataStream); 70 | Length--; 71 | } 72 | } 73 | 74 | return PIPE_RWSTREAM_NoError; 75 | } 76 | 77 | #undef TEMPLATE_FUNC_NAME 78 | #undef TEMPLATE_BUFFER_TYPE 79 | #undef TEMPLATE_TOKEN 80 | #undef TEMPLATE_TRANSFER_BYTE 81 | #undef TEMPLATE_CLEAR_PIPE 82 | #undef TEMPLATE_BUFFER_OFFSET 83 | 84 | -------------------------------------------------------------------------------- /sw/lufa-lib/Projects/LEDNotifier/LEDMixerApp/LEDMixer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | 10 | namespace LEDMixer 11 | { 12 | public partial class LEDMixer : Form 13 | { 14 | private const int LIGHT_MAX = 0x1F; 15 | 16 | public LEDMixer() 17 | { 18 | InitializeComponent(); 19 | } 20 | 21 | private void LEDMixer_Load(object sender, EventArgs e) 22 | { 23 | for (int i = 1; i <= 99; i++) 24 | cbPort.Items.Add("COM" + i.ToString()); 25 | 26 | cbPort.SelectedIndex = 0; 27 | 28 | tbRed.Maximum = LIGHT_MAX; 29 | tbGreen.Maximum = LIGHT_MAX; 30 | tbBlue.Maximum = LIGHT_MAX; 31 | } 32 | 33 | private void tbRed_Scroll(object sender, EventArgs e) 34 | { 35 | NotifyLight(tbRed.Value, tbGreen.Value, tbBlue.Value); 36 | } 37 | 38 | private void tbGreen_Scroll(object sender, EventArgs e) 39 | { 40 | NotifyLight(tbRed.Value, tbGreen.Value, tbBlue.Value); 41 | } 42 | 43 | private void tbBlue_Scroll(object sender, EventArgs e) 44 | { 45 | NotifyLight(tbRed.Value, tbGreen.Value, tbBlue.Value); 46 | } 47 | 48 | private void NotifyLight(int Red, int Green, int Blue) 49 | { 50 | byte[] buffer = new byte[3]; 51 | buffer[0] = (byte)(0x80 | (Red & LIGHT_MAX)); 52 | buffer[1] = (byte)(0x40 | (Green & LIGHT_MAX)); 53 | buffer[2] = (byte)(0x20 | (Blue & LIGHT_MAX)); 54 | 55 | try 56 | { 57 | serSerialPort.PortName = cbPort.Text; 58 | serSerialPort.Open(); 59 | serSerialPort.Write(buffer, 0, buffer.Length); 60 | serSerialPort.Close(); 61 | } 62 | catch (Exception e) 63 | { 64 | 65 | } 66 | } 67 | 68 | private void cbPort_SelectedIndexChanged(object sender, EventArgs e) 69 | { 70 | NotifyLight(tbRed.Value, tbGreen.Value, tbBlue.Value); 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/LowLevel/Joystick/Joystick.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage Joystick Device Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * - Series 6 USB AVRs (AT90USBxxx6) 15 | * - Series 4 USB AVRs (ATMEGAxxU4) 16 | * - Series 2 USB AVRs (AT90USBxx2, ATMEGAxxU2) 17 | * 18 | * \section SSec_Info USB Information: 19 | * 20 | * The following table gives a rundown of the USB utilization of this demo. 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 35 | * 36 | * 37 | * 39 | * 40 | * 41 | * 42 | * 44 | * 45 | *
USB Mode:Device
USB Class:Human Interface Device (HID)
USB Subclass:N/A
Relevant Standards:USBIF HID Specification \n 38 | * USBIF HID Usage Tables
Usable Speeds:Low Speed Mode \n 43 | * Full Speed Mode
46 | * 47 | * \section SSec_Description Project Description: 48 | * 49 | * Joystick demonstration application. This gives a simple reference 50 | * application for implementing a USB Keyboard device, for USB Joysticks 51 | * using the standard Keyboard HID profile. 52 | * 53 | * This device will show up as a generic joystick device, with two buttons. 54 | * Pressing the joystick inwards is the first button, and the HWB button 55 | * is the second. 56 | * 57 | * Moving the joystick on the selected board moves the joystick location on 58 | * the host computer. 59 | * 60 | * Currently only single interface joysticks are supported. 61 | * 62 | * \section SSec_Options Project Options 63 | * 64 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 65 | * 66 | * 67 | * 68 | * 71 | * 72 | *
69 | * None 70 | *
73 | */ 74 | 75 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Device/ClassDriver/Joystick/Joystick.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage Joystick Device Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * - Series 6 USB AVRs (AT90USBxxx6) 15 | * - Series 4 USB AVRs (ATMEGAxxU4) 16 | * - Series 2 USB AVRs (AT90USBxx2, ATMEGAxxU2) 17 | * 18 | * \section SSec_Info USB Information: 19 | * 20 | * The following table gives a rundown of the USB utilization of this demo. 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 35 | * 36 | * 37 | * 39 | * 40 | * 41 | * 42 | * 44 | * 45 | *
USB Mode:Device
USB Class:Human Interface Device (HID)
USB Subclass:N/A
Relevant Standards:USBIF HID Specification \n 38 | * USBIF HID Usage Tables
Usable Speeds:Low Speed Mode \n 43 | * Full Speed Mode
46 | * 47 | * \section SSec_Description Project Description: 48 | * 49 | * Joystick demonstration application. This gives a simple reference 50 | * application for implementing a USB Keyboard device, for USB Joysticks 51 | * using the standard Keyboard HID profile. 52 | * 53 | * This device will show up as a generic joystick device, with two buttons. 54 | * Pressing the joystick inwards is the first button, and the HWB button 55 | * is the second. 56 | * 57 | * Moving the joystick on the selected board moves the joystick location on 58 | * the host computer. 59 | * 60 | * Currently only single interface joysticks are supported. 61 | * 62 | * \section SSec_Options Project Options 63 | * 64 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 65 | * 66 | * 67 | * 68 | * 71 | * 72 | *
69 | * None 70 | *
73 | */ 74 | 75 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage Mouse Host With HID Descriptor Parser Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 36 | * 37 | * 38 | * 39 | * 41 | * 42 | *
USB Mode:Host
USB Class:Human Interface Device (HID)
USB Subclass:N/A
Relevant Standards:USBIF HID Specification \n 35 | * USBIF HID Usage Tables
Usable Speeds:Low Speed Mode \n 40 | * Full Speed Mode
43 | * 44 | * \section SSec_Description Project Description: 45 | * 46 | * Mouse host demonstration application. This gives a simple reference 47 | * application for implementing a USB Mouse host, for USB mice using 48 | * the standard mouse HID profile. It uses a HID parser for the HID 49 | * reports, allowing for correct operation across all USB mice. This 50 | * demo supports mice with a single HID report. 51 | * 52 | * Mouse and scroll wheel movement and button presses are displayed 53 | * on the board LEDs. On connection to a USB mouse, the report items 54 | * will be processed and printed as a formatted list through the USART 55 | * before the mouse is fully enumerated. 56 | * 57 | * Currently only single interface mice are supported. 58 | * 59 | * \section SSec_Options Project Options 60 | * 61 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 62 | * 63 | * 64 | * 65 | * 68 | * 69 | *
66 | * None 67 | *
70 | */ 71 | 72 | -------------------------------------------------------------------------------- /sw/lufa-lib/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.txt: -------------------------------------------------------------------------------- 1 | /** \file 2 | * 3 | * This file contains special DoxyGen information for the generation of the main page and other special 4 | * documentation pages. It is not a project source file. 5 | */ 6 | 7 | /** \mainpage Mouse Host With HID Descriptor Parser Demo 8 | * 9 | * \section SSec_Compat Demo Compatibility: 10 | * 11 | * The following list indicates what microcontrollers are compatible with this demo. 12 | * 13 | * - Series 7 USB AVRs (AT90USBxxx7) 14 | * 15 | * \section SSec_Info USB Information: 16 | * 17 | * The following table gives a rundown of the USB utilization of this demo. 18 | * 19 | * 20 | * 21 | * 22 | * 23 | * 24 | * 25 | * 26 | * 27 | * 28 | * 29 | * 30 | * 31 | * 32 | * 33 | * 34 | * 36 | * 37 | * 38 | * 39 | * 41 | * 42 | *
USB Mode:Host
USB Class:Human Interface Device (HID)
USB Subclass:N/A
Relevant Standards:USBIF HID Specification \n 35 | * USBIF HID Usage Tables
Usable Speeds:Low Speed Mode \n 40 | * Full Speed Mode
43 | * 44 | * \section SSec_Description Project Description: 45 | * 46 | * Mouse host demonstration application. This gives a simple reference 47 | * application for implementing a USB Mouse host, for USB mice using 48 | * the standard mouse HID profile. It uses a HID parser for the HID 49 | * reports, allowing for correct operation across all USB mice. This 50 | * demo supports mice with a single HID report. 51 | * 52 | * Mouse and scroll wheel movement and button presses are displayed 53 | * on the board LEDs. On connection to a USB mouse, the report items 54 | * will be processed and printed as a formatted list through the USART 55 | * before the mouse is fully enumerated. 56 | * 57 | * Currently only single interface mice are supported. 58 | * 59 | * \section SSec_Options Project Options 60 | * 61 | * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value. 62 | * 63 | * 64 | * 65 | * 68 | * 69 | *
66 | * None 67 | *
70 | */ 71 | 72 | --------------------------------------------------------------------------------