Files @ a5d9aa0655fc
Branch filter:

Location: seniordesign-firmware/master/master/config.h

ethanzonca@CL-ENS241-08.cedarville.edu
Added battery voltage, documentation, refactoring, etc.
/*
 * Master Firmware: Configuration
 *
 * Wireless Observational Modular Aerial Network
 * 
 * Ethan Zonca
 * Matthew Kanning
 * Kyle Ripperger
 * Matthew Kroening
 *
 */

#ifndef CONFIG_H_
#define CONFIG_H_

#include <avr/pgmspace.h>

// --------------------------------------------------------------------------
// Hardware settings
// --------------------------------------------------------------------------

#define F_CPU 11059200
#define BOARDTEMP_ADDR 0x90


// --------------------------------------------------------------------------
// Module config (master.c)
// --------------------------------------------------------------------------

// Debug Output
//#define DEBUG_OUTPUT

// Blackout (turn off all but power LEDs)
#define BLACKOUT_ENABLE
#define BLACKOUT_TIMEOUT 300000 // Blackout after 5 minutes (hopefully after fix)

// Board heater setpoint
#define HEATER_THRESHOLD 60

// Touchdown buzzer
#define BUZZER_RATE 3000
#define BUZZER_DURATION 1
#define BUZZER_FAILSAFE_DURATION 600000
#define BUZZER_TRIGGER_MINDURATION 1
#define BUZZER_TRIGGER_MAXALTITUDE 1

// --------------------------------------------------------------------------
// Error Codes config (logger.c)
// --------------------------------------------------------------------------

// SD Card
#define ERROR_SLAVETIMEOUT 0
#define ERROR_SD_INIT 1
#define ERROR_SD_PARTITION 2
#define ERROR_SD_FILE 3
#define ERROR_XBEETIMEOUT 4
#define ERROR_FATAL 5
#define ERROR_ATFAIL 6
#define ERROR_EXITAT 7
#define ERROR_INFOTEXT 8
// !!! Please specify/update detailed messages for these error codes in logger.c

// --------------------------------------------------------------------------
// Slave Sensors config (slavesensors.c)
// --------------------------------------------------------------------------

// Slave data structure size
#define MAX_NUM_SLAVES 5	// Maximum number of nodes in the system
#define MAX_NUM_SENSORS 10	// Maximum number of unique types of sensors in the system

// Node identifier of log destination xbee
#define XBEE_LOGDEST_NAME "HAB-LOGGER"

// Rate to request data from slaves. Must be greater than AT delay * number slaves
#define DATAREQUEST_RATE 3000

// Timeouts
#define TIMEOUT_SLAVEREQUEST 1000
#define TIMEOUT_NETWORKSCAN 7000
#define TIMEOUT_EXITAT 2000
#define TIMEOUT_XBEERESPONSE 2000

// Slave data request max retries (for retry upon corrupt data reception)
#define MAX_SLAVEREQUEST_RETRIES 2


// --------------------------------------------------------------------------
// Command Parser config (serparser.c)
// --------------------------------------------------------------------------

// Maximum payload size of command
#define MAX_PAYLOAD_LEN 16

// Circular serial buffer size. Must be at least MAX_CMD_LEN + 5
#define BUFFER_SIZE 128 


// --------------------------------------------------------------------------
// GPS config (xxx.c)
// --------------------------------------------------------------------------

// NMEA circular buffer size. Must be large enough to hold all received sentences
#define NMEABUFFER_SIZE 150


// --------------------------------------------------------------------------
// USART config (serial.c)
// --------------------------------------------------------------------------

// Baud rates for XBEE and GPS serial ports
#define USART0_BAUDRATE 115200
#define USART1_BAUDRATE 115200


// --------------------------------------------------------------------------
// AX.25 config (ax25.c)
// --------------------------------------------------------------------------

// TX delay in milliseconds
#define TX_DELAY      500

// Maximum packet delay
#define MAX_PACKET_LEN 512  // bytes


// --------------------------------------------------------------------------
// APRS config (aprs.c)
// --------------------------------------------------------------------------

// Set your callsign and SSID here. Common values for the SSID are
// (from http://zlhams.wikidot.com/aprs-ssidguide):
//
// - Balloons:  11
// - Cars:       9
// - Home:       0
// - IGate:      5
#define S_CALLSIGN      "KD8TDF"
#define S_CALLSIGN_ID   9 // 11

// Destination callsign: APRS (with SSID=0) is usually okay.
#define D_CALLSIGN      "APRS"
#define D_CALLSIGN_ID   0

// Digipeating paths:
// (read more about digipeating paths here: http://wa8lmf.net/DigiPaths/ )
// The recommended digi path for a balloon is WIDE2-1 or pathless. The default
// is pathless. Uncomment the following two lines for WIDE2-1 path:
#define DIGI_PATH1      "WIDE2"
#define DIGI_PATH1_TTL  1

// Transmit the APRS sentence every X milliseconds
#define APRS_TRANSMIT_PERIOD 20000


// --------------------------------------------------------------------------
// Logger config (logger.c)
// --------------------------------------------------------------------------

// Log number EEPROM address (this number is incremented on boot, used for filenames)
#define LOGGER_ID_EEPROM_ADDR 0x10

// Written to the beginning of every log file
#define LOGGER_HEADERTEXT "HAB Control Master - 1.0\n"

// Log to SD card every X milliseconds
#define LOGGER_RATE 1000 

// LED cycle indicator speed
#define LEDCYCLE_RATE 100 


#endif /* CONFIG_H_ */