Pseudo-port the projects and dual role demos for possible later multi-arch support.

pull/1469/head
Dean Camera 12 years ago
parent 139fabb6cd
commit 65a8d68c57

@ -85,6 +85,39 @@
// #define NO_AUTO_VBUS_MANAGEMENT // #define NO_AUTO_VBUS_MANAGEMENT
// #define INVERTED_VBUS_ENABLE_LINE // #define INVERTED_VBUS_ENABLE_LINE
#elif (ARCH == ARCH_XMEGA)
/* Non-USB Related Configuration Tokens: */
// #define DISABLE_TERMINAL_CODES
/* USB Class Driver Related Tokens: */
// #define HID_HOST_BOOT_PROTOCOL_ONLY
// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here}
// #define HID_USAGE_STACK_DEPTH {Insert Value Here}
// #define HID_MAX_COLLECTIONS {Insert Value Here}
// #define HID_MAX_REPORTITEMS {Insert Value Here}
// #define HID_MAX_REPORT_IDS {Insert Value Here}
// #define NO_CLASS_DRIVER_AUTOFLUSH
/* General USB Driver Related Tokens: */
#define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_RC32MCLKSRC | USB_OPT_BUSEVENT_PRIHIGH)
// #define USB_STREAM_TIMEOUT_MS {Insert Value Here}
// #define NO_LIMITED_CONTROLLER_CONNECT
// #define NO_SOF_EVENTS
/* USB Device Mode Driver Related Tokens: */
// #define USE_RAM_DESCRIPTORS
#define USE_FLASH_DESCRIPTORS
// #define USE_EEPROM_DESCRIPTORS
// #define NO_INTERNAL_SERIAL
#define FIXED_CONTROL_ENDPOINT_SIZE 8
// #define DEVICE_STATE_AS_GPIOR {Insert Value Here}
#define FIXED_NUM_CONFIGURATIONS 1
// #define CONTROL_ONLY_DEVICE
#define MAX_ENDPOINT_INDEX 4
// #define NO_DEVICE_REMOTE_WAKEUP
// #define NO_DEVICE_SELF_POWER
#else #else
#error Unsupported architecture for this LUFA configuration file. #error Unsupported architecture for this LUFA configuration file.

@ -93,12 +93,24 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#elif (ARCH == ARCH_XMEGA)
/* Start the PLL to multiply the 2MHz RC oscillator to 32MHz and switch the CPU core to run from it */
XMEGACLK_StartPLL(CLOCK_SRC_INT_RC2MHZ, 2000000, F_CPU);
XMEGACLK_SetCPUClockSource(CLOCK_SRC_PLL);
/* Start the 32MHz internal RC oscillator and start the DFLL to increase it to 48MHz using the USB SOF as a reference */
XMEGACLK_StartInternalOscillator(CLOCK_SRC_INT_RC32MHZ);
XMEGACLK_StartDFLL(CLOCK_SRC_INT_RC32MHZ, DFLL_REF_INT_USBSOF, F_USB);
PMIC.CTRL = PMIC_LOLVLEN_bm | PMIC_MEDLVLEN_bm | PMIC_HILVLEN_bm;
#endif
/* Hardware Initialization */ /* Hardware Initialization */
LEDs_Init(); LEDs_Init();

