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

library

?curdirlinks? -

Blame information for rev 6

Line No. Rev Author Line
1 6 kaklik /*! \file satmb.h \brief Satellite Motherboard Driver Functions. */
2 //*****************************************************************************
3 //
4 // File Name : 'satmb.h'
5 // Title : Satellite Motherboard Driver Functions
6 // Author : Pascal Stang - Copyright (C) 2004
7 // Created : 2004.10.13
8 // Revised : 2005.10.24
9 // Version : 0.1
10 // Target MCU : Atmel AVR series
11 // Editor Tabs : 4
12 //
13 // This code is distributed under the GNU Public License
14 // which can be found at http://www.gnu.org/licenses/gpl.txt
15 //
16 //*****************************************************************************
17  
18 #ifndef SATMB_H
19 #define SATMB_H
20  
21 #include "dallas.h"
22 #include "dallasids.h"
23  
24  
25 // defines and typedefs
26  
27 // SAT-MB serial port control
28 // CTS is an output signal
29 #define SATMB_SER_CTS_PORT PORTB
30 #define SATMB_SER_CTS_DDR DDRB
31 #define SATMB_SER_CTS_PORTIN PINB
32 #define SATMB_SER_CTS_PIN PB5
33 // RTS is an input signal
34 #define SATMB_SER_RTS_PORT PORTB
35 #define SATMB_SER_RTS_DDR DDRB
36 #define SATMB_SER_RTS_PORTIN PINB
37 #define SATMB_SER_RTS_PIN PB6
38 // Serial Port Power Control (set low to turn off)
39 #define SATMB_SER_PWR_PORT PORTD
40 #define SATMB_SER_PWR_DDR DDRD
41 #define SATMB_SER_PWR_PORTIN PIND
42 #define SATMB_SER_PWR_PIN PD5
43  
44 // SAT-MB Linx Radio Transceiver
45 // Non-UART RX line (receive)
46 #define SATMB_LINX_IO_RX_PORT PORTD
47 #define SATMB_LINX_IO_RX_DDR DDRD
48 #define SATMB_LINX_IO_RX_PORTIN PIND
49 #define SATMB_LINX_IO_RX_PIN PD4
50 // Non-UART TX line (transmit)
51 #define SATMB_LINX_IO_TX_PORT PORTB
52 #define SATMB_LINX_IO_TX_DDR DDRB
53 #define SATMB_LINX_IO_TX_PORTIN PINB
54 #define SATMB_LINX_IO_TX_PIN PB7
55 // Linx Radio Power Control (set low to turn off)
56 #define SATMB_LINX_PWR_PORT PORTD
57 #define SATMB_LINX_PWR_DDR DDRD
58 #define SATMB_LINX_PWR_PORTIN PIND
59 #define SATMB_LINX_PWR_PIN PD5
60 // Radio Receive Signal Strength Indicator (RSSI)
61 // this is an analog output
62 #define SATMB_LINX_RSSI_PORT PORTF
63 #define SATMB_LINX_RSSI_DDR DDRF
64 #define SATMB_LINX_RSSI_PORTIN PINF
65 #define SATMB_LINX_RSSI_PIN PF7
66  
67 // SAT-MB Direct Dallas Bus Driver
68 // Dallas Line Pin
69 #define SATMB_DALLAS_LINE_PORT PORTE
70 #define SATMB_DALLAS_LINE_DDR DDRE
71 #define SATMB_DALLAS_LINE_PORTIN PINE
72 #define SATMB_DALLAS_LINE_PIN PE7
73 // Dallas OC-Tx Pin
74 #define SATMB_DALLAS_TX_PORT PORTE
75 #define SATMB_DALLAS_TX_DDR DDRE
76 #define SATMB_DALLAS_TX_PORTIN PINE
77 #define SATMB_DALLAS_TX_PIN PE3
78 // Dallas Strong-Pullup Pin
79 #define SATMB_DALLAS_SPU_PORT PORTE
80 #define SATMB_DALLAS_SPU_DDR DDRE
81 #define SATMB_DALLAS_SPU_PORTIN PINE
82 #define SATMB_DALLAS_SPU_PIN PE4
83  
84 // functions
85  
86 //! Initializes SAT-MB hardware
87 void satmbInit(void);
88  
89 //! Controls power to the SAT-MB serial port
90 // TRUE = on
91 // FALSE = off
92 void satmbSetSerialPortPower(u08 on);
93  
94 //! Initializes the SAT-MB serial port RTS/CTS lines
95 void satmbSerialRtsCtsInit(void);
96  
97 //! Returns the current state of the SAT-MB serial port RTS line
98 u08 satmbSerialRtsCheck(void);
99  
100 //! Sets the current state of the SAT-MB serial port CTS line
101 void satmbSerialCtsSet(u08 state);
102  
103 // Power control commands (dallas bus)
104 void satmbSetPowerState(dallas_rom_id_T* targetRomId, u08 state);
105  
106 //! Get the current draw from the indicated subsystem's V1 power control (V1 is usually 5V supply)
107 u16 satmbV1GetCurrent(DallasSubsysId* targetSubsysId);
108  
109 //! Get the current draw from the indicated subsystem's V2 power control (V2 is usually 12V supply)
110 u16 satmbV2GetCurrent(DallasSubsysId* targetSubsysId);
111  
112 //! Get the over-current state from the indicated subsystem's V1 power control
113 /// Returns TRUE if over-current, FALSE otherwise
114 u08 satmbV1GetOverCurrent(DallasSubsysId* targetSubsysId);
115  
116 //! Get the over-current state from the indicated subsystem's V2 power control
117 /// Returns TRUE if over-current, FALSE otherwise
118 u08 satmbV2GetOverCurrent(DallasSubsysId* targetSubsysId);
119  
120 //! Set the power control state for the indicated subsystem's V1
121 /// state = 1, turns the subsystem's V1 on
122 /// state = 0, turns the subsystem's V1 off
123 void satmbV1SetPowerState(DallasSubsysId* targetSubsysId, u08 state);
124  
125 //! Set the power control state for the indicated subsystem's V2
126 /// state = 1, turns the subsystem's V2 on
127 /// state = 0, turns the subsystem's V2 off
128 void satmbV2SetPowerState(DallasSubsysId* targetSubsysId, u08 state);
129  
130 #endif
{BLAME END}
{FOOTER START}

Powered by WebSVN v2.8.3