Completing CMake variable generation for USB parameters (AVR Support)
- Had to add the iSerialNumber parameter to the AVR USB descriptor - Removed a faulty pack command for avr-gcc that is not required
This commit is contained in:
parent
b7afaa100f
commit
99b3deba67
@ -27,8 +27,8 @@ include( AddFileDependencies )
|
|||||||
#| "avr" # Teensy++ 1.0
|
#| "avr" # Teensy++ 1.0
|
||||||
#| "avr" # Teensy++ 2.0
|
#| "avr" # Teensy++ 2.0
|
||||||
#| "arm" # Teensy 3.0
|
#| "arm" # Teensy 3.0
|
||||||
set( COMPILER_FAMILY "arm" )
|
#set( COMPILER_FAMILY "arm" )
|
||||||
#set( COMPILER_FAMILY "avr" )
|
set( COMPILER_FAMILY "avr" )
|
||||||
|
|
||||||
message( STATUS "Compiler Family:" )
|
message( STATUS "Compiler Family:" )
|
||||||
message( "${COMPILER_FAMILY}" )
|
message( "${COMPILER_FAMILY}" )
|
||||||
|
45
Lib/_buildvars.h
Normal file
45
Lib/_buildvars.h
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/* Copyright (C) 2013 by Jacob Alexander
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
|
* in the Software without restriction, including without limitation the rights
|
||||||
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in
|
||||||
|
* all copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
* THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __buildvars_h
|
||||||
|
#define __buildvars_h
|
||||||
|
|
||||||
|
// ----- Includes -----
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ----- Defines -----
|
||||||
|
|
||||||
|
// You can change these to give your code its own name.
|
||||||
|
#define STR_MANUFACTURER L"@MANUFACTURER@"
|
||||||
|
#define STR_PRODUCT L"Keyboard - @ScanModule@ @MacroModule@ @USBModule@ @DebugModule@"
|
||||||
|
#define STR_SERIAL L"@GitLastCommitDate@"
|
||||||
|
|
||||||
|
|
||||||
|
// Mac OS-X and Linux automatically load the correct drivers. On
|
||||||
|
// Windows, even though the driver is supplied by Microsoft, an
|
||||||
|
// INF file is needed to load the driver. These numbers need to
|
||||||
|
// match the INF file.
|
||||||
|
#define VENDOR_ID @VENDOR_ID@
|
||||||
|
#define PRODUCT_ID @PRODUCT_ID@
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -23,10 +23,6 @@
|
|||||||
#define DEVICE_CLASS 0xEF
|
#define DEVICE_CLASS 0xEF
|
||||||
#define DEVICE_SUBCLASS 0x02
|
#define DEVICE_SUBCLASS 0x02
|
||||||
#define DEVICE_PROTOCOL 0x01
|
#define DEVICE_PROTOCOL 0x01
|
||||||
#define MANUFACTURER_NAME {'T','e','e','n','s','y','d','u','i','n','o'}
|
|
||||||
#define MANUFACTURER_NAME_LEN 11
|
|
||||||
#define PRODUCT_NAME {'S','e','r','i','a','l','/','K','e','y','b','o','a','r','d','/','M','o','u','s','e','/','J','o','y','s','t','i','c','k'}
|
|
||||||
#define PRODUCT_NAME_LEN 30
|
|
||||||
#define EP0_SIZE 64
|
#define EP0_SIZE 64
|
||||||
#define NUM_ENDPOINTS 15
|
#define NUM_ENDPOINTS 15
|
||||||
#define NUM_INTERFACE 5
|
#define NUM_INTERFACE 5
|
||||||
|
@ -94,7 +94,7 @@ static const uint8_t PROGMEM device_descriptor[] = {
|
|||||||
0x00, 0x01, // bcdDevice
|
0x00, 0x01, // bcdDevice
|
||||||
1, // iManufacturer
|
1, // iManufacturer
|
||||||
2, // iProduct
|
2, // iProduct
|
||||||
0, // iSerialNumber
|
3, // iSerialNumber
|
||||||
1 // bNumConfigurations
|
1 // bNumConfigurations
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -239,6 +239,11 @@ static const struct usb_string_descriptor_struct PROGMEM string2 = {
|
|||||||
3,
|
3,
|
||||||
STR_PRODUCT
|
STR_PRODUCT
|
||||||
};
|
};
|
||||||
|
static const struct usb_string_descriptor_struct PROGMEM string3 = {
|
||||||
|
sizeof(STR_SERIAL),
|
||||||
|
3,
|
||||||
|
STR_SERIAL
|
||||||
|
};
|
||||||
|
|
||||||
// This table defines which descriptor data is sent for each specific
|
// This table defines which descriptor data is sent for each specific
|
||||||
// request from the host (in wValue and wIndex).
|
// request from the host (in wValue and wIndex).
|
||||||
@ -256,7 +261,8 @@ static const struct descriptor_list_struct {
|
|||||||
{0x2100, DEBUG_INTERFACE, config1_descriptor+DEBUG_HID_DESC_OFFSET, 9},
|
{0x2100, DEBUG_INTERFACE, config1_descriptor+DEBUG_HID_DESC_OFFSET, 9},
|
||||||
{0x0300, 0x0000, (const uint8_t *)&string0, 4},
|
{0x0300, 0x0000, (const uint8_t *)&string0, 4},
|
||||||
{0x0301, 0x0409, (const uint8_t *)&string1, sizeof(STR_MANUFACTURER)},
|
{0x0301, 0x0409, (const uint8_t *)&string1, sizeof(STR_MANUFACTURER)},
|
||||||
{0x0302, 0x0409, (const uint8_t *)&string2, sizeof(STR_PRODUCT)}
|
{0x0302, 0x0409, (const uint8_t *)&string2, sizeof(STR_PRODUCT)},
|
||||||
|
{0x0303, 0x0409, (const uint8_t *)&string3, sizeof(STR_SERIAL)}
|
||||||
};
|
};
|
||||||
#define NUM_DESC_LIST (sizeof(descriptor_list)/sizeof(struct descriptor_list_struct))
|
#define NUM_DESC_LIST (sizeof(descriptor_list)/sizeof(struct descriptor_list_struct))
|
||||||
|
|
||||||
@ -697,4 +703,3 @@ ISR(USB_COM_vect)
|
|||||||
UECONX = (1<<STALLRQ) | (1<<EPEN); // stall
|
UECONX = (1<<STALLRQ) | (1<<EPEN); // stall
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -87,3 +87,4 @@ void usb_debug_flush_output(void); // immediately transmit any buffered output
|
|||||||
#define CDC_SET_CONTROL_LINE_STATE 0x22
|
#define CDC_SET_CONTROL_LINE_STATE 0x22
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ set( WARN "-Wall -Wstrict-prototypes" )
|
|||||||
#| Tuning Options
|
#| Tuning Options
|
||||||
#| -f...: tuning, see GCC manual and avr-libc documentation
|
#| -f...: tuning, see GCC manual and avr-libc documentation
|
||||||
#| NOTE: -fshort-wchar is specified to allow USB strings be passed conveniently
|
#| NOTE: -fshort-wchar is specified to allow USB strings be passed conveniently
|
||||||
set( TUNING "-funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums -fshort-wchar" )
|
set( TUNING "-funsigned-char -funsigned-bitfields -ffunction-sections -fpack-struct -fshort-enums" )
|
||||||
|
|
||||||
|
|
||||||
#| Optimization level, can be [0, 1, 2, 3, s].
|
#| Optimization level, can be [0, 1, 2, 3, s].
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
#| Please the {Scan,Macro,USB,Debug}/module.txt for information on the modules and how to create new ones
|
#| Please the {Scan,Macro,USB,Debug}/module.txt for information on the modules and how to create new ones
|
||||||
|
|
||||||
##| Deals with acquiring the keypress information and turning it into a key index
|
##| Deals with acquiring the keypress information and turning it into a key index
|
||||||
set( ScanModule "MBC-55X" )
|
set( ScanModule "FACOM6684" )
|
||||||
|
|
||||||
##| Uses the key index and potentially applies special conditions to it, mapping it to a usb key code
|
##| Uses the key index and potentially applies special conditions to it, mapping it to a usb key code
|
||||||
set( MacroModule "buffer" )
|
set( MacroModule "buffer" )
|
||||||
|
Reference in New Issue
Block a user