?lang_form? ?lang_select? ?lang_submit? ?lang_endform?
{HEADER END}
{FILE START}

library

?curdirlinks? - Rev 6

?prevdifflink? - Blame - ?getfile?

/*! \file edpaddr.h \brief Emerald Satellite EDP/I2C Bus Addresses. */
//*****************************************************************************
//
// File Name    : 'edpaddr.h'
// Title                : Emerald Satellite EDP/I2C Bus Addresses
// Author               : Bryan Palmintier & Pascal Stang - Copyright (C) 2003
// Created              : 09/08/2003 by PS
// Revised              : 11/10/2003 by BP
// Version              : 0.9
// Target MCU   : Any
// Editor Tabs  : 4
//
// This code is distributed under the GNU Public License
//              which can be found at http://www.gnu.org/licenses/gpl.txt
//
//*****************************************************************************

#ifndef EDPADDR_H
#define EDPADDR_H

// The 8 bits of an EDP address byte breakdown as follows:
//  b0: R/W bit (1=read, 0=write)
//  b1-4: subsystem address (16 availible)
//  b5-7: satellite network mask (up to 7 unique networks with 1 reserved by I2C)
//  The ground station is a special case which uses 1110xxxx
#define EDPNET_MASK             0xE0    // mask for satellite/ground networks
#define EDPADDR_MASK            0x1E    // mask for subsystem addresses

// Satellite network addresses
#define EDPNET_SAT_A            0x00    // EM-1
#define EDPNET_SAT_B            0x20    // EM-2
#define EDPNET_SAT_C            0x40    // EM-3
#define EDPNET_SAT_D            0x60    // EM-4
#define EDPNET_SAT_E            0x80    // OK-1
#define EDPNET_SAT_F            0xA0    // OK-2
#define EDPNET_SAT_G            0xC0

// Ground Station network address
// NOTE: all devices on this network must maintain b4=0
//  or risk problems with 10bit I2C addressing
#define EDPNET_GROUND           0xE0

// Test subsystem address
// Note: it is OK to use these susbsystem addresses with the EDPADDR_GROUND mask
#define EDPADDR_TEST            0x02    // generic test address (LEDs etc)
#define EDPADDR_GROUND          0x04    // address for ground testing

// Subsystem addresses
// "Core" subsystems, those found on all satellites, DO NOT EDIT
// Note: it is OK to use these subsystem addresses with the EDPADDR_GROUND mask
#define EDPADDR_COMM            0x06
#define EDPADDR_DALMAST         0x08
#define EDPADDR_SCHED           0x0A
#define EDPADDR_EXPSYS          0x0C
#define EDPADDR_ISCOMM          0x0E

// "Common" subsystems, those found on many satellites, DO NOT EDIT
// Note: it is NOT OK to use these subsystem addresses with the EDPADDR_GROUND mask
#define EDPADDR_GPS             0x10
#define EDPADDR_TORQUER         0x12
#define EDPADDR_MECH            0x14

// Mission Specific subsystems, EDIT AS NEEDED
// Note: it is NOT OK to use these subsystem addresses with the EDPADDR_GROUND mask
#define EDPADDR_ODDSS           0x16
#define EDPADDR_ULTRAWB         0x18
#define EDPADDR_TETHER          0x1A


// As part of the I2C protocol 000000000 is reserved for general calls and
// all 1111xxxx are reserved for 10 bit addressing
#define EDPADDR_RESERVED_GENCALL        0x00    // reserved by I2C for general call address
#define EDPADDR_RESERVED_10BIT          0xF0    // reserved by I2C for 10bit addressing

#endif
{FILE END}
{FOOTER START}

Powered by WebSVN v2.8.3