0001 function flags = applyFlag(d, flagRegTemp, flagServTemp, ... 0002 flagRxTemp, bitNum) 0003 0004 if(~isempty(flagRegTemp)) 0005 flagServTemp = repmat(flagRegTemp, [1 5]); 0006 flagServTemp = flagServTemp'; 0007 flagServTemp = flagServTemp(:); 0008 0009 flagRxTemp = repmat(flagRegTemp, [1 100]); 0010 flagRxTemp = flagRxTemp'; 0011 flagRxTemp = flagRxTemp(:); 0012 0013 elseif(~isempty(flagServTemp)) 0014 flagRegTemp = reshape(flagServTemp, [5, length(flagServTemp)/5]); 0015 flagRegTemp = mean(flagRegTemp) == 1; 0016 flagRegTemp = flagRegTemp'; 0017 0018 flagRxTemp = repmat(flagServTemp, [1 20]); 0019 flagRxTemp = flagRxTemp'; 0020 flagRxTemp = flagRxTemp(:); 0021 elseif(~isempty(flagRxTemp)) 0022 flagRegTemp = reshape(flagRxTemp, [100, length(flagRxTemp)/100]); 0023 flagRegTemp = mean(flagRegTemp) == 1; 0024 flagRegTemp = flagRegTemp'; 0025 0026 flagServTemp = reshape(flagRxTemp, [20, length(flagRxTemp)/20]); 0027 flagServTemp = mean(flagServTemp) == 1; 0028 flagServTemp = flagServTemp'; 0029 else 0030 error('No flags passed'); 0031 end 0032 0033 0034 flags.bit.slow = uint8(2.^(bitNum)*double(flagRegTemp)); 0035 0036 flags.bit.medium = uint8(2.^(bitNum)*double(flagServTemp)); 0037 0038 flags.bit.fast = repmat(uint8(2.^(bitNum)*double(flagRxTemp)), [1 6]); 0039 0040 return;