<commit_before># nodebots-interchange

![](https://img.shields.io/npm/v/nodebots-interchange.svg)
[![Join the chat at https://gitter.im/ajfisher/nodebots-interchange](https://img.shields.io/badge/Gitter-Join%20Chat-brightgreen.svg)](https://gitter.im/ajfisher/nodebots-interchange?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
![](https://img.shields.io/badge/status-Ready-green.svg)
![](https://img.shields.io/david/j5js/nodebots-interchange.svg)
![](https://img.shields.io/github/issues/j5js/nodebots-interchange.svg)

Provides a mechanism to use custom backpacks and firmatas in your nodebots easily
and without needing to use arduino or compile firmwares and all their dependencies.

Want to use a ping sensor on your nodebot or play around with neopixels? Plug in
your arduino or backpack, install the relevant firmware with interchange and
start building that nodebot.

It's as easy as:

```
interchange install hc-sr04 -a nano -p /dev/tty.wchserial1410
```

No need to install arduino, no need to find the right firmware - interchange is
like npm for your backpacks.

Interchange provides the following:

* A specification for how backpack devices should behave
* An installation method for backpack firmware onto target boards to make
backpack firmware selection and installation easy.
* A method of updating select parts of the firmware if required without recompilation.
* An ability to install Standard or Custom Firmatas to a board.
* An interface for retrieving information from a backpack firmware.

## Installation

It is recommended to install nodebots-interchange locally so different versions
can coexist as part of projects. If you do this, make sure the node modules
.bin directory is on your path, like this:

```
export PATH=./node_modules/.bin:$PATH
```

After that just install locally using npm

```
npm install ajfisher/nodebots-interchange
```

Or alternatively

```
git clone https://github.com/ajfisher/nodebots-interchange.git
npm install
```

If you'd prefer to have interchange available to all users globally then do this:

```
npm install -g ajfisher/nodebots-interchange
```

Once installed you will have access to the `interchange` application which will allow<commit_msg>fix repo link<commit_after># nodebots-interchange

![](https://img.shields.io/npm/v/nodebots-interchange.svg)
[![Join the chat at https://gitter.im/ajfisher/nodebots-interchange](https://img.shields.io/badge/Gitter-Join%20Chat-brightgreen.svg)](https://gitter.im/ajfisher/nodebots-interchange?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
![](https://img.shields.io/badge/status-Ready-green.svg)
![](https://img.shields.io/david/j5js/nodebots-interchange.svg)
![](https://img.shields.io/github/issues/j5js/nodebots-interchange.svg)

Provides a mechanism to use custom backpacks and firmatas in your nodebots easily
and without needing to use arduino or compile firmwares and all their dependencies.

Want to use a ping sensor on your nodebot or play around with neopixels? Plug in
your arduino or backpack, install the relevant firmware with interchange and
start building that nodebot.

It's as easy as:

```
interchange install hc-sr04 -a nano -p /dev/tty.wchserial1410
```

No need to install arduino, no need to find the right firmware - interchange is
like npm for your backpacks.

Interchange provides the following:

* A specification for how backpack devices should behave
* An installation method for backpack firmware onto target boards to make
backpack firmware selection and installation easy.
* A method of updating select parts of the firmware if required without recompilation.
* An ability to install Standard or Custom Firmatas to a board.
* An interface for retrieving information from a backpack firmware.

## Installation

It is recommended to install nodebots-interchange locally so different versions
can coexist as part of projects. If you do this, make sure the node modules
.bin directory is on your path, like this:

```
export PATH=./node_modules/.bin:$PATH
```

After that just install locally using npm

```
npm install nodebots-interchange
```

Or alternatively

```
git clone https://github.com/johnny-five-io/nodebots-interchange.git
npm install
```

If you'd prefer to have interchange available to all users globally then do this:

```
npm install -g nodebots-interchange
```

Once installed you will have access to the `interchange` application which will allow
{'fraction_non_alphanumeric': 0.08785298072613178, 'fraction_numerical': 0.0044822949350067235, 'mean_word_length': 4.990604026845638, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 16, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6355044', 'n_tokens_mistral': 1397, 'n_tokens_neox': 1275, 'n_words': 489}