Version 2.1.0
Pre-releaseThis update primarily adds support for new ii
devices: W/2 (wtape
, wdel
, wsyn
), Disting EX (disting
), and multiple crows (crow
). Full docs are forthcoming, but for now you can inquire on-device by sending ii.<device>.help()
(eg. ii.wtape.help()
to see the full supported API for that device.
crow to crow communication
Communication from crow to crow enables:
- expanded I/O capabilities:
ii.crow.volts(...)
,ii.crow.slew(...)
andii.crow.input(...)
- high-level I/O helpers:
ii.crow.pulse(...)
,ii.crow.ar(...)
,ii.crow.lfo(...)
- generic commands:
ii.crow.call1(...)
,ii.crow.call2(...)
,ii.crow.call3(...)
,ii.crow.call4(...)
- generic requests:
ii.crow.query0()
,ii.crow.query1(...)
,ii.crow.query2(...)
,ii.crow.query3(...)
The I/O commands above are handled automatically, so the second crow doesn't need a script running at all. You can also send ii.crow.reset()
to make sure the second crow isn't running First
or some other uploaded script.
Using the ii.crow.input(ch)
query, will respond with the event ii.crow.event( event )
as is customary for ii
devices.
When the above I/O behaviours aren't sufficient for your uses, you can use the generic commands & requests. These require you to upload a script onto the second crow that handles the generic events. Do so by re-defining the functions:
ii.self.call(...) -- where ... are the received arguments (not a table)
ii.self.query(...) -- this function should return the value to be sent back over ii
This feature is marked as 'Early Access' as the command list may change somewhat after we receive more feedback of it in use. Everything works as described, but we welcome your feedback if you can improve things.
For those using crow with norns, you'll need the (TBD) release or later to take advantage of the new ii
features.
Log
- NEW
ii
support for W/2.0 firmware - NEW [Early Access]
ii
support for Disting EX - NEW [Early Access]
ii
support for crow to crow communication - FIX
ii
transmission speed increased to 400kHz (was ~90kHz) - FIX setting
metro
time to zero no longer causes crash (clamps to 500uS) - FIX
crow.reset()
now resetsoutput[n].scale
to'none'