block.RegBlockMethod('PostPropagationSetup', @DoPostPropSetup);\r
block.RegBlockMethod('ProcessParameters', @ProcessPrms);\r
block.RegBlockMethod('SetInputPortSampleTime', @SetInputPortSampleTime);\r
+ block.RegBlockMethod('SetInputPortDimensions', @SetInpPortDims);\r
block.RegBlockMethod('Start', @Start);\r
block.RegBlockMethod('Update', @Update);\r
%endfunction\r
%% above.\r
%% -------------------------------------------------------------------\r
\r
+function SetInpPortDims(block,idx,di)\r
+ block.InputPort(idx).Dimensions = di;\r
+%endfunction\r
+\r
+\r
function CheckPrms(block)\r
\r
% a = block.DialogPrm(1).Data;\r
% Initialize beam counter\r
block.Dwork(3).Data = 0;\r
% Clear space for storing last input values\r
- block.Dwork(4).Data = zeros(size(block.Dwork(2).Data));\r
+ block.Dwork(4).Data = zeros(size(block.Dwork(4).Data));\r
% Set last redraw to the past\r
block.Dwork(5).Data = -1;\r
\r
counter = block.Dwork(3).Data;\r
if length(y) == 1,\r
% Delete only the line which is going to be redrawn\r
- counter = 1;%mod(counter,3)+1;\r
+ counter = 1;%mod(counter,4)+1;\r
if oldPlot(counter), \r
delete(oldPlot(counter));\r
oldPlot(counter) = 0;\r
#define BEACON_RED 1
#define BEACON_CNT 4
-#define BEACON_BLUE1_X 0 /* R1 */
-#define BEACON_BLUE1_Y (PLAYGROUND_HEIGHT_M/2)
-#define BEACON_BLUE2_X PLAYGROUND_WIDTH_M /* R2 */
-#define BEACON_BLUE2_Y 0
-#define BEACON_BLUE3_X PLAYGROUND_WIDTH_M /* R3 */
-#define BEACON_BLUE3_Y PLAYGROUND_HEIGHT_M
-#define BEACON_BLUE4_X PLAYGROUND_WIDTH_M /* R4 */
-#define BEACON_BLUE4_Y BASKET_WIDTH
+struct beacon_pos {
+ float x, y;
+};
-#define BEACON_RED1_X PLAYGROUND_WIDTH_M /* S1 */
-#define BEACON_RED1_Y (PLAYGROUND_HEIGHT_M/2)
-#define BEACON_RED2_X 0 /* S2 */
-#define BEACON_RED2_Y PLAYGROUND_HEIGHT_M
-#define BEACON_RED3_X 0 /* S3 */
-#define BEACON_RED3_Y 0
-#define BEACON_RED4_X 0 /* S4 */
-#define BEACON_RED4_Y BASKET_WIDTH
+extern const struct beacon_pos beacon_blue[BEACON_CNT];
+extern const struct beacon_pos beacon_red[BEACON_CNT];
#endif /* ROBODIM_EB2008_H */