This appears to be possible. Typing ii.crow.help() produces the following list of commands:
-- commands
ii.crow.output( channel, level )
ii.crow.slew( channel, time )
ii.crow.call1( arg )
ii.crow.call2( arg1, arg2 )
ii.crow.call3( arg1, arg2, arg3 )
ii.crow.call4( arg1, arg2, arg3, arg4 )
-- request params
ii.crow.get( 'input', channel )
ii.crow.get( 'output', channel )
ii.crow.get( 'query0' )
ii.crow.get( 'query1', arg1 )
ii.crow.get( 'query2', arg1 )
ii.crow.get( 'query3', arg1, arg2 )
-- then receive
ii.crow.event = function( e, data )
if e == 'input' then
-- handle input response
elseif e == 'output' then
elseif e == 'query0' then
elseif e == 'query1' then
elseif e == 'query2' then
elseif e == 'query3' then
end
end
I hadn’t considered Crow as a Crow expander before, but it seems like it’d be pretty powerful since you could use them together or separate, as needed.