mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-02 13:24:12 +01:00
76 lines
2.8 KiB
C
Executable File
76 lines
2.8 KiB
C
Executable File
/*! \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
|