Subversion Repositories Projects

Rev

Rev 346 | Rev 389 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 346 Rev 387
1
/****************************************************************************
1
/****************************************************************************
2
 *   Copyright (C) 2009 by Claas Anders "CaScAdE" Rathje                    *
2
 *   Copyright (C) 2009 by Claas Anders "CaScAdE" Rathje                    *
3
 *   admiralcascade@gmail.com                                               *
3
 *   admiralcascade@gmail.com                                               *
4
 *   Project-URL: http://www.mylifesucks.de/oss/c-osd/                      *
4
 *   Project-URL: http://www.mylifesucks.de/oss/c-osd/                      *
5
 *                                                                          *
5
 *                                                                          *
6
 *   This program is free software; you can redistribute it and/or modify   *
6
 *   This program is free software; you can redistribute it and/or modify   *
7
 *   it under the terms of the GNU General Public License as published by   *
7
 *   it under the terms of the GNU General Public License as published by   *
8
 *   the Free Software Foundation; either version 2 of the License.         *
8
 *   the Free Software Foundation; either version 2 of the License.         *
9
 *                                                                          *
9
 *                                                                          *
10
 *   This program is distributed in the hope that it will be useful,        *
10
 *   This program is distributed in the hope that it will be useful,        *
11
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of         *
11
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of         *
12
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
12
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
13
 *   GNU General Public License for more details.                           *
13
 *   GNU General Public License for more details.                           *
14
 *                                                                          *
14
 *                                                                          *
15
 *   You should have received a copy of the GNU General Public License      *
15
 *   You should have received a copy of the GNU General Public License      *
16
 *   along with this program; if not, write to the                          *
16
 *   along with this program; if not, write to the                          *
17
 *   Free Software Foundation, Inc.,                                        *
17
 *   Free Software Foundation, Inc.,                                        *
18
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.              *
18
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.              *
19
 ****************************************************************************/
19
 ****************************************************************************/
20
 
20
 
21
#define baud 57600
21
#define baud 57600
22
 
22
 
23
#define RXD_BUFFER_LEN          150
23
#define RXD_BUFFER_LEN          150
24
#define TXD_BUFFER_LEN          150
24
#define TXD_BUFFER_LEN          150
25
 
25
 
26
extern volatile uint8_t rxd_buffer_locked;
26
extern volatile uint8_t rxd_buffer_locked;
27
extern volatile uint8_t rxd_buffer[RXD_BUFFER_LEN];
27
extern volatile uint8_t rxd_buffer[RXD_BUFFER_LEN];
28
extern volatile uint8_t txd_buffer[TXD_BUFFER_LEN];
28
extern volatile uint8_t txd_buffer[TXD_BUFFER_LEN];
29
extern volatile uint8_t ReceivedBytes;
29
extern volatile uint8_t ReceivedBytes;
30
extern volatile uint8_t *pRxData;
30
extern volatile uint8_t *pRxData;
31
extern volatile uint8_t RxDataLen;
31
extern volatile uint8_t RxDataLen;
32
 
32
 
33
extern
33
extern
34
 
34
 
35
/**
35
/**
36
 * init usart1
36
 * init usart1
37
 */
37
 */
38
void usart1_init();
38
void usart1_init();
39
 
39
 
40
/**
40
/**
41
 * disable the txd pin of usart1
41
 * disable the txd pin of usart1
42
 */
42
 */
43
void usart1_DisableTXD(void);
43
void usart1_DisableTXD(void);
44
 
44
 
45
/**
45
/**
46
 * enable the txd pin of usart1
46
 * enable the txd pin of usart1
47
 */
47
 */
48
void usart1_EnableTXD(void);
48
void usart1_EnableTXD(void);
49
 
49
 
50
/**
50
/**
51
 * send a <string> throught usart1
51
 * send a <string> throught usart1
52
 */
52
 */
53
void usart1_puts(char*);
53
void usart1_puts(char*);
54
 
54
 
55
/**
55
/**
-
 
56
 * transmit interrupt handler
-
 
57
 * unused
-
 
58
 */
-
 
59
SIGNAL(SIG_USART1_DATA);
-
 
60
 
-
 
61
/**
56
 * receive data through usart1
62
 * receive data through usart1
57
 * portions taken and adapted from
63
 * portions taken and adapted from
58
 * http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=FlightCtrl&path=%2Fbranches%2FV0.72p+Code+Redesign+killagreg%2Fuart0.c
64
 * http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=FlightCtrl&path=%2Fbranches%2FV0.72p+Code+Redesign+killagreg%2Fuart0.c
59
 */
65
 */
60
ISR(SIG_USART1_RECV);
66
ISR(SIG_USART1_RECV);
61
 
67
 
62
/**
68
/**
63
 * Decode the recevied Buffer
69
 * Decode the recevied Buffer
64
 * portions taken and adapted from
70
 * portions taken and adapted from
65
 * http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=FlightCtrl&path=%2Ftags%2FV0.72p%2Fuart.c
71
 * http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=FlightCtrl&path=%2Ftags%2FV0.72p%2Fuart.c
66
 */
72
 */
67
void Decode64(void);
73
void Decode64(void);
68
 
74
 
69
/**
75
/**
70
 * request Data through USART in special MK format by adding checksum and
76
 * request Data through USART in special MK format by adding checksum and
71
 * encode data in modified Base64
77
 * encode data in modified Base64
72
 * portions taken and adapted from
78
 * portions taken and adapted from
73
 * http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=FlightCtrl&path=%2Ftags%2FV0.72p%2Fuart.c
79
 * http://svn.mikrokopter.de/mikrowebsvn/filedetails.php?repname=FlightCtrl&path=%2Ftags%2FV0.72p%2Fuart.c
74
 */
80
 */
75
void sendMKData(unsigned char, unsigned char, unsigned char*, unsigned char);
81
void sendMKData(unsigned char, unsigned char, unsigned char*, unsigned char);
76
 
82
 
77
/**
83
/**
78
 * short script to directly send a request thorugh usart including en- and disabling it
84
 * short script to directly send a request thorugh usart including en- and disabling it
79
 * where <address> is the address of the receipient, <label> is which data set to request
85
 * where <address> is the address of the receipient, <label> is which data set to request
80
 * and <ms> represents the milliseconds delay between data
86
 * and <ms> represents the milliseconds delay between data
81
 */
87
 */
82
void usart1_request_mk_data(uint8_t, char, uint8_t);
88
void usart1_request_mk_data(uint8_t, char, uint8_t);
83
 
89