AppConfigHeaders: Move out the last of the demo/app configurations into new AppConfig.h header files.

This commit is contained in:
Dean Camera 2012-05-13 21:01:23 +00:00
parent ae6a514929
commit e9e6730d49
57 changed files with 664 additions and 162 deletions

View file

@ -94,7 +94,7 @@ void SetupHardware(void)
USB_Init();
/* Start the ADC conversion in free running mode */
ADC_StartReading(ADC_REFERENCE_AVCC | ADC_RIGHT_ADJUSTED | MIC_IN_ADC_MUX_MASK);
ADC_StartReading(ADC_REFERENCE_AVCC | ADC_RIGHT_ADJUSTED | ADC_GET_CHANNEL_MASK(MIC_IN_ADC_CHANNEL));
}
/** ISR to handle the reloading of the data endpoint with the next sample. */

View file

@ -49,14 +49,9 @@
#include <LUFA/Drivers/USB/USB.h>
#include "Descriptors.h"
#include "Config/AppConfig.h"
/* Macros: */
/** ADC channel number for the microphone input. */
#define MIC_IN_ADC_CHANNEL 2
/** ADC channel MUX mask for the microphone input. */
#define MIC_IN_ADC_MUX_MASK ADC_CHANNEL2
/** Maximum audio sample value for the microphone input. */
#define SAMPLE_MAX_RANGE 0xFFFF

View file

@ -72,6 +72,11 @@
* <td><b>Description:</b></td>
* </tr>
* <tr>
* <td>MIC_IN_ADC_CHANNEL</td>
* <td>AppConfig.h</td>
* <td>Sets the ADC channel used by the demo for the input audio samples from an attached microphone.</td>
* </tr>
* <tr>
* <td>USE_TEST_TONE</td>
* <td>AppConfig.h</td>
* <td>When defined, this alters the demo to produce a square wave test tone when the first board button is pressed

View file

@ -43,6 +43,8 @@
#ifndef _APP_CONFIG_H_
#define _APP_CONFIG_H_
#define MIC_IN_ADC_CHANNEL 2
#define MICROPHONE_BIASED_TO_HALF_RAIL
#define USE_TEST_TONE

View file

@ -0,0 +1,48 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2012.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaim all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief Application Configuration Header File
*
* This is a header file which is be used to configure some of
* the application's compile time options, as an alternative to
* specifying the compile time constants supplied through a
* makefile or build system.
*
* For information on what each token does, refer to the
* \ref Sec_Options section of the application documentation.
*/
#ifndef _APP_CONFIG_H_
#define _APP_CONFIG_H_
#define GENERIC_REPORT_SIZE 8
#endif

View file

@ -40,6 +40,8 @@
#include <avr/pgmspace.h>
#include <LUFA/Drivers/USB/USB.h>
#include "Config/AppConfig.h"
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
@ -63,9 +65,6 @@
/** Size in bytes of the Generic HID reporting endpoint. */
#define GENERIC_EPSIZE 8
/** Size in bytes of the Generic HID reports (including report ID byte). */
#define GENERIC_REPORT_SIZE 8
/* Function Prototypes: */
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,

View file

@ -44,7 +44,8 @@
#include <string.h>
#include "Descriptors.h"
#include "Config/AppConfig.h"
#include <LUFA/Version.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>

View file

@ -67,9 +67,9 @@
* </tr>
* <tr>
* <td>GENERIC_REPORT_SIZE</td>
* <td>Descriptors.h</td>
* <td>This token defines the size of the device reports, both sent and received. The value must be an
* integer ranging from 1 to 255.</td>
* <td>AppConfig.h</td>
* <td>This token defines the size of the device reports, both sent and received (including report ID byte). The value
* must be an integer ranging from 1 to 255.</td>
* </tr>
* </table>
*/

View file

@ -0,0 +1,50 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2012.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaim all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief Application Configuration Header File
*
* This is a header file which is be used to configure some of
* the application's compile time options, as an alternative to
* specifying the compile time constants supplied through a
* makefile or build system.
*
* For information on what each token does, refer to the
* \ref Sec_Options section of the application documentation.
*/
#ifndef _APP_CONFIG_H_
#define _APP_CONFIG_H_
#define TOTAL_LUNS 1
#define DISK_READ_ONLY false
#endif