@ -1,7 +1,7 @@
/* /*
LUFA Library LUFA Library
Copyright (C) Dean Camera, 2013. Copyright (C) Dean Camera, 2013.
dean [at] fourwalledcubicle [dot] com dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org www.lufa-lib.org
*/ */
@ -9,13 +9,13 @@
/* /*
Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com) Copyright 2013 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the advertising or publicity pertaining to distribution of the
software without specific, written prior permission. software without specific, written prior permission.
The author disclaims all warranties with regard to this The author disclaims all warranties with regard to this
@ -39,8 +39,9 @@
#include "Descriptors.h" #include "Descriptors.h"
#include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */ /* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
@ -54,7 +55,7 @@
/** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */ /** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
#define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3) #define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3)
/** LED mask for the library LED driver, to indicate that the USB interface is busy. */ /** LED mask for the library LED driver, to indicate that the USB interface is busy. */
#define LEDMASK_USB_BUSY LEDS_LED2 #define LEDMASK_USB_BUSY LEDS_LED2
@ -66,14 +67,14 @@
#define Req_CheckClearStatus 0x06 #define Req_CheckClearStatus 0x06
#define Req_GetCapabilities 0x07 #define Req_GetCapabilities 0x07
#define Req_IndicatorPulse 0x40 #define Req_IndicatorPulse 0x40
#define TMC_STATUS_SUCCESS 0x01 #define TMC_STATUS_SUCCESS 0x01
#define TMC_STATUS_PENDING 0x02 #define TMC_STATUS_PENDING 0x02
#define TMC_STATUS_FAILED 0x80 #define TMC_STATUS_FAILED 0x80
#define TMC_STATUS_TRANSFER_NOT_IN_PROGRESS 0x81 #define TMC_STATUS_TRANSFER_NOT_IN_PROGRESS 0x81
#define TMC_STATUS_SPLIT_NOT_IN_PROGRESS 0x82 #define TMC_STATUS_SPLIT_NOT_IN_PROGRESS 0x82
#define TMC_STATUS_SPLIT_IN_PROGRESS 0x83 #define TMC_STATUS_SPLIT_IN_PROGRESS 0x83
#define TMC_MESSAGEID_DEV_DEP_MSG_OUT 0x01 #define TMC_MESSAGEID_DEV_DEP_MSG_OUT 0x01
#define TMC_MESSAGEID_DEV_DEP_MSG_IN 0x02 #define TMC_MESSAGEID_DEV_DEP_MSG_IN 0x02
#define TMC_MESSAGEID_DEV_VENDOR_OUT 0x7E #define TMC_MESSAGEID_DEV_VENDOR_OUT 0x7E
@ -86,7 +87,7 @@
uint8_t Reserved; uint8_t Reserved;
uint16_t TMCVersion; uint16_t TMCVersion;
struct struct
{ {
unsigned ListenOnly : 1; unsigned ListenOnly : 1;
@ -94,17 +95,17 @@
unsigned PulseIndicateSupported : 1; unsigned PulseIndicateSupported : 1;
unsigned Reserved : 5; unsigned Reserved : 5;
} Interface; } Interface;
struct struct
{ {
unsigned SupportsAbortINOnMatch : 1; unsigned SupportsAbortINOnMatch : 1;
unsigned Reserved : 7; unsigned Reserved : 7;
} Device; } Device;
uint8_t Reserved2[6]; uint8_t Reserved2[6];
uint8_t Reserved3[12]; uint8_t Reserved3[12];
} TMC_Capabilities_t; } TMC_Capabilities_t;
typedef struct typedef struct
{ {
uint8_t LastMessageTransaction; uint8_t LastMessageTransaction;
@ -125,7 +126,7 @@
uint8_t InverseTag; uint8_t InverseTag;
uint8_t Reserved; uint8_t Reserved;
uint32_t TransferSize; uint32_t TransferSize;
union union
{ {
TMC_DevOUTMessageHeader_t DeviceOUT; TMC_DevOUTMessageHeader_t DeviceOUT;

@ -68,12 +68,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
Serial_Init(9600, false); Serial_Init(9600, false);

@ -50,6 +50,7 @@
#include <LUFA/Drivers/Board/Joystick.h> #include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/Board/Buttons.h> #include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
#include "Descriptors.h" #include "Descriptors.h"
#include "DeviceFunctions.h" #include "DeviceFunctions.h"
@ -70,7 +71,7 @@
/* Function Prototypes: */ /* Function Prototypes: */
void SetupHardware(void); void SetupHardware(void);
void EVENT_USB_UIDChange(void); void EVENT_USB_UIDChange(void);
#endif #endif

@ -1,14 +1,14 @@
<asf xmlversion="1.0"> <asf xmlversion="1.0">
<project caption="Mouse HID Dual USB Mode Demo (Class Driver APIs)" id="lufa.demos.dualrole.class.mouse.example"> <project caption="Mouse HID Dual USB Mode Demo (Class Driver APIs)" id="lufa.demos.dualrole.class.mouse.example.avr8">
<require idref="lufa.demos.dualrole.class.mouse"/> <require idref="lufa.demos.dualrole.class.mouse"/>
<require idref="lufa.boards.dummy.avr8"/> <require idref="lufa.boards.dummy.avr8"/>
<generator value="as5_8"/> <generator value="as5_8"/>
<device-support value="at90usb1287"/> <device-support value="at90usb1287"/>
<config name="lufa.drivers.board.name" value="usbkey"/> <config name="lufa.drivers.board.name" value="none"/>
<build type="define" name="F_CPU" value="8000000UL"/> <build type="define" name="F_CPU" value="16000000UL"/>
<build type="define" name="F_USB" value="8000000UL"/> <build type="define" name="F_USB" value="16000000UL"/>
</project> </project>
<module type="application" id="lufa.demos.dualrole.class.mouse" caption="Mouse HID Dual USB Mode Demo (Class Driver APIs)"> <module type="application" id="lufa.demos.dualrole.class.mouse" caption="Mouse HID Dual USB Mode Demo (Class Driver APIs)">

@ -63,12 +63,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
LEDs_Init(); LEDs_Init();

@ -44,6 +44,7 @@
#include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
#if defined(ADC) #if defined(ADC)
#include <LUFA/Drivers/Peripheral/ADC.h> #include <LUFA/Drivers/Peripheral/ADC.h>
@ -79,12 +80,12 @@
void EVENT_USB_Device_Connect(void); void EVENT_USB_Device_Connect(void);
void EVENT_USB_Device_Disconnect(void); void EVENT_USB_Device_Disconnect(void);
void EVENT_USB_Device_ConfigurationChanged(void); void EVENT_USB_Device_ConfigurationChanged(void);
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex, const uint8_t wIndex,
const void** const DescriptorAddress, const void** const DescriptorAddress,
uint8_t* const DescriptorMemorySpace) uint8_t* const DescriptorMemorySpace)
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3) ATTR_NON_NULL_PTR_ARG(4); ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3) ATTR_NON_NULL_PTR_ARG(4);
#endif #endif

