# Pigeon

This refers to the very first iteration of the CTRE Pigeon which is discontinued and only supported via Phoenix 5.

## Phoenix Tuner

To communicate and update this device you need to install the Phoenix tuner.

{% embed url="<https://store.ctr-electronics.com/software/>" %}
Phoenix Tuner is available under "Phoenix Framework for HERO C#"&#x20;
{% endembed %}

## Documentation

The Pigeon is only available in Phoenix 5 so the documentation is located below. You must include Phoenix 5 libraries in YAGSL partly because of this device.

{% embed url="<https://v5.docs.ctr-electronics.com/en/stable/ch11_BringUpPigeon.html>" %}
Guide to programming and configuring the Pigeon
{% endembed %}

## YAGSL Checklist

* [ ] Set a unique CAN ID.
* [ ] Update to the latest available firmware.

## Communication

After setting the CAN ID you set the `id` portion of the JSON configuration for the `pigeon` to the CAN ID. This device is not compatible with CANivore's thus the `canbus` option does not apply and should be `""` or `"rio"` or `null`.&#x20;

## Example `swervedrive.json`

<pre class="language-json"><code class="lang-json">{
  "imu": {
<strong>    "type": "<a data-footnote-ref href="#user-content-fn-1">pigeon</a>",
</strong>    "id": <a data-footnote-ref href="#user-content-fn-2">13</a>,
    "canbus": <a data-footnote-ref href="#user-content-fn-3">null</a>
  },
  "invertedIMU": true,
  "modules": [
    "frontleft.json",
    "frontright.json",
    "backleft.json",
    "backright.json"
  ]
}
</code></pre>

[^1]: Pigeon device

[^2]: CAN ID 13

[^3]: Not applicable so `null` is the selected choice.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.yagsl.com/devices/gyroscope/pigeon.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
