EE445M RTOS
Taken at the University of Texas Spring 2015
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
defines.h
Go to the documentation of this file.
1
11
/* TODO: Doxygenize better */
12
13
#ifndef __DEFINES__
14
#define __DEFINES__
15
16
#include <stdint.h>
17
18
/* os/task defines */
21
typedef
void (*
task_t
)();
22
23
typedef
void (*
isr_t
)();
/* isr capable of hw_notifying */
24
typedef
int32_t
frequency_t
;
25
26
/*** Custom data types ***/
27
/* swiss army knife data types */
28
#ifndef null
29
#define null 0x00
30
#endif
31
#ifndef NULL
32
#define NULL 0x00
33
#endif
34
typedef
unsigned
char
uchar
;
35
typedef
unsigned
short
ushort
;
36
typedef
unsigned
long
ulong
;
37
38
#include <stdbool.h>
39
40
/* shape.h data types */
41
#define shade_t unsigned char
42
#define mu_fields_t unsigned char
43
#define mu_input_event_t unsigned char
44
45
/* OLED data types */
46
#define pixel_t unsigned char
47
#define x_pixel_t pixel_t
48
#define y_pixel_t pixel_t
49
50
/* Graphlib data types */
51
#define y_range_t
52
#define x_range_t
53
54
/* adc data types */
55
#define adc_t unsigned short
56
#define temperature_t long
57
/*** End custom data types ***/
58
59
/*** Syntactic sugar ***/
60
#define when(cond) if(true == (cond))
61
#define private
62
#define public
63
64
/* colorized output through gcc */
65
#define ANSI_COLOR_RED "\x1b[31m"
66
#define ANSI_COLOR_GREEN "\x1b[32m"
67
#define ANSI_COLOR_YELLOW "\x1b[33m"
68
#define ANSI_COLOR_BLUE "\x1b[34m"
69
#define ANSI_COLOR_MAGENTA "\x1b[35m"
70
#define ANSI_COLOR_CYAN "\x1b[36m"
71
#define ANSI_COLOR_RESET "\x1b[0m"
72
73
/* mnemonics for framebuffer shades */
74
#define FB_SHADE_ERASE ((shade_t) 0)
75
#define FB_SHADE_MIN ((shade_t) 1)
76
#define FB_SHADE_MINOR ((shade_t) 4)
77
#define FB_SHADE_MID ((shade_t) 7)
78
#define FB_SHADE_MUCH ((shade_t) 11)
79
#define FB_SHADE_MAX ((shade_t) 15)
80
/* whoops.. backwards compatability */
81
#define FB_COLOR_ERASE ((shade_t) 0)
82
#define FB_COLOR_MIN ((shade_t) 1)
83
#define FB_COLOR_MINOR ((shade_t) 4)
84
#define FB_COLOR_MID ((shade_t) 7)
85
#define FB_COLOR_MUCH ((shade_t) 11)
86
#define FB_COLOR_MAX ((shade_t) 15)
87
88
/* custom shading through terminal */
89
#define SHADE_0 '.'
90
#define SHADE_1 '-'
91
#define SHADE_2 '*'
92
#define SHADE_3 '#'
93
#define SHADE_SIZE 4
/* bits necessary to represent different shades */
94
95
/* would be in framebuffer.h but we had scoping issues... */
96
#define FONT_VALVANO_HEIGHT ((pixel_t) 8)
97
#define FONT_VALVANO_WIDTH ((pixel_t) 5)
98
#define FONT_VALVANO_KERNING ((pixel_t) 2)
99
100
/* vertical space between lines */
101
#define FONT_VALVANO_LINE_SPACING ((pixel_t) 2)
102
/* vertical space between paragraphs */
103
#define FONT_VALVANO_PARAGRAPH_SPACING (FONT_VALVANO_LINE_SPACING+3)
104
105
/* OLED screen dimensions */
106
#define OLED_HEIGHT ((pixel_t) 96)
107
#define OLED_WIDTH ((pixel_t) 128)
108
/* synonyms used in different contexts */
109
#define RIT_FB_HEIGHT ((pixel_t) OLED_HEIGHT)
110
#define RIT_FB_WIDTH ((pixel_t) OLED_WIDTH/2)
111
/* synonyms make for happy developers */
112
#define FB_HEIGHT ((pixel_t) 96)
113
#define FB_WIDTH ((pixel_t) 128)
114
115
/* framebuffer constants */
116
#define FB_CLOCK_SET_TEXT_ROW ((pixel_t) 45)
117
#define FB_CLOCK_SET_DIGITS_ROW ((pixel_t) 55)
118
#define FB_CLOCK_SET_HOUR_COLUMN ((pixel_t) 47)
119
#define FB_CLOCK_SET_COLON_COLUMN ((pixel_t) 61)
120
#define FB_CLOCK_SET_MIN_COLUMN ((pixel_t) 66)
121
122
#endif
ulong
unsigned long ulong
Definition:
defines.h:36
isr_t
void(* isr_t)()
Definition:
defines.h:23
task_t
void(* task_t)()
Definition:
defines.h:21
ushort
unsigned short ushort
Definition:
defines.h:35
uchar
unsigned char uchar
Definition:
defines.h:34
frequency_t
int32_t frequency_t
Definition:
defines.h:24
lib
libstd
defines.h
Generated on Fri Mar 13 2015 21:18:37 for EE445M RTOS by
1.8.9.1