@ -171,10 +171,15 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
LEDs_Init(); LEDs_Init();
USB_Init(); USB_Init();

@ -48,6 +48,7 @@
#include <LUFA/Drivers/Peripheral/Serial.h> #include <LUFA/Drivers/Peripheral/Serial.h>
#include <LUFA/Drivers/Misc/RingBuffer.h> #include <LUFA/Drivers/Misc/RingBuffer.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */ /* Macros: */
/** LED mask for the library LED driver, to indicate TX activity. */ /** LED mask for the library LED driver, to indicate TX activity. */

@ -202,12 +202,14 @@ void OutputCollectionPath(const HID_CollectionPath_t* const CollectionPath)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
Serial_Init(9600, false); Serial_Init(9600, false);

@ -49,6 +49,7 @@
#include <LUFA/Drivers/Peripheral/Serial.h> #include <LUFA/Drivers/Peripheral/Serial.h>
#include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */ /* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */

@ -142,12 +142,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
LEDs_Init(); LEDs_Init();

@ -48,6 +48,7 @@
#include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Function Prototypes: */ /* Function Prototypes: */
void SetupHardware(void); void SetupHardware(void);

@ -185,12 +185,14 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
LEDs_Init(); LEDs_Init();

@ -49,6 +49,7 @@
#include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */ /* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */

@ -94,12 +94,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
Magstripe_Init(); Magstripe_Init();

@ -49,6 +49,7 @@
#include "Config/AppConfig.h" #include "Config/AppConfig.h"
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */ /* Macros: */
/** Total number of tracks which can be read from the card, between 1 and 3. */ /** Total number of tracks which can be read from the card, between 1 and 3. */

@ -80,12 +80,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware() void SetupHardware()
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
Joystick_Init(); Joystick_Init();

@ -50,6 +50,7 @@
#include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Buttons.h> #include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */ /* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */

@ -112,12 +112,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
LEDs_Init(); LEDs_Init();

@ -49,6 +49,7 @@
#include <LUFA/Drivers/Board/Buttons.h> #include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/Board/Joystick.h> #include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Platform/Platform.h>
#include "ConfigDescriptor.h" #include "ConfigDescriptor.h"

@ -54,12 +54,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the project's functionality. */ /** Configures the board hardware and chip peripherals for the project's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
USB_Init(); USB_Init();

@ -47,6 +47,7 @@
#include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */ /* Macros: */
#define RELAY1 (1 << 7) #define RELAY1 (1 << 7)

@ -29,7 +29,7 @@
this software. this software.
*/ */
/** \file /** \file
* *
* Main source file for the SerialToLCD program. This file contains the main tasks of * Main source file for the SerialToLCD program. This file contains the main tasks of
* the project and is responsible for the initial application hardware configuration. * the project and is responsible for the initial application hardware configuration.
@ -101,7 +101,7 @@ int main(void)
{ {
static uint8_t EscapePending = 0; static uint8_t EscapePending = 0;
int16_t HD44780Byte = RingBuffer_Remove(&FromHost_Buffer); int16_t HD44780Byte = RingBuffer_Remove(&FromHost_Buffer);
if (HD44780Byte == COMMAND_ESCAPE) if (HD44780Byte == COMMAND_ESCAPE)
{ {
if (EscapePending) if (EscapePending)
@ -137,12 +137,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the application's functionality. */ /** Configures the board hardware and chip peripherals for the application's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
USB_Init(); USB_Init();
@ -150,7 +152,7 @@ void SetupHardware(void)
/* Power up the HD44780 Interface */ /* Power up the HD44780 Interface */
HD44780_Initialize(); HD44780_Initialize();
HD44780_WriteCommand(CMD_DISPLAY_ON); HD44780_WriteCommand(CMD_DISPLAY_ON);
/* Start the flush timer so that overflows occur rapidly to push received bytes to the USB interface */ /* Start the flush timer so that overflows occur rapidly to push received bytes to the USB interface */
TCCR0B = (1 << CS02); TCCR0B = (1 << CS02);
} }

