Library for MI0283QT-2 LCD
calibrate.h@0:7ad454fed160, 2012-05-23 (annotated)
- Committer:
- clemente
- Date:
- Wed May 23 06:25:31 2012 +0000
- Revision:
- 0:7ad454fed160
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
clemente | 0:7ad454fed160 | 1 | /* |
clemente | 0:7ad454fed160 | 2 | * |
clemente | 0:7ad454fed160 | 3 | * Copyright (c) 2001, Carlos E. Vidales. All rights reserved. |
clemente | 0:7ad454fed160 | 4 | * |
clemente | 0:7ad454fed160 | 5 | * This sample program was written and put in the public domain |
clemente | 0:7ad454fed160 | 6 | * by Carlos E. Vidales. The program is provided "as is" |
clemente | 0:7ad454fed160 | 7 | * without warranty of any kind, either expressed or implied. |
clemente | 0:7ad454fed160 | 8 | * If you choose to use the program within your own products |
clemente | 0:7ad454fed160 | 9 | * you do so at your own risk, and assume the responsibility |
clemente | 0:7ad454fed160 | 10 | * for servicing, repairing or correcting the program should |
clemente | 0:7ad454fed160 | 11 | * it prove defective in any manner. |
clemente | 0:7ad454fed160 | 12 | * You may copy and distribute the program's source code in any |
clemente | 0:7ad454fed160 | 13 | * medium, provided that you also include in each copy an |
clemente | 0:7ad454fed160 | 14 | * appropriate copyright notice and disclaimer of warranty. |
clemente | 0:7ad454fed160 | 15 | * You may also modify this program and distribute copies of |
clemente | 0:7ad454fed160 | 16 | * it provided that you include prominent notices stating |
clemente | 0:7ad454fed160 | 17 | * that you changed the file(s) and the date of any change, |
clemente | 0:7ad454fed160 | 18 | * and that you do not charge any royalties or licenses for |
clemente | 0:7ad454fed160 | 19 | * its use. |
clemente | 0:7ad454fed160 | 20 | * |
clemente | 0:7ad454fed160 | 21 | * |
clemente | 0:7ad454fed160 | 22 | * File Name: calibrate.h |
clemente | 0:7ad454fed160 | 23 | * |
clemente | 0:7ad454fed160 | 24 | * |
clemente | 0:7ad454fed160 | 25 | * Definition of constants and structures, and declaration of functions |
clemente | 0:7ad454fed160 | 26 | * in Calibrate.c |
clemente | 0:7ad454fed160 | 27 | * |
clemente | 0:7ad454fed160 | 28 | */ |
clemente | 0:7ad454fed160 | 29 | |
clemente | 0:7ad454fed160 | 30 | #ifndef _CALIBRATE_H_ |
clemente | 0:7ad454fed160 | 31 | |
clemente | 0:7ad454fed160 | 32 | #define _CALIBRATE_H_ |
clemente | 0:7ad454fed160 | 33 | |
clemente | 0:7ad454fed160 | 34 | /****************************************************/ |
clemente | 0:7ad454fed160 | 35 | /* */ |
clemente | 0:7ad454fed160 | 36 | /* Included files */ |
clemente | 0:7ad454fed160 | 37 | /* */ |
clemente | 0:7ad454fed160 | 38 | /****************************************************/ |
clemente | 0:7ad454fed160 | 39 | |
clemente | 0:7ad454fed160 | 40 | #include <math.h> |
clemente | 0:7ad454fed160 | 41 | |
clemente | 0:7ad454fed160 | 42 | |
clemente | 0:7ad454fed160 | 43 | /****************************************************/ |
clemente | 0:7ad454fed160 | 44 | /* */ |
clemente | 0:7ad454fed160 | 45 | /* Definitions */ |
clemente | 0:7ad454fed160 | 46 | /* */ |
clemente | 0:7ad454fed160 | 47 | /****************************************************/ |
clemente | 0:7ad454fed160 | 48 | |
clemente | 0:7ad454fed160 | 49 | #ifndef _CALIBRATE_C_ |
clemente | 0:7ad454fed160 | 50 | #define EXTERN extern |
clemente | 0:7ad454fed160 | 51 | #else |
clemente | 0:7ad454fed160 | 52 | #define EXTERN |
clemente | 0:7ad454fed160 | 53 | #endif |
clemente | 0:7ad454fed160 | 54 | |
clemente | 0:7ad454fed160 | 55 | |
clemente | 0:7ad454fed160 | 56 | |
clemente | 0:7ad454fed160 | 57 | #ifndef OK |
clemente | 0:7ad454fed160 | 58 | #define OK 0 |
clemente | 0:7ad454fed160 | 59 | #define NOT_OK 1 |
clemente | 0:7ad454fed160 | 60 | #endif |
clemente | 0:7ad454fed160 | 61 | |
clemente | 0:7ad454fed160 | 62 | |
clemente | 0:7ad454fed160 | 63 | |
clemente | 0:7ad454fed160 | 64 | #define INT32 long |
clemente | 0:7ad454fed160 | 65 | |
clemente | 0:7ad454fed160 | 66 | |
clemente | 0:7ad454fed160 | 67 | |
clemente | 0:7ad454fed160 | 68 | |
clemente | 0:7ad454fed160 | 69 | /****************************************************/ |
clemente | 0:7ad454fed160 | 70 | /* */ |
clemente | 0:7ad454fed160 | 71 | /* Structures */ |
clemente | 0:7ad454fed160 | 72 | /* */ |
clemente | 0:7ad454fed160 | 73 | /****************************************************/ |
clemente | 0:7ad454fed160 | 74 | |
clemente | 0:7ad454fed160 | 75 | |
clemente | 0:7ad454fed160 | 76 | typedef struct Point { |
clemente | 0:7ad454fed160 | 77 | INT32 x, |
clemente | 0:7ad454fed160 | 78 | y ; |
clemente | 0:7ad454fed160 | 79 | } POINT ; |
clemente | 0:7ad454fed160 | 80 | |
clemente | 0:7ad454fed160 | 81 | |
clemente | 0:7ad454fed160 | 82 | |
clemente | 0:7ad454fed160 | 83 | typedef struct Matrix { |
clemente | 0:7ad454fed160 | 84 | /* This arrangement of values facilitates |
clemente | 0:7ad454fed160 | 85 | * calculations within getDisplayPoint() |
clemente | 0:7ad454fed160 | 86 | */ |
clemente | 0:7ad454fed160 | 87 | INT32 An, /* A = An/Divider */ |
clemente | 0:7ad454fed160 | 88 | Bn, /* B = Bn/Divider */ |
clemente | 0:7ad454fed160 | 89 | Cn, /* C = Cn/Divider */ |
clemente | 0:7ad454fed160 | 90 | Dn, /* D = Dn/Divider */ |
clemente | 0:7ad454fed160 | 91 | En, /* E = En/Divider */ |
clemente | 0:7ad454fed160 | 92 | Fn, /* F = Fn/Divider */ |
clemente | 0:7ad454fed160 | 93 | Divider ; |
clemente | 0:7ad454fed160 | 94 | } MATRIX ; |
clemente | 0:7ad454fed160 | 95 | |
clemente | 0:7ad454fed160 | 96 | |
clemente | 0:7ad454fed160 | 97 | |
clemente | 0:7ad454fed160 | 98 | |
clemente | 0:7ad454fed160 | 99 | /****************************************************/ |
clemente | 0:7ad454fed160 | 100 | /* */ |
clemente | 0:7ad454fed160 | 101 | /* Function declarations */ |
clemente | 0:7ad454fed160 | 102 | /* */ |
clemente | 0:7ad454fed160 | 103 | /****************************************************/ |
clemente | 0:7ad454fed160 | 104 | |
clemente | 0:7ad454fed160 | 105 | |
clemente | 0:7ad454fed160 | 106 | EXTERN unsigned char setCalibrationMatrix( POINT * display, |
clemente | 0:7ad454fed160 | 107 | POINT * screen, |
clemente | 0:7ad454fed160 | 108 | MATRIX * matrix) ; |
clemente | 0:7ad454fed160 | 109 | |
clemente | 0:7ad454fed160 | 110 | |
clemente | 0:7ad454fed160 | 111 | EXTERN unsigned char getDisplayPoint( POINT * display, |
clemente | 0:7ad454fed160 | 112 | POINT * screen, |
clemente | 0:7ad454fed160 | 113 | MATRIX * matrix ) ; |
clemente | 0:7ad454fed160 | 114 | |
clemente | 0:7ad454fed160 | 115 | |
clemente | 0:7ad454fed160 | 116 | #endif /* _CALIBRATE_H_ */ |
clemente | 0:7ad454fed160 | 117 |