Commit 5a135e772dfbd04f94bf444d57ecce813ea18636
1 parent
8b194ee7
MAP Files generated
Fixed exchange between main and main_map MAP almost done
Showing
7 changed files
with
48 additions
and
20 deletions
Show diff stats
Makefile
... | ... | @@ -5,30 +5,36 @@ INCLUDES= |
5 | 5 | |
6 | 6 | SOURCES=main.c printx.c ui.c serial.c nfc.c bus.c hvc.c heat.c pump.c usb.c |
7 | 7 | BMP=img/home.bmp img/main.bmp |
8 | -MAP_SRC= | |
8 | +MAP_SRC=map/main.bmp | |
9 | 9 | OBJECTS=$(SOURCES:.c=.o) |
10 | +BOZ=$(MAP_SRC:.bmp=.boz) | |
11 | +#BOZ=$(patsubst %_map.bmp,%.boz,$(MAP_SRC)) | |
12 | +MAP=$(BOZ:.boz=.map) | |
10 | 13 | BMPR=$(BMP:.bmp=.bmpr) |
11 | 14 | RGB=$(BMPR:.bmpr=.rgb) |
12 | -MAP=$(MAP_SRC:.bmp=.map) | |
13 | -BOZ=$(RGB:.rgb=.boz) | |
14 | 15 | OUTPUT=tweekd |
15 | 16 | |
16 | -all: $(SOURCES) $(BMP) $(OUTPUT) | |
17 | +all: $(SOURCES) pictures $(OUTPUT) | |
17 | 18 | |
18 | -$(OUTPUT): $(BOZ) $(OBJECTS) | |
19 | +pictures: $(MAP_SRC) $(BMP) $(MAP) $(RGB) | |
20 | + | |
21 | +$(OUTPUT): $(OBJECTS) $(MAP) | |
19 | 22 | $(CC) $(OBJECTS) $(CC_LIBS) -o $@ |
20 | 23 | |
21 | 24 | %.o: %.c |
22 | 25 | $(CC) $(INCLUDES) $(CC_FLAGS) $< -o $@ |
23 | 26 | |
24 | -%.bmpr: %.bmp | |
25 | - convert -flip $< $@ | |
26 | - | |
27 | 27 | %.rgb: %.bmpr |
28 | 28 | bmp2rgb565 $< $@ |
29 | 29 | |
30 | -%.boz: %.rgb | |
31 | - cat $< > $@ | |
30 | +%.boz: %.bmp | |
31 | + convert -flip $< $@ | |
32 | + | |
33 | +%.bmpr: %.bmp | |
34 | + convert -flip $< $@ | |
35 | + | |
36 | +%.map: %.boz | |
37 | + bmp2map $< $@ | |
32 | 38 | |
33 | 39 | clear: |
34 | 40 | rm -f $(OUTPUT) $(OBJECTS) $(BOZ) $(BMPR) $(MAP) $(RGB) |
... | ... |
img/main.xcf
No preview for this file type
img/main_map.xcf deleted
No preview for this file type
No preview for this file type
No preview for this file type
... | ... | @@ -5,6 +5,7 @@ |
5 | 5 | #include <time.h> |
6 | 6 | #include <stdbool.h> |
7 | 7 | #include <termios.h> |
8 | +#include "printx.h" | |
8 | 9 | #include "ui.h" |
9 | 10 | #include "bus.h" |
10 | 11 | #include "usb.h" |
... | ... | @@ -15,9 +16,11 @@ |
15 | 16 | #define LOG_LENGTH 82 |
16 | 17 | #define IPS 2 |
17 | 18 | #define SCREEN_TIME 1000000/IPS |
19 | +#define MAX_FILENAME_LENGTH 30 | |
18 | 20 | #define SC_HOME 0 |
19 | 21 | #define SC_MAIN 1 |
20 | -#define SPACES " " | |
22 | + | |
23 | + | |
21 | 24 | char started[TIME_LENGTH]; |
22 | 25 | char uid[HEADER_TEXT_LENGTH]; |
23 | 26 | char cmd[LOG_LENGTH]; |
... | ... | @@ -55,6 +58,31 @@ void setDebit(unsigned int d) |
55 | 58 | debit = d; |
56 | 59 | } |
57 | 60 | |
61 | +int calculateInteraction(int act, int x, int y) | |
62 | +{ | |
63 | + char filename[MAX_FILENAME_LENGTH]; | |
64 | + FILE* f = NULL; | |
65 | + switch(act) | |
66 | + { | |
67 | + case SC_HOME: | |
68 | + return act; | |
69 | + case SC_MAIN: | |
70 | + strcat(filename, "map/main.map"); | |
71 | + break; | |
72 | + default: | |
73 | + return act; | |
74 | + } | |
75 | + | |
76 | + f = fopen(filename, "r"); | |
77 | + if(f == NULL) | |
78 | + { | |
79 | + printx(ERROR, UI, "The selected map is unopenable\n"); | |
80 | + return act; | |
81 | + } | |
82 | + | |
83 | + return act; | |
84 | +} | |
85 | + | |
58 | 86 | void processScreen() |
59 | 87 | { |
60 | 88 | int x = -1; |
... | ... | @@ -66,14 +94,13 @@ void processScreen() |
66 | 94 | else |
67 | 95 | { |
68 | 96 | actScreen = SC_MAIN; |
69 | - displayPicture("img/main.boz"); | |
97 | + displayPicture("img/main.rgb"); | |
70 | 98 | } |
71 | 99 | } |
72 | 100 | else if(actScreen == SC_MAIN) |
73 | 101 | { |
74 | 102 | if(screenTouched(&x, &y)) |
75 | - displayPicture("img/home.boz"); | |
76 | - //displayPicture = calculateInteraction(displayPicture, x, y); | |
103 | + actScreen = calculateInteraction(actScreen, x, y); | |
77 | 104 | } |
78 | 105 | } |
79 | 106 | |
... | ... |
... | ... | @@ -182,7 +182,7 @@ bool initUSB(void) |
182 | 182 | |
183 | 183 | libusb_free_config_descriptor(dConfig); |
184 | 184 | |
185 | - displayPicture("img/home.boz"); | |
185 | + displayPicture("img/home.rgb"); | |
186 | 186 | |
187 | 187 | return true; |
188 | 188 | } |
... | ... | @@ -198,12 +198,7 @@ bool screenTouched(int* x, int* y) |
198 | 198 | return false; |
199 | 199 | } |
200 | 200 | |
201 | - //printx(DEBUG, UI, "%02X %02X %02X %02X", data[0], data[1], data[2], data[3]); | |
202 | - //printx(DEBUG, UI, "%02X %02X %02X %02X", data[4], data[5], data[6], data[7]); | |
203 | - //printx(DEBUG, UI, "%02X %02X %02X\n", data[8], data[9], data[10]); | |
204 | - | |
205 | 201 | *x = data[3] + (256 * (int)data[4]); |
206 | - | |
207 | 202 | *y = data[7]; |
208 | 203 | |
209 | 204 | printx(DEBUG, UI, "Screen %s at X %d Y %d\n", data[2] == 1 ? "touched" : "untouched", *x, *y); |
... | ... |