@ -49,7 +49,8 @@
#include <LUFA/Version.h> #include <LUFA/Version.h>
#include <LUFA/Drivers/Misc/RingBuffer.h> #include <LUFA/Drivers/Misc/RingBuffer.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */ /* Macros: */
#define COMMAND_ESCAPE 0x1B #define COMMAND_ESCAPE 0x1B

@ -190,12 +190,14 @@ void CloseLogFile(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
LEDs_Init(); LEDs_Init();

@ -50,11 +50,12 @@
#include "Lib/FATFs/ff.h" #include "Lib/FATFs/ff.h"
#include "Lib/DS1307.h" #include "Lib/DS1307.h"
#include "Config/AppConfig.h" #include "Config/AppConfig.h"
#include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Temperature.h> #include <LUFA/Drivers/Board/Temperature.h>
#include <LUFA/Drivers/Peripheral/ADC.h> #include <LUFA/Drivers/Peripheral/ADC.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */ /* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */

@ -145,12 +145,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
LEDs_Init(); LEDs_Init();

@ -48,6 +48,7 @@
#include <LUFA/Drivers/Peripheral/Serial.h> #include <LUFA/Drivers/Peripheral/Serial.h>
#include <LUFA/Drivers/Misc/RingBuffer.h> #include <LUFA/Drivers/Misc/RingBuffer.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */ /* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */

@ -60,12 +60,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Hardware Initialization */ /* Hardware Initialization */
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER); SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);

@ -47,6 +47,7 @@
#include <LUFA/Drivers/Board/Dataflash.h> #include <LUFA/Drivers/Board/Dataflash.h>
#include <LUFA/Drivers/Peripheral/SPI.h> #include <LUFA/Drivers/Peripheral/SPI.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
#include "USBDeviceMode.h" #include "USBDeviceMode.h"
#include "USBHostMode.h" #include "USBHostMode.h"

@ -169,12 +169,14 @@ void UARTBridge_Task(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */ /** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void) void SetupHardware(void)
{ {
#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */ /* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF); MCUSR &= ~(1 << WDRF);
wdt_disable(); wdt_disable();
/* Disable clock division */ /* Disable clock division */
clock_prescale_set(clock_div_1); clock_prescale_set(clock_div_1);
#endif
/* Disable JTAG debugging */ /* Disable JTAG debugging */
MCUCR |= (1 << JTD); MCUCR |= (1 << JTD);
@ -197,8 +199,8 @@ void SetupHardware(void)
#if defined(RESET_TOGGLES_LIBUSB_COMPAT) #if defined(RESET_TOGGLES_LIBUSB_COMPAT)
UpdateCurrentCompatibilityMode(); UpdateCurrentCompatibilityMode();
#endif #endif
/* USB Stack Initialization */ /* USB Stack Initialization */
USB_Init(); USB_Init();
} }

@ -45,7 +45,7 @@
#include "USARTDescriptors.h" #include "USARTDescriptors.h"
#include "AVRISPDescriptors.h" #include "AVRISPDescriptors.h"
#include "Lib/V2Protocol.h" #include "Lib/V2Protocol.h"
#include "Lib/SoftUART.h" #include "Lib/SoftUART.h"
#include "Config/AppConfig.h" #include "Config/AppConfig.h"
@ -53,6 +53,7 @@
#include <LUFA/Drivers/Board/LEDs.h> #include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Misc/RingBuffer.h> #include <LUFA/Drivers/Misc/RingBuffer.h>
#include <LUFA/Drivers/USB/USB.h> #include <LUFA/Drivers/USB/USB.h>
#include <LUFA/Platform/Platform.h>
/* Macros: */ /* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */ /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
@ -97,7 +98,7 @@
const uint8_t wIndex, const uint8_t wIndex,
const void** const DescriptorAddress, const void** const DescriptorAddress,
uint8_t* const DescriptorMemorySpace) uint8_t* const DescriptorMemorySpace)
ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3) ATTR_NON_NULL_PTR_ARG(4); ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3) ATTR_NON_NULL_PTR_ARG(4);
#endif #endif

Loading…
Cancel
Save