summaryrefslogtreecommitdiffstats
path: root/Kod
diff options
context:
space:
mode:
Diffstat (limited to 'Kod')
-rw-r--r--Kod/bilbana/yc4/display/get_response.m2
-rw-r--r--Kod/bilbana/yc4/main.m40
2 files changed, 39 insertions, 3 deletions
diff --git a/Kod/bilbana/yc4/display/get_response.m b/Kod/bilbana/yc4/display/get_response.m
index 0c77a00..aab66a6 100644
--- a/Kod/bilbana/yc4/display/get_response.m
+++ b/Kod/bilbana/yc4/display/get_response.m
@@ -36,7 +36,7 @@ pointer = pointer + 1;
% total length
data = struct;
-while pointer < length(display_data) - 1 % last value is bcc
+while pointer < length(display_data) - 1 % (last value is bcc)
pointer = pointer + 1;
if display_data(pointer) ~= 27
% TODO: no ESC?
diff --git a/Kod/bilbana/yc4/main.m b/Kod/bilbana/yc4/main.m
index cad395a..effe075 100644
--- a/Kod/bilbana/yc4/main.m
+++ b/Kod/bilbana/yc4/main.m
@@ -6,7 +6,7 @@ cd display/ClientServerApp/Release
cd ../../..
display = struct;
-display.data = [clear_display()];
+display.data = [];
display.out = 0;
display.shm = 0;
display.shm_interp = struct;
@@ -14,7 +14,6 @@ display.shm_interp.ack = 0;
display.shm_interp.start_code = '';
display.shm_interp.data = [];
display.last_send = tic;
-display.last_request = tic;
display.send_interval = 0.5;
disp('Startar bilbanan. Avsluta med q.')
@@ -64,6 +63,43 @@ highToc = 0;
%% ASK ACTIVE CARS
disp('J = Ja (automatiskt), M = Ja (manuellt), N = Nej');
+%% DRAW DISPLAY
+matlabclient(1, get_smallpackage([ ...
+ put_text(160, 30, 'C', 'Choose which car to drive'), ...
+ define_touch_switch(98 , 60 , 130, 90 , 11, 12, 'C', '1'), ...
+ define_touch_switch(102, 98 , 126, 122, 13, 14, 'C', 'M'), ...
+ define_touch_switch(190, 60 , 222, 90 , 21, 22, 'C', '2'), ...
+ define_touch_switch(194, 98 , 218, 122, 23, 61, 'C', 'M'), ...
+ define_touch_key( 272, 192, 304, 224, 31, 32, 'C', 'S') ...
+]));
+
+display.last_check = tic;
+while 1
+ pause(0.1);
+ if toc(display.last_check) > 0.5
+ display.last_check = tic;
+ % read internal mem from last send
+ [display.out, display.shm] = matlabclient(2);
+ [display.shm_interp.ack, display.shm_interp.start_code, display.shm_interp.data] = get_response(display.shm);
+
+ % request internal mem
+ matlabclient(1, hex2dec(['12'; '01'; '53'; '66']));
+
+ if isempty(display.shm_interp.data)
+ disp('tomt')
+ continue
+ end
+ for i = 1:length(display.shm_interp.data)
+ disp(num2str(length(display.shm_interp.data)))
+ data = display.shm_interp.data(i);
+ disp(data)
+ if data.data == 31
+ disp('WAHO')
+ end
+ end
+ end
+end
+
car1.response = input('Vill du köra bil 1? [N] ', 's');
if car1.response == 'J'
car1.running = true;