Subversion Repositories FlightCtrl

Rev

Rev 304 | Rev 1984 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 304 Rev 1444
1
#ifndef _PRINTF_P_H_
1
// Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist nicht von der Lizenz für den MikroKopter-Teil unterstellt
2
#define _PRINTF_P_H_
-
 
-
 
2
 
3
 
3
/*
-
 
4
Copyright (C) 1993 Free Software Foundation
-
 
5
 
-
 
6
This file is part of the GNU IO Library.  This library is free
-
 
7
software; you can redistribute it and/or modify it under the
4
#include <avr/pgmspace.h>
8
terms of the GNU General Public License as published by the
-
 
9
Free Software Foundation; either version 2, or (at your option)
-
 
10
any later version.
-
 
11
 
-
 
12
This library is distributed in the hope that it will be useful,
-
 
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
-
 
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-
 
15
GNU General Public License for more details.
-
 
16
 
-
 
17
You should have received a copy of the GNU General Public License
-
 
18
along with this library; see the file COPYING.  If not, write to the Free
-
 
19
Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
 
20
 
-
 
21
As a special exception, if you link this library with files
-
 
22
compiled with a GNU compiler to produce an executable, this does not cause
-
 
23
the resulting executable to be covered by the GNU General Public License.
-
 
24
This exception does not however invalidate any other reasons why
-
 
25
the executable file might be covered by the GNU General Public License. */
-
 
26
 
-
 
27
/*
-
 
28
 * Copyright (c) 1990 Regents of the University of California.
-
 
29
 * All rights reserved.
-
 
30
 *
-
 
31
 * Redistribution and use in source and binary forms, with or without
-
 
32
 * modification, are permitted provided that the following conditions
-
 
33
 * are met:
-
 
34
 * 1. Redistributions of source code must retain the above copyright
-
 
35
 *    notice, this list of conditions and the following disclaimer.
-
 
36
 * 2. Redistributions in binary form must reproduce the above copyright
5
 
37
 *    notice, this list of conditions and the following disclaimer in the
-
 
38
 *    documentation and/or other materials provided with the distribution.
-
 
39
 * 3. [rescinded 22 July 1999]
-
 
40
 * 4. Neither the name of the University nor the names of its contributors
-
 
41
 *    may be used to endorse or promote products derived from this software
-
 
42
 *    without specific prior written permission.
-
 
43
 *
-
 
44
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-
 
45
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-
 
46
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-
 
47
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-
 
48
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-
 
49
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-
 
50
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-
 
51
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-
 
52
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-
 
53
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-
 
54
 * SUCH DAMAGE.
-
 
55
 */
-
 
56
 
6
#define OUT_V24   0
-
 
7
#define OUT_LCD   1
57
/******************************************************************************/
-
 
58
#ifndef _PRINTF_P_H_
-
 
59
#define _PRINTF_P_H_
-
 
60
 
-
 
61
#include <avr/pgmspace.h>
8
 
-
 
9
 
-
 
10
void _printf_P (char, char const *fmt0, ...);
-
 
11
extern char PrintZiel;
-
 
12
 
62
 
13
 
63
// function pointer to external callback function
14
#define printf_P(format, args...)   _printf_P(OUT_V24,format , ## args)
64
typedef void (*pVoidFnctChar) (char );
15
#define printf(format, args...)     _printf_P(OUT_V24,PSTR(format) , ## args)
65
typedef void (*pVoidFnct_pVoidFnctChar_const_fmt) (pVoidFnctChar, char const *fmt0, ...);
16
#define LCD_printfxy(x,y,format, args...)  { DispPtr = y * 20 + x; _printf_P(OUT_LCD,PSTR(format) , ## args);}
66
extern pVoidFnct_pVoidFnctChar_const_fmt _printf_P;
17
#define LCD_printf(format, args...)  {  _printf_P(OUT_LCD,PSTR(format) , ## args);}
67
 
18
 
68
 
19
#endif
69
#endif //_PRINTF_P_H_
20
 
70