View file

@ -65,6 +65,9 @@
*/
#define VIRTUAL_MEMORY_BLOCKS (VIRTUAL_MEMORY_BYTES / VIRTUAL_MEMORY_BLOCK_SIZE)
/** Blocks in each LUN, calculated from the total capacity divided by the total number of Logical Units in the device. */
#define LUN_MEDIA_BLOCKS (VIRTUAL_MEMORY_BLOCKS / TOTAL_LUNS)
/* Function Prototypes: */
void DataflashManager_WriteBlocks(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo,
const uint32_t BlockAddress,

View file

@ -47,6 +47,7 @@
#include "Lib/SCSI.h"
#include "Lib/DataflashManager.h"
#include "Config/AppConfig.h"
#include <LUFA/Version.h>
#include <LUFA/Drivers/Board/LEDs.h>
@ -68,15 +69,6 @@
/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
#define LEDMASK_USB_BUSY LEDS_LED2
/** Total number of logical drives within the device - must be non-zero. */
#define TOTAL_LUNS 1
/** Blocks in each LUN, calculated from the total capacity divided by the total number of Logical Units in the device. */
#define LUN_MEDIA_BLOCKS (VIRTUAL_MEMORY_BLOCKS / TOTAL_LUNS)
/** Indicates if the disk is write protected or not. */
#define DISK_READ_ONLY false
/* Function Prototypes: */
void SetupHardware(void);

View file

@ -83,10 +83,15 @@
* </tr>
* <tr>
* <td>TOTAL_LUNS</td>
* <td>MassStorage.h</td>
* <td>AppConfig.h</td>
* <td>Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive -
* this can be set to any positive non-zero amount.</td>
* </tr>
* <tr>
* <td>DISK_READ_ONLY</td>
* <td>AppConfig.h</td>
* <td>Configuration define, indicating if the disk should be write protected or not.</td>
* </tr>
* </table>
*/

View file

@ -0,0 +1,50 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2012.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaim all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief Application Configuration Header File
*
* This is a header file which is be used to configure some of
* the application's compile time options, as an alternative to
* specifying the compile time constants supplied through a
* makefile or build system.
*
* For information on what each token does, refer to the
* \ref Sec_Options section of the application documentation.
*/
#ifndef _APP_CONFIG_H_
#define _APP_CONFIG_H_
#define TOTAL_LUNS 1
#define DISK_READ_ONLY false
#endif

View file

@ -63,6 +63,9 @@
/** Total number of blocks of the virtual memory for reporting to the host as the device's total capacity. */
#define VIRTUAL_MEMORY_BLOCKS (VIRTUAL_MEMORY_BYTES / VIRTUAL_MEMORY_BLOCK_SIZE)
/** Blocks in each LUN, calculated from the total capacity divided by the total number of Logical Units in the device. */
#define LUN_MEDIA_BLOCKS (VIRTUAL_MEMORY_BLOCKS / TOTAL_LUNS)
/* Function Prototypes: */
void DataflashManager_WriteBlocks(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo,
const uint32_t BlockAddress,

View file

@ -50,6 +50,7 @@
#include "Lib/SCSI.h"
#include "Lib/DataflashManager.h"
#include "Config/AppConfig.h"
#include <LUFA/Version.h>
#include <LUFA/Drivers/Board/Joystick.h>
@ -73,15 +74,6 @@
/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
#define LEDMASK_USB_BUSY LEDS_LED2
/** Total number of logical drives within the device - must be non-zero. */
#define TOTAL_LUNS 1
/** Blocks in each LUN, calculated from the total capacity divided by the total number of Logical Units in the device. */
#define LUN_MEDIA_BLOCKS (VIRTUAL_MEMORY_BLOCKS / TOTAL_LUNS)
/** Indicates if the disk is write protected or not. */
#define DISK_READ_ONLY false
/* Function Prototypes: */
void SetupHardware(void);

View file

@ -84,10 +84,14 @@
* </tr>
* <tr>
* <td>TOTAL_LUNS</td>
* <td>MassStorage.h</td>
* <td>AppConfig.h</td>
* <td>Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive -
* this can be set to any positive non-zero amount.</td>
* </tr>
* </table>
* <tr>
* <td>DISK_READ_ONLY</td>
* <td>AppConfig.h</td>
* <td>Configuration define, indicating if the disk should be write protected or not.</td>
* </tr>
*/

View file

@ -29,21 +29,26 @@
*/
/** \file
* \brief Network Configuration Header File
* \brief Application Configuration Header File
*
* This header file is used to configure various portions of the
* network stack used by the application.
* This is a header file which is be used to configure some of
* the application's compile time options, as an alternative to
* specifying the compile time constants supplied through a
* makefile or build system.
*
* For information on what each token does, refer to the LUFA
* manual section "Summary of Compile Tokens".
* For information on what each token does, refer to the
* \ref Sec_Options section of the application documentation.
*/
#ifndef _NETWORK_CONFIG_H_
#define _NETWORK_CONFIG_H_
#ifndef _APP_CONFIG_H_
#define _APP_CONFIG_H_
#define CLIENT_IP_ADDRESS { 10, 0, 0, 1}
#define SERVER_IP_ADDRESS { 10, 0, 0, 2}
#define ADAPTER_MAC_ADDRESS {0x02, 0x00, 0x02, 0x00, 0x02, 0x00}
#define SERVER_MAC_ADDRESS {0x00, 0x01, 0x00, 0x01, 0x00, 0x01}
#define NO_DECODE_ETHERNET
#define NO_DECODE_ARP
#define NO_DECODE_IP

View file

@ -52,12 +52,6 @@
#include "IP.h"
/* Macros: */
/** Physical MAC address of the USB RNDIS network adapter. */
#define ADAPTER_MAC_ADDRESS {0x02, 0x00, 0x02, 0x00, 0x02, 0x00}
/** Physical MAC address of the virtual server on the network. */
#define SERVER_MAC_ADDRESS {0x00, 0x01, 0x00, 0x01, 0x00, 0x01}
/** Physical MAC address of the network broadcast address. */
#define BROADCAST_MAC_ADDRESS {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}

View file

@ -43,7 +43,7 @@
#include "EthernetProtocols.h"
#include "Ethernet.h"
#include "ProtocolDecoders.h"
#include "Config/NetworkConfig.h"
#include "Config/AppConfig.h"
/* Macros: */
/** Protocol IP address of the broadcast address. */

View file

@ -45,7 +45,7 @@
#include "EthernetProtocols.h"
#include "Ethernet.h"
#include "Config/NetworkConfig.h"
#include "Config/AppConfig.h"
/* Function Prototypes: */
void DecodeEthernetFrameHeader(void* InDataStart);

View file

@ -84,38 +84,58 @@
* <td><b>Description:</b></td>
* </tr>
* <tr>
* <td>CLIENT_IP_ADDRESS</td>
* <td>AppConfig.h</td>
* <td>Configures the IP address given to the client (PC) via the DHCP server.</td>
* </tr>
* <tr>
* <td>SERVER_IP_ADDRESS</td>
* <td>AppConfig.h</td>
* <td>Configures the IP address of the virtual server.</td>
* </tr>
* <tr>
* <td>ADAPTER_MAC_ADDRESS</td>
* <td>AppConfig.h</td>
* <td>Configures the MAC address of the RNDIS adapter on the host (PC) side.</td>
* </tr>
* <tr>
* <td>SERVER_MAC_ADDRESS</td>
* <td>AppConfig.h</td>
* <td>Configures the MAC address of the virtual server on the network.</td>
* </tr>
* <tr>
* <td>NO_DECODE_ETHERNET</td>
* <td>NetworkConfig.h</td>
* <td>AppConfig.h</td>
* <td>When defined, received Ethernet headers will not be decoded and printed to the device serial port.</td>
* </tr>
* <tr>
* <td>NO_DECODE_ARP</td>
* <td>NetworkConfig.h</td>
* <td>AppConfig.h</td>
* <td>When defined, received ARP headers will not be decoded and printed to the device serial port.</td>
* </tr>
* <tr>
* <td>NO_DECODE_IP</td>
* <td>NetworkConfig.h</td>
* <td>AppConfig.h</td>
* <td>When defined, received IP headers will not be decoded and printed to the device serial port.</td>
* </tr>
* <tr>
* <td>NO_DECODE_ICMP</td>
* <td>NetworkConfig.h</td>
* <td>AppConfig.h</td>
* <td>When defined, received ICMP headers will not be decoded and printed to the device serial port.</td>
* </tr>
* <tr>
* <td>NO_DECODE_TCP</td>
* <td>NetworkConfig.h</td>
* <td>AppConfig.h</td>
* <td>When defined, received TCP headers will not be decoded and printed to the device serial port.</td>
* </tr>
* <tr>
* <td>NO_DECODE_UDP</td>
* <td>NetworkConfig.h</td>
* <td>AppConfig.h</td>
* <td>When defined, received UDP headers will not be decoded and printed to the device serial port.</td>
* </tr>
* <tr>
* <td>NO_DECODE_DHCP</td>
* <td>NetworkConfig.h</td>
* <td>AppConfig.h</td>
* <td>When defined, received DHCP headers will not be decoded and printed to the device serial port.</td>
* </tr>
* </table>

View file

@ -0,0 +1,50 @@
/*
LUFA Library
Copyright (C) Dean Camera, 2012.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
without fee, provided that the above copyright notice appear in
all copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the author not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
The author disclaim all warranties with regard to this
software, including all implied warranties of merchantability
and fitness. In no event shall the author be liable for any
special, indirect or consequential damages or any damages
whatsoever resulting from loss of use, data or profits, whether
in an action of contract, negligence or other tortious action,
arising out of or in connection with the use or performance of
this software.
*/
/** \file
* \brief Application Configuration Header File
*
* This is a header file which is be used to configure some of
* the application's compile time options, as an alternative to
* specifying the compile time constants supplied through a
* makefile or build system.
*
* For information on what each token does, refer to the
* \ref Sec_Options section of the application documentation.
*/
#ifndef _APP_CONFIG_H_
#define _APP_CONFIG_H_
#define TOTAL_LUNS 1
#define DISK_READ_ONLY false
#endif

View file

@ -65,6 +65,9 @@
*/
#define VIRTUAL_MEMORY_BLOCKS (VIRTUAL_MEMORY_BYTES / VIRTUAL_MEMORY_BLOCK_SIZE)
/** Blocks in each LUN, calculated from the total capacity divided by the total number of Logical Units in the device. */
#define LUN_MEDIA_BLOCKS (VIRTUAL_MEMORY_BLOCKS / TOTAL_LUNS)
/* Function Prototypes: */
void DataflashManager_WriteBlocks(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo,
const uint32_t BlockAddress,

View file

@ -47,6 +47,7 @@
#include "Lib/SCSI.h"
#include "Lib/DataflashManager.h"
#include "Config/AppConfig.h"
#include <LUFA/Version.h>
#include <LUFA/Drivers/Board/LEDs.h>
@ -69,15 +70,6 @@
/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
#define LEDMASK_USB_BUSY LEDS_LED2
/** Total number of logical drives within the device - must be non-zero. */
#define TOTAL_LUNS 1
/** Blocks in each LUN, calculated from the total capacity divided by the total number of Logical Units in the device. */
#define LUN_MEDIA_BLOCKS (VIRTUAL_MEMORY_BLOCKS / TOTAL_LUNS)
/** Indicates if the disk is write protected or not. */
#define DISK_READ_ONLY false
/* Function Prototypes: */
void SetupHardware(void);
void CheckJoystickMovement(void);

View file

@ -77,10 +77,14 @@
* </tr>
* <tr>
* <td>TOTAL_LUNS</td>
* <td>MassStorage.h</td>
* <td>AppConfig.h</td>
* <td>Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive -
* this can be set to any positive non-zero amount.</td>
* </tr>
* </table>
* <tr>
* <td>DISK_READ_ONLY</td>
* <td>AppConfig.h</td>
* <td>Configuration define, indicating if the disk should be write protected or not.</td>
* </tr>
*/