Alex Balashov wrote:
Daniel-Constantin Mierla wrote:
IIRC, the mi command takes a bitmask as value
while the config
function takes the index in bitmask. So, if you want to test flag 2:
if(is_gflag("2"))
kamctl fifo set_gflag 4
4 = 2^2
For flag ten you have to set it via mi to 2^10 which is 1024.
Try and see if works.
This seems inconsistent and needlessly complicated and does not follow
from the documentation at all. I would recommend changing the set_gflag
MI function to take the bit offset as an argument rather than the
bitmask if is_gflag() checks the offset.
Well, OK, I take that back -- it does follow from the documentation, if
the parenthetical statements are payed careful attention. I still think
it should be changed on the MI side to be more consistent and easier to
work with.
The other problem with the current situation is that in order to set a
particular bit to 1 without wiping out any other flags that may have
been set in the past, it is necessary to first get the current value
from get_gflags and manually do the math. That's needlessly complex for
users who aren't programmers; not everybody has the powers of 2 and the
common products of powers of 2 memorised.
-- Alex
--
Alex Balashov
Evariste Systems
Web :
http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
Mobile : (+1) (678) 237-1775