?lang_form?
?lang_select?
?lang_submit?
?lang_endform?
{HEADER END}
{FILE START}
library
?curdirlinks? - Rev 6
?prevdifflink? - Blame - ?getfile?
/*! \file satmb.h \brief Satellite Motherboard Driver Functions. */
//*****************************************************************************
//
// File Name : 'satmb.h'
// Title : Satellite Motherboard Driver Functions
// Author : Pascal Stang - Copyright (C) 2004
// Created : 2004.10.13
// Revised : 2005.10.24
// Version : 0.1
// Target MCU : Atmel AVR series
// 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 SATMB_H
#define SATMB_H
#include "dallas.h"
#include "dallasids.h"
// defines and typedefs
// SAT-MB serial port control
// CTS is an output signal
#define SATMB_SER_CTS_PORT PORTB
#define SATMB_SER_CTS_DDR DDRB
#define SATMB_SER_CTS_PORTIN PINB
#define SATMB_SER_CTS_PIN PB5
// RTS is an input signal
#define SATMB_SER_RTS_PORT PORTB
#define SATMB_SER_RTS_DDR DDRB
#define SATMB_SER_RTS_PORTIN PINB
#define SATMB_SER_RTS_PIN PB6
// Serial Port Power Control (set low to turn off)
#define SATMB_SER_PWR_PORT PORTD
#define SATMB_SER_PWR_DDR DDRD
#define SATMB_SER_PWR_PORTIN PIND
#define SATMB_SER_PWR_PIN PD5
// SAT-MB Linx Radio Transceiver
// Non-UART RX line (receive)
#define SATMB_LINX_IO_RX_PORT PORTD
#define SATMB_LINX_IO_RX_DDR DDRD
#define SATMB_LINX_IO_RX_PORTIN PIND
#define SATMB_LINX_IO_RX_PIN PD4
// Non-UART TX line (transmit)
#define SATMB_LINX_IO_TX_PORT PORTB
#define SATMB_LINX_IO_TX_DDR DDRB
#define SATMB_LINX_IO_TX_PORTIN PINB
#define SATMB_LINX_IO_TX_PIN PB7
// Linx Radio Power Control (set low to turn off)
#define SATMB_LINX_PWR_PORT PORTD
#define SATMB_LINX_PWR_DDR DDRD
#define SATMB_LINX_PWR_PORTIN PIND
#define SATMB_LINX_PWR_PIN PD5
// Radio Receive Signal Strength Indicator (RSSI)
// this is an analog output
#define SATMB_LINX_RSSI_PORT PORTF
#define SATMB_LINX_RSSI_DDR DDRF
#define SATMB_LINX_RSSI_PORTIN PINF
#define SATMB_LINX_RSSI_PIN PF7
// SAT-MB Direct Dallas Bus Driver
// Dallas Line Pin
#define SATMB_DALLAS_LINE_PORT PORTE
#define SATMB_DALLAS_LINE_DDR DDRE
#define SATMB_DALLAS_LINE_PORTIN PINE
#define SATMB_DALLAS_LINE_PIN PE7
// Dallas OC-Tx Pin
#define SATMB_DALLAS_TX_PORT PORTE
#define SATMB_DALLAS_TX_DDR DDRE
#define SATMB_DALLAS_TX_PORTIN PINE
#define SATMB_DALLAS_TX_PIN PE3
// Dallas Strong-Pullup Pin
#define SATMB_DALLAS_SPU_PORT PORTE
#define SATMB_DALLAS_SPU_DDR DDRE
#define SATMB_DALLAS_SPU_PORTIN PINE
#define SATMB_DALLAS_SPU_PIN PE4
// functions
//! Initializes SAT-MB hardware
void satmbInit(void);
//! Controls power to the SAT-MB serial port
// TRUE = on
// FALSE = off
void satmbSetSerialPortPower(u08 on);
//! Initializes the SAT-MB serial port RTS/CTS lines
void satmbSerialRtsCtsInit(void);
//! Returns the current state of the SAT-MB serial port RTS line
u08 satmbSerialRtsCheck(void);
//! Sets the current state of the SAT-MB serial port CTS line
void satmbSerialCtsSet(u08 state);
// Power control commands (dallas bus)
void satmbSetPowerState(dallas_rom_id_T* targetRomId, u08 state);
//! Get the current draw from the indicated subsystem's V1 power control (V1 is usually 5V supply)
u16 satmbV1GetCurrent(DallasSubsysId* targetSubsysId);
//! Get the current draw from the indicated subsystem's V2 power control (V2 is usually 12V supply)
u16 satmbV2GetCurrent(DallasSubsysId* targetSubsysId);
//! Get the over-current state from the indicated subsystem's V1 power control
/// Returns TRUE if over-current, FALSE otherwise
u08 satmbV1GetOverCurrent(DallasSubsysId* targetSubsysId);
//! Get the over-current state from the indicated subsystem's V2 power control
/// Returns TRUE if over-current, FALSE otherwise
u08 satmbV2GetOverCurrent(DallasSubsysId* targetSubsysId);
//! Set the power control state for the indicated subsystem's V1
/// state = 1, turns the subsystem's V1 on
/// state = 0, turns the subsystem's V1 off
void satmbV1SetPowerState(DallasSubsysId* targetSubsysId, u08 state);
//! Set the power control state for the indicated subsystem's V2
/// state = 1, turns the subsystem's V2 on
/// state = 0, turns the subsystem's V2 off
void satmbV2SetPowerState(DallasSubsysId* targetSubsysId, u08 state);
#endif
|
{FILE END}
{FOOTER START}
Powered by WebSVN v2.8.3