Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add ii summary page and some xrefs #130

Merged
merged 2 commits into from Oct 1, 2019
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

@@ -29,7 +29,7 @@ A collaboration by [Whimsical Raps](https://www.whimsicalraps.com) and monome.

Align the 10-pin ribbon cable so the red stripe corresponds to the white indicator on the rear of the module’s circuit board. This is toward the lower edge of the module.

If you would like to use the ii functionality, be sure to observe the orientation of the connector. The white stripe indicates GND.
If you would like to use the [ii](/docs/modular/ii) functionality, be sure to observe the orientation of the connector. The white stripe indicates GND.


## First
@@ -50,7 +50,7 @@ For the code-curious, see the implementation [on github](https://github.com/mono

## Norns

Crow integrates seamlessly with norns as a CV and ii interface.
Crow integrates seamlessly with norns as a CV and [ii](/docs/modular/ii) interface.

First, be sure to [update](https://monome.org/docs/norns/#update) your norns software and then get the newest version of [awake](https://llllllll.co/t/awake/21022) and [ash](https://llllllll.co/t/ash-a-small-collection/21349). These scripts have new crow integration, and watch the [Library](https://llllllll.co/c/library) for more.

@@ -107,7 +107,7 @@ crow.input[1].query()

Run `3-ii.lua`.

Attach a Just Friends via ii. Be sure to align the GND pins. K2 will play an ascending note, K3 plays a random note.
Attach a Just Friends via [ii](/docs/modular/ii). Be sure to align the GND pins. K2 will play an ascending note, K3 plays a random note.

The ii bus requires pullup resistance, which can be toggled by crow:

@@ -35,7 +35,7 @@ Align the 10-pin ribbon cable so the red stripe corresponds to the white indicat

Be careful not to misalign the connector left-to-right either - while Ansible is protected against incorrect connection, doing so may damage other modules in your Eurorack case.

If you wish Ansible to communicate with Teletype you will need to attach the II ribbon cable behind the panel. Be sure to align the red stripe on the cable with the white line on the board.
If you wish Ansible to communicate with Teletype you will need to attach the [ii](/docs/modular/ii) ribbon cable behind the panel. Be sure to align the red stripe on the cable with the white line on the board.

Secure the module with the two included screws.

@@ -13,7 +13,7 @@ With no USB device plugged in Ansible continues to run the most recently used ap

By hitting the `preset` key (next to the USB port) with no device plugged, Ansible will toggle into Teletype mode. In this mode the Ansible's outputs and inputs function as an extender, fitting naturally into the Teletype system.

This requires the Ansible to be on the internal *II* bus, a 6 conductor ribbon behind the panel. This ribbon ships with the Ansible. Be sure to align the red stripe when connecting. For more information about different modules that can be connected to the II bus and how this works, see [here](https://llllllll.co/t/a-users-guide-to-i2c/19219).
This requires the Ansible to be on the internal [ii](/docs/modular/ii) bus, a 6 conductor ribbon behind the panel. Be sure to align the red stripe when connecting. For more information about different modules that can be connected to the ii bus and how this works, see [here](https://llllllll.co/t/a-users-guide-to-i2c/19219).

The following is a quick reference of Teletype ops that Ansible can process. For more details see the Teletype manual.

@@ -0,0 +1,52 @@
---
layout: page
permalink: /docs/modular/ii/
---

# ii

Various Monome Eurorack modules can communicate with each other by sending digital messages over an [I2C serial bus](https://en.wikipedia.org/wiki/I%C2%B2C), using any type of cable to connect between pin headers on the rear of each module. Using the I2C bus as a transport, many different modules now support a similar set of control messages, which together constitute the "ii" protocol. This was originally conceived as a way for [Teletype](/docs/modular/teletype) to interact with other devices, but now other devices also support initiating ii transmissions, including [Crow](/docs/crow).

A few quick ii tips:

* Pins on each module will be labeled GND (ground), SDA (data), and SCL (clock). These should be connected GND <-> GND, SDA <-> SDA, SCL <-> SCL, and you can connect them with any sort of 2.54mm pitch jumper cable.
* Trilogy modules support ii, but may need a pin header soldered on. See [here](/docs/modular/iiheader).
* I2C needs power to operate. This is achieved by "pulling up" the clock and data lines to 5V, meaning connecting an appropriate "pullup resistor" between SCL and 5V and between SDA and 5V. Some devices (generally those meant to act as leader devices) have pullup resistors wired, others (generally followers) do not -- some such as Crow make this controllable in software. The right choice of pullup value may depend on the number of devices attached, but in many cases you should probably only have one device pulling the lines up.
* Each device on the bus has an address, which the leader uses to indicate which device it wants to talk to. Some devices support choosing between multiple addresses, others use a fixed address. Generally all followers sharing the same address will respond identically to messages sent to that address.

For more technical information and help, please post on [lines](https://llllllll.co/t/a-users-guide-to-i2c/19219).

## faq

While [ii](/docs/modular/ii) setups with a few devices are usually
straightforward (e.g., connect headers between Teletype and Just
Friends - done!), as networks involve more modules there can be some
important considerations to keep things working. Here are some common
user questions about ii networks involving several modules, focused on
questions related to Monome devices specifically. Lots of other great
information and links are available on
[lines](https://llllllll.co/t/a-users-guide-to-i2c/19219).

### Do I need to use a Teletype "backpack"?

The newer Teletype PCBs (black) provide more power to the I2C bus and
provide more ii headers, allowing for somewhat larger ii networks out
of the box. Older (green) Teletypes can often only support 2-3
followers without needing a [powered busboard
(DIY)](https://llllllll.co/t/teletype-busboard/9579). Minimizing the
total length of wire on your bus can also help -- daisy chain rather
than using a star.

### Can I use Crow and Teletype simultaneously on the same ii bus?

Yes and no. The I2C specification is designed to allow multiple
leaders to attempt writing to the bus simultaneously. However, only a
single device in the network can be sending data at any given time. If
multiple devices transmit at once, there is a possibility of one
module locking up, or other odd behavior. As a result this type of
setup is not currently supported, though some users have found varying
degrees of success using multiple leaders.

However, Crow's pullup resistors can be enabled or disabled in software,
allowing it to be easily used as a leader or a follower. Support for
controlling some of Crow's functionality from Teletype is planned.
@@ -9,7 +9,7 @@ permalink: /docs/modular/iiheader/

---

In order for the monome trilogy modules to interact with teletype, they use a communication bus called `II`. This is a simple I2C bus implemented over a 3 or 6 pin ribbon cable. While Teletype ships with the required header already populated, older trilogy modules need to have a small 3pin header attached to the circuit board.
In order for the monome trilogy modules to interact with teletype, they use a communication bus called [ii](/docs/modular/ii). This is a simple I2C bus implemented over a 3 or 6 pin ribbon cable. While Teletype ships with the required header already populated, older trilogy modules need to have a small 3pin header attached to the circuit board.

The three required 3-pin headers are included with teletype, inserted into the II ribbon cable in the box. You will only need to use as many headers as you have trilogy modules, up to a maximum of three. *Remove any remaining headers from the ribbon cable before installation*.

@@ -25,7 +25,7 @@ Just Type comes pre-installed since Just Friends v3 (late 2017). Get the update

Just Type also requires [Teletype 2.0+](https://monome.org/docs/modular/update/). Any 2.x+ commands in the accompanying musical examples will be explained and hyperlinked to reference points in the [manual](https://monome.org/docs/modular/teletype/manual/).

And of course you'll need to connect an [ii cable](https://market.monome.org/collections/other/products/ii-cable) between the TT and JF. If you have more than 3 modules on your ii bus you will likely need a [TT bus board](https://market.monome.org/collections/other/products/tt-busboard) to ensure the electrical levels are correct.
And of course you'll need to connect an [ii cable](https://market.monome.org/collections/other/products/ii-cable) between the TT and JF. If you have more than 3 modules on your [ii bus](/docs/modular/ii) you will likely need a [TT bus board](https://market.monome.org/collections/other/products/tt-busboard) to ensure the electrical levels are correct.

## Practical Magic

@@ -102,7 +102,7 @@ Featured in the banner video above.

Just Friends is set to *shape/sustain*. Mangrove's *FORMANT* is sent through *6N* while its *SQUARE* is providing subtle FM.

This scene makes heavy use of two features from Teletype 2.x, [EVERY](https://monome.org/docs/modular/teletype/manual/#every) and [Turtle (@)](https://monome.org/docs/modular/teletype/manual/#turtle).
This scene makes heavy use of two features from Teletype 2.x, [EVERY](https://monome.org/docs/modular/teletype/manual/#every) and [Turtle (@)](https://monome.org/docs/modular/teletype/manual/#turtle).

- `EVERY x:` is a control flow mod that runs a command every `x` times it’s called.
- `@` is a two-dimensional movable index of pattern values on the *TRACKER* screen.
@@ -116,12 +116,12 @@ The `M` script:

- clocks Turtle's steps (`@STEP`)
- randomizes Turtle's direction (`@DIR RRAND -180 180`)
- passes the value in Turtle’s current position to CV 1 (`CV 1 N @`)
- executes `SCRIPT 1`, which sends high triggers/resets to a number of JF channels.
- passes the value in Turtle’s current position to CV 1 (`CV 1 N @`)
- executes `SCRIPT 1`, which sends high triggers/resets to a number of JF channels.

Toggle Turtle visualizer on/off with `@SHOW 1`/`@SHOW 0` in *LIVE* mode.

The scene is pretty minimal, using only one numbered script.
The scene is pretty minimal, using only one numbered script.
`M` and `I` feature [subcommands](https://monome.org/docs/modular/teletype/manual/#sub-commands-1) tied together with a `;`, condensing commands into a single line.

Lots of room for expansion!
@@ -27,7 +27,7 @@ Align the 10-pin ribbon cable so the red stripe corresponds to the white indicat

Be careful not to misalign the connector left-to-right either – while Teletype is protected against incorrect connection, doing so may damage other modules in your Eurorack case.

If you wish Teletype to communicate with Ansible or other modules with II, you will need to attach the II ribbon cable as outlined in the [II Communication](http://monome.org/docs/modular/iiheader/) page.
If you wish Teletype to communicate with Ansible or other modules with [ii](/docs/modular/ii), you will need to attach the II ribbon cable as outlined in the [II Communication](http://monome.org/docs/modular/iiheader/) page.

Secure the module with the four included screws, hiding under the tape in the box lid.

@@ -61,5 +61,3 @@ The basics of Teletype are quick to learn. The tutorials will get you started an
Teletype is [open-source](https://github.com/monome/teletype). Since its initial release Teletype has grown an improved extensively thanks to various contributors including @sam, @scanner_darkly, and @sliderule. Additionally the documentation has undergone full reworking.

Discussion happens at [llllllll.co](https://llllllll.co). All contributions are welcome!


ProTip! Use n and p to navigate between commits in a pull request.