Skip to content

Commit 883f4d7

Browse files
Adding XRP Icon and updating examples
1 parent ecdcb62 commit 883f4d7

File tree

5 files changed

+100
-24
lines changed

5 files changed

+100
-24
lines changed

docs/examples.md

+8-18
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,9 @@ Alternatively, you can expand the link below and copy and paste the code into a
2424

2525
??? "Example 1 Arduino Code"
2626
```
27-
--8<-- ""
27+
--8<-- "https://raw.githubusercontent.com/sparkfun/SparkFun_Qwiic_OTOS_Arduino_Library/main/examples/Example1_BasicReadings/Example1_BasicReadings.ino"
2828
```
29-
<!-- >https://raw.githubusercontent.com/sparkfun/SparkFun_Qwiic_OTOS_Arduino_Library/v1.0.0/examples/Example1_BasicReadings/Example1_BasicReadings.ino
30-
-->
29+
3130

3231
Make sure you've selected the correct board and port in the Tools menu and then hit the upload button. Once the code has finished uploading, go ahead and open a [Serial Monitor](https://learn.sparkfun.com/tutorials/terminal-basics). You should see something similar to the following.
3332

@@ -57,14 +56,9 @@ Alternatively, you can expand the link below and copy and paste the code into a
5756

5857
??? "Example 2 Arduino Code"
5958
```
60-
--8<-- ""
59+
--8<-- "https://raw.githubusercontent.com/sparkfun/SparkFun_Qwiic_OTOS_Arduino_Library/main/examples/Example2_SetUnits/Example2_SetUnits.ino"
6160
```
62-
<!--
6361

64-
https://raw.githubusercontent.com/sparkfun/SparkFun_Qwiic_OTOS_Arduino_Library/v1.0.0/examples/Example2_SetUnits/Example2_SetUnits.ino
65-
66-
67-
-->
6862
Notice the following code snippet - this is the section of code that allows you to choose your units:
6963

7064
<figure markdown>
@@ -88,7 +82,7 @@ Make sure you've selected the correct board and port in the Tools menu and then
8882
As of firmware version 1.0, these calibration values will be lost after a power cycle, so you will need to set them each time you power up the sensor.
8983

9084

91-
The data from the OTOS will likely have minor scaling errors that can be calibrated out. This is especially important for the angular scalar, because an incorrect angle measurement causes the linear measurements to be rotated by the wrong angle in the firmware, which can lead to very inaccurate tracking!
85+
The data from the OTOS will likely have minor scaling errors that can be calibrated out. This is especially important for the angular scalar, because an incorrect angle measurement causes the linear measurements to be rotated by the wrong angle in the firmware, which can lead to very inaccurate tracking.
9286

9387
To find Example 3, go to **File** > **Examples** > **SparkFun Qwiic OTOS** > **Example3_Calibration**:
9488

@@ -104,12 +98,10 @@ Alternatively, you can expand the link below and copy and paste the code into a
10498

10599
??? "Example 3 Arduino Code"
106100
```
107-
--8<-- ""
101+
--8<-- "https://raw.githubusercontent.com/sparkfun/SparkFun_Qwiic_OTOS_Arduino_Library/main/examples/Example3_Calibration/Example3_Calibration.ino"
108102
```
109103

110-
<!--
111-
https://raw.githubusercontent.com/sparkfun/SparkFun_Qwiic_OTOS_Arduino_Library/v1.0.0/examples/Example3_Calibration/Example3_Calibration.ino
112-
-->
104+
113105

114106
Make sure you've selected the correct board and port in the Tools menu and then hit the upload button. Once the code has finished uploading, go ahead and open a [Serial Monitor](https://learn.sparkfun.com/tutorials/terminal-basics).
115107

@@ -159,11 +151,9 @@ Alternatively, you can expand the link below and copy and paste the code into a
159151

160152
??? "Example 4 Arduino Code"
161153
```
162-
--8<-- ""
154+
--8<-- "https://raw.githubusercontent.com/sparkfun/SparkFun_Qwiic_OTOS_Arduino_Library/main/examples/Example4_SetOffsetAndPosition/Example4_SetOffsetAndPosition.ino"
163155
```
164-
<!--
165-
https://raw.githubusercontent.com/sparkfun/SparkFun_Qwiic_OTOS_Arduino_Library/v1.0.0/examples/Example4_SetOffsetAndPosition/Example4_SetOffsetAndPosition.ino
166-
-->
156+
167157

168158
If the sensor is mounted 5 inches to the left (negative X) and 10 inches forward (positive Y) of the center of the robot, and mounted 90 degrees clockwise (negative rotation) from the robot's orientation, the offset would be {-5, 10, -90}. These can be any value, even the angle can be tweaked slightly to compensate for imperfect mounting (eg. 1.3 degrees).
169159

docs/hardware_assembly.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
icon: fontawesome/solid/screwdriver-wrench
2+
icon: xrp
33
---
44

55

docs/hardware_assembly_FTC.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,13 @@ icon: first
88

99
The SparkFun Optical Tracking Odometry Sensor needs to be rigidly mounted to a robot chassis and oriented flat to the floor in order to get accurate data. If you don't already have a mount, there are a few 3D printing models you can use. That said, you may need to design your own mount for this board, depending on your use case.
1010

11-
Accurate readings require that the sensor is mounted correctly; attempting to move the sensor by hand may work, but tracking accuracy will suffer. Note here that we are using the foam surface typical of FIRST Tech Challenge competitions and the sensor is mounted at 10mm from the surface.
11+
Note here that we are using the foam surface typical of FIRST Tech Challenge competitions and the sensor is mounted at 10mm from the surface.
12+
13+
!!! warning
14+
15+
Accurate readings require that the sensor is mounted correctly; attempting to move the sensor by hand may work, but tracking accuracy will suffer.
16+
17+
1218

1319

1420
The FTC mounts are available on Onshape:

docs/hardware_overview.md

+5-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ icon: material/cog
55

66
## Optical Tracking Sensor - PAA5160
77

8-
The PAA5160E1-Q from PixArt Imaging has a tracking speed of 2.5m/s and a typical tracking error rate of 3~5% within a working range of 10mm to 27mm. With an 850nm Class 1 laser a resolution of 20,000 DPI and a frame rate of 20,000 fps, it is ideal for surfaces like concrete, epoxy, laminated wood, or glossy/semi-glossy flooring. That said, dark or diffuse surfaces are more challenging, so these specs may vary based on the surfaces that are being used. More information can be found in the [datasheet](assets/documentation/PAA5160_Datasheet_General.pdf).
8+
The PAA5160E1-Q from PixArt Imaging has a tracking speed of 2.5m/s and a typical tracking error rate of 3~5% within a working range of 10mm to 27mm. With an 850nm Class 1 laser, a resolution of 20,000 DPI, and a frame rate of 20,000 fps, it is ideal for surfaces like concrete, epoxy, laminated wood, or glossy/semi-glossy flooring. That said, dark or diffuse surfaces are more challenging, so these specs may vary based on the surfaces that are being used. More information can be found in the [datasheet](assets/documentation/PAA5160_Datasheet_General.pdf){ target="_blank" }.
99

1010

1111
<figure markdown>
@@ -24,7 +24,7 @@ The PAA5160E1-Q from PixArt Imaging has a tracking speed of 2.5m/s and a typical
2424

2525
## 6-DoF IMU - LSM6DSO
2626

27-
The LSM6DSO from STMicroelectronics has a 3-axis digital accelerometer and 3-axis digital gyroscope featuring a full-scale acceleration range of ±2/±4/±8/±16 g and an angular rate range of ±125/±250/±500/±1000/±2000 dps. For more information, refer to the [datasheet](assets/documentation/lsm6dso.pdf).
27+
The LSM6DSO from STMicroelectronics has a 3-axis digital accelerometer and 3-axis digital gyroscope featuring a full-scale acceleration range of ±2/±4/±8/±16 g and an angular rate range of ±125/±250/±500/±1000/±2000 dps. For more information, refer to the [datasheet](assets/documentation/lsm6dso.pdf){ target="_blank" }.
2828

2929

3030
<figure markdown>
@@ -35,7 +35,7 @@ The LSM6DSO from STMicroelectronics has a 3-axis digital accelerometer and 3-axi
3535

3636
## Microcontroller - STM32C0
3737

38-
The STM32C011F4U6 microcontroller has a high-performance Arm® Cortex®-M0+ 32-bit RISC core operating at up to 48 MHz frequency. It incorporates a memory protection unit (MPU), high-speed embedded memory (6 Kbytes of SRAM and up to 32 Kbytes of flash program memory with read and write protection), DMA, an extensive range of system functions, enhanced I/Os, and peripherals. The device offers standard communication interfaces (one I<sup>2</sup>C, one SPI / one I2S, and two USARTs), one 12-bit ADC (2.5 MSps) with up to 15 channels, a low-power RTC, an advanced control PWM timer, four general-purpose 16-bit timers, two watchdog timers, and a SysTick timer. For more information, refer to the [datasheet](assets/documentation/stm32c011d6-3082107.pdf).
38+
The STM32C011F4U6 microcontroller has a high-performance Arm® Cortex®-M0+ 32-bit RISC core operating at up to 48 MHz frequency. It incorporates a memory protection unit (MPU), high-speed embedded memory (6 Kbytes of SRAM and up to 32 Kbytes of flash program memory with read and write protection), DMA, an extensive range of system functions, enhanced I/Os, and peripherals. The device offers standard communication interfaces (one I<sup>2</sup>C, one SPI / one I2S, and two USARTs), one 12-bit ADC (2.5 MSps) with up to 15 channels, a low-power RTC, an advanced control PWM timer, four general-purpose 16-bit timers, two watchdog timers, and a SysTick timer. For more information, refer to the [datasheet](assets/documentation/stm32c011d6-3082107.pdf){ target="_blank" }.
3939

4040

4141
<figure markdown>
@@ -68,7 +68,8 @@ The Qwiic Connectors on the SparkFun Optical Tracking Odometry Sensor - PAA5160E
6868

6969
## GPIO
7070

71-
The PTH pins on the side of the board allow you to provide power, access the I<sup>2</sup>C Data and Clock lines, and there are two pins available for UART/generic programming purposes. In normal operation, IO9 acts as a "data ready" interrupt; this pin could be used to synchronize measurements if needed.
71+
The PTH pins on the side of the board allow you to provide power, access the I<sup>2</sup>C Data and Clock lines, and there are two pins available for UART/generic programming purposes. In normal operation, IO9 acts as a "data ready" interrupt; this pin could be used to synchronize measurements if needed. Outside of normal operation, IO9 and IO10 provide a UART interface that can be used for firmware updates, see instructions [here](https://github.com/sparkfun/SparkFun_Optical_Tracking_Odometry_Sensor/tree/main/Firmware).
72+
7273

7374
<figure markdown>
7475
[![GPIO pins are highlighted](assets/img/24904-Optical-Tracking-Odometry-Sensor_GPIO.jpg){ width="400" }](assets/img/24904-Optical-Tracking-Odometry-Sensor_GPIO.jpg "Click to enlarge")

overrides/.icons/xrp.svg

+79
Loading

0 commit comments

Comments
 (0)