1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-11 22:24:13 +01:00
Arduino/build/shared/lib/avrlib/rsl/satmb.h

114 lines
3.5 KiB
C
Raw Normal View History

/*! \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 : 2004.10.13
// 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)
u16 satmbV1GetCurrent(DallasSubsysId* targetSubsysId);
u16 satmbV2GetCurrent(DallasSubsysId* targetSubsysId);
u08 satmbV1GetOverCurrent(DallasSubsysId* targetSubsysId);
u08 satmbV2GetOverCurrent(DallasSubsysId* targetSubsysId);
void satmbV1SetPowerState(DallasSubsysId* targetSubsysId, u08 state);
void satmbV2SetPower(DallasSubsysId* targetSubsysId, u08 state);
void satmbSetPowerState(dallas_rom_id_T* targetRomId, u08 state);
#endif