Skip to content

Commit

Permalink
Update user manual with develop docs (#76)
Browse files Browse the repository at this point in the history
* Sn 5392 iscomm parse read (#71)

* Fix is_comm docs

* Bump

* SN-5048 Add instructions for using WMM (#73)

* Add instructions for using WMM

* Update world_magnetic_model.md

* Add IK-1 to user manual (#75)

* Create IK1.md

* Added IK1 to docs index menu

* Fix typo

* Fix open source hardware links
  • Loading branch information
waltjohnson authored Aug 8, 2024
1 parent 2a2f027 commit bca79ab
Show file tree
Hide file tree
Showing 9 changed files with 826 additions and 19 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions docs/user-manual/application-config/world_magnetic_model.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# World Magnetic Model (WMM)

The World Magnetic Model (WMM) is a mathematical model that represents the Earth's magnetic field. It is developed by the National Centers for Environmental Information (NCEI) and the British Geological Survey (BGS) and is updated every five years to account for changes in the Earth's magnetic field.

The IMX-5 uses an on-board WMM to estimate the magnetic declination, which is the angle between magnetic north and true north.

## Enabling WMM Declination

The WMM declination is enabled by setting bit `SYS_CFG_BITS_MAG_ENABLE_WMM_DECLINATION` in `DID_FLASH_CONFIG.sysCfgBits` on the IMX-5. This can be done in the EvalTool > Settings > General tab by checking the `Enable WMM Declination` option.

![wmm_enable_evaltool](./images/wmm_enable_evaltool.png)

## Using WMM Declination

When enabled, the WMM declination (magnetic declination) is computed based on the current position of the IMX-5. The current WMM declination can be viewed from the `DID_INL2_STATES.magDec` variable.

### AHRS Mode

When running in AHRS mode and no GPS position has previously been available, the reference latitude, longitude position (`DID_FLASH_CONFIG.refLla`) is used to initialize the IMX position and WMM declination. The user must set this `refLla` location for the WMM to generate the correct declination.

### Nav Mode

When GPS is available and the IMX is in GNSS aided navigation mode (Nav mode), the WMM declination will continuously update as the current position changes.

8 changes: 4 additions & 4 deletions docs/user-manual/com-protocol/isb.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,22 +145,22 @@ The following parser code uses less processor time to parse data by copying mult
// Read a set of bytes (fast method)
protocol_type_t ptype;
// Get available size of comm buffer
// Get available size of comm buffer. is_comm_free() modifies comm->rxBuf pointers, call it before using comm->rxBuf.tail.
int n = is_comm_free(comm);
// Read data directly into comm buffer
if ((n = serialPortRead(comm->buf.tail, n)))
if ((n = serialPortRead(comm->rxBuf.tail, n)))
{
// Update comm buffer tail pointer
comm->buf.tail += n;
comm->rxBuf.tail += n;
// Search comm buffer for valid packets
while ((ptype = is_comm_parse(comm)) != _PTYPE_NONE)
{
switch (ptype)
{
case _PTYPE_INERTIAL_SENSE_DATA:
case _PTYPE_IS_V1_CMD:
case _PTYPE_INERTIAL_SENSE_CMD:
break;
case _PTYPE_UBLOX:
break;
Expand Down
20 changes: 9 additions & 11 deletions docs/user-manual/hardware/IG1.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The Inertial Sense IG-1 is a PCB module with IMX-5 and dual ublox ZED-F9P multi-

**Module Pinout**

![IG2 Module Pinout](images/ig1_pinout.svg)
![IG1 Module Pinout](images/ig1_pinout.svg)

**Header H1 Pinout**

Expand Down Expand Up @@ -66,6 +66,13 @@ The module and header H1 have the same pinout assignment for pins 1-14. All pin

The following outlines differences in the IG-1.x hardware versions.

**IG-1.2**

- GPS1 ZED-F9P RXD2/TXD2 lines connected to IG-1 pins 26, 27.
- GPS2 ZED-F9P RXD2/TXD2 lines connected to IG-1 pins 28, 29.
- GPS1 ZED-F9P PPS (TIMEPULSE) line connected to IG-1 pin 31.
- IG-1 pins 32-36 are not connected internally (not connected to ground).

**IG-1.1**

- GPS1 PPS line connected to IMX TIMEPUSE G15 (pin 20).
Expand All @@ -76,13 +83,6 @@ The following outlines differences in the IG-1.x hardware versions.
- GPS1 PPS line connected to IMX G8 (pin 8).
- IG-1 pins 26-36 are connected to ground.

**IG-1.2**

- GPS1 ZED-F9P RXD2/TXD2 lines connected to IG-1 pins 26, 27.
- GPS2 ZED-F9P RXD2/TXD2 lines connected to IG-1 pins 28, 29.
- GPS1 ZED-F9P PPS (TIMEPULSE) line connected to IG-1 pin 31.
- IG-1 pins 32-36 are not connected internally (not connected to ground).

## Soldering

The IMX-5 can be reflow soldered. Reflow information can be found in the [Reflow Information](reflow.md) page of this manual
Expand Down Expand Up @@ -111,9 +111,7 @@ Open source hardware design files, libraries, and example projects for the IMX m

The IG-1 circuit board projects serve as reference designs that illustrate implementation of the IMX PCB module.

[IG-1-G2 module](https://github.com/inertialsense/IS-hdw/tree/main/Products/IG-1-1-G2)

[IG-1-G1 module](https://github.com/inertialsense/IS-hdw/tree/main/Products/IG-1-1-G1)
[IG-1 module](https://github.com/inertialsense/IS-hdw/tree/main/Products/IG-1)

## Related Parts

Expand Down
6 changes: 3 additions & 3 deletions docs/user-manual/hardware/IG2.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,11 +104,11 @@ Open source hardware design files, libraries, and example projects for the IMX m

The EVB-2, IG-1, and IG-2 circuit board projects serve as reference designs that illustrate implementation of the IMX PCB module.

[EVB-2 evaluation board](https://github.com/inertialsense/IS-hdw/tree/main/Products/EVB-2-1)
[EVB-2 evaluation board](https://github.com/inertialsense/IS-hdw/tree/main/Products/EVB-2)

[IG-1 module](https://github.com/inertialsense/IS-hdw/tree/main/Products/IG-1-1-G2)
[IG-1 module](https://github.com/inertialsense/IS-hdw/tree/main/Products/IG-1)

[IG-2 module](https://github.com/inertialsense/IS-hdw/tree/main/Products/IG-2-0)
[IG-2 module](https://github.com/inertialsense/IS-hdw/tree/main/Products/IG-2)

## Related Parts

Expand Down
91 changes: 91 additions & 0 deletions docs/user-manual/hardware/IK1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Hardware Integration: IK-1 (IMX5 or GPX1)

<center>

![IG-1](../images/IK-1.0.png)

</center>

The Inertial Sense IK-1 is a breakout evaluation board for either the IMX-5 or GPX-1 multi-frequency GNSS receiver.

- 0.1" pitch header for convenient interface.
- Interfaces with standard breadboard.
- Onboard Micro USB connector
- Onboard voltage regulation.
- Dual U.FL connectors for GPX GNSS antennas.



## Pinout

**Module Pinout**

![IG2 Module Pinout](images/ik1_pinout.svg)

The IK-1 module pinout is as follows

| IK1 | IMX | GPX | Name | Type | Description |
| --------------------------------------------- | ---- | ---- | ------------------------------------------------------------ | ------------------------------------------------------------ | --------------------------------------------- |
| 1-3 | 11,21 | 11,13,15,31 | GND | Power | Supply ground |
| 4 | - | 20 | G20/LNA-EN | I/O | GPIO20, GPX LNA enable |
| 5 | - | 21 | GNSS2_PPS | O | GNSS2 PPS time synchronization output pulse (1Hz, 10% duty cycle) |
| 6 | 1 | 1 | USB_P | I/O | USB full-speed Positive Line. USB will be supported in future firmware updates. |
| 7 | 2 | 2 | USB_N | I/O | USB full-speed Negative Line. USB will be supported in future firmware updates. |
| 8 | 3 | 3 | VBKUP | Power | Backup supply voltage input (1.75V to 3.6V). Future firmware updates will use voltage applied on this pin to backup GNSS ephemeris, almanac, and other operating parameters for a faster startup when VCC is applied again. This pin MUST be connected to a backup battery or VCC. |
| 9 | 4 | 4 | G1/Rx2/RxCAN/SCL | I/O | GPIO1 <br />Serial 2 input (TTL) <br />Serial input pin from CAN transceiver<sup>\*</sup> <br />I2C SCL line |
| 10 | 5 | 5 | G2/Tx2/TxCAN/SDA/STROBE | I/O | GPIO2 <br />Serial 2 output (TTL)<br /> Serial output pin to CAN transceiver<sup>\*</sup><br /> I2C SDA line<br />Strobe time sync input |
| 11 | 6 | 6 | G6/Rx1/MOSI | I/O | GPIO6<br /> Serial 1 input (TTL)<br /> SPI MOSI |
| 12 | 7 | 7 | G7/Tx1/MISO | I/O | GPIO7<br /> Serial 1 output (TTL)<br /> SPI MISO |
| 13 | 8 | 8 | G8/CS/STROBE | I/O | GPIO8<br /> SPI CS<br /> Strobe time sync input |
| 14 | 9 | 9 | G5/SCLK/STROBE | I/O | GPIO5<br /> SPI SCLK<br /> Strobe time sync input |
| 15 | 10 | 10 | G9/nSPI_EN/STROBE<br/>/STROBE_OUT/DRDY | I/O | GPIO9<br /> SPI Enable: Hold LOW during boot to enable SPI on G5-G8<br /> Strobe time sync input or output. SPI data ready alternate location |
| 17 | 12 | 22 | nRESET | I | System reset on logic low. May be left unconnected if not used. |
| 18 | 13 | 23 | G14/SWCLK | I/O | GPIO14 |
| 19 | 14 | 24 | G13/DRDY/XSDA | I/O | GPIO13<br /> SPI Data Ready<br /> Alt I2C SDA |
| 20 | 15 | 25 | G12/XSCL | I/O | GPIO12<br /> Alt I2C SCL |
| 21 | 16 | 26 | G11/SWDIO | I/O | GPIO11 |
| 22 | 17 | 27 | G10/BOOT_MODE | I/O | Leave unconnected. BOOT MODE used in manufacturing. !!! WARNING !!! Asserting a logic high (+3.3V) will cause the IMX to reboot into ROM bootloader (DFU) mode. |
| 23 | 18 | 28 | G4/Rx0 | I/O | GPIO4<br /> Serial 0 input (TTL) |
| 24 | 19 | 29 | G3/Tx0 | I/O | GPIO3<br /> Serial 0 output (TTL) |
| 25 | 20 | 30 | GNSS1_PPS | O | GNSS1 PPS time synchronization output pulse (1Hz, 10% duty cycle) |
| 27 | 22 | 32 | VCC | Power | 1.8V to 3.3V supply input. |
| 28 | - | 38 | G16/QDEC0.A | I/O | GPIO16 |
| 29 | - | 39 | G17/QDEC0.B | I/O | GPIO17 |
| 30 | - | 40 | VAUX | Power | Input supplies for the USB and VCC_RF (GNSS antenna supply). Connect to +3.3V (3.0V to 3.6V) to supply USB and VCC_RF. Can be left floating if USB or VCC_RF are not needed. |
| 31 | - | 41 | G18/QDEC1.A | I/O | GPIO18 |
| 32 | - | 42 | G19/QDEC1.B | I/O | GPIO19 |
| U.FL1 | - | 12 | GNSS1_RF | I | GNSS1 antenna RF input. Use an active antenna or LNA with a gain of 15-25dB. Place the LNA as close to the antenna as possible. Filtered 3.3V from VCC is injected onto the pad to power active antennas (power injection can be disabled in software). Connect to ground with 5V-14V TVS diode for ESD and surge projection (e.g. Littlefuse PESD0402-140). |
| U.FL2 | - | 14 | GNSS2_RF | I | GNSS2 antenna RF input. Same requirements as GNSS1_RF |

## IK-1 Schematic

[Download Schematic](https://docs.inertialsense.com/datasheets/IK-1_schematic.pdf)

<object data="https://docs.inertialsense.com/datasheets/IK-1_schematic.pdf" type="application/pdf" width="700px" height="600px" >
<embed src="https://docs.inertialsense.com/datasheets/IK-1_schematic.pdf" type="application/pdf" />
</object>


## Design Files

<img src="https://www.oshwa.org/wp-content/uploads/2014/03/oshw-logo.svg" width="100" align="right" />

Open source hardware design files, libraries, and example projects for the IMX module are found at the [Inertial Sense Hardware Design repository](https://github.com/inertialsense/IS-hdw) hosted on GitHub. These include schematic and layout files for printed circuit board designs, and 3D step models of the InertialSense products usable for CAD and circuit board designs.

### Reference Design Projects

The EVB-2, IG-1, IG-2, and IK-1 circuit board projects serve as reference designs that illustrate implementation of the IMX PCB module.

[EVB-2 evaluation board](https://github.com/inertialsense/IS-hdw/tree/main/Products/EVB-2)

[IG-1 module](https://github.com/inertialsense/IS-hdw/tree/main/Products/IG-1)

[IG-2 module](https://github.com/inertialsense/IS-hdw/tree/main/Products/IG-2)

[IK-1 module](https://github.com/inertialsense/IS-hdw/tree/main/Products/IK-1)

## Related Parts

| Part | Manufacturer | Manufacturer # | Description |
| ---- | ------------ | -------------- | ----------------------------------------------------- |
| | | | |
Loading

0 comments on commit bca79ab

Please sign in to comment.