From 5f837d5dd01d2e3f33a6df92d6e1853d80b80ad4 Mon Sep 17 00:00:00 2001 From: bboyho Date: Tue, 26 Nov 2024 03:16:32 -0700 Subject: [PATCH] Fix Typos and Add Reference Tables --- docs/hardware_overview.md | 221 +++++++++++++++++++++++++++++++++++++- docs/introduction.md | 2 +- docs/resources.md | 2 +- 3 files changed, 218 insertions(+), 7 deletions(-) diff --git a/docs/hardware_overview.md b/docs/hardware_overview.md index 92b0e09..e783316 100644 --- a/docs/hardware_overview.md +++ b/docs/hardware_overview.md @@ -53,7 +53,7 @@ A low profile 5-way directional pad is populated on the top side of the board. T !!! note - You can only press one button at a time! For example, if the UP button is pressed down, it will only register the UP button being pressed down. Once the UP button is released, the board will be able to read another button press. + We recommend pressing only one button at a time! For example, if the UP button is pressed down, it will register the UP button being pressed down first due to the way the condition statements are written in the Arduino code. Once the UP button is released, the board will be able to read another button press. However, if the LEFT button is pressed and then the UP button is pressed, the Qwiic Directional Pad will register the UP button. @@ -98,12 +98,13 @@ The board includes two horizontal Qwiic connectors to connect to other Qwiic-ena Qwiic Connector, I2C, and PCA9554 Highlighted - Qwiic Connector, I2C, and PCA9554 Highlighted + Qwiic Connector, I2C, and PCA9554 Highlighted - Bottom View + I2C Highlighted - Top View -As explained in the previous section, the I2C address of the PCA9554 is set to **0x20** by default. By adjusting the jumpers on the back of the board, the alternative address can be any value between _0x21_ to _0x27_. +As explained in the previous section, the I2C address of the PCA9554 is set to **0x20** by default. By adjusting the jumpers on the back of the board, the alternative address can be any value between _0x21_ to _0x27_. Make sure to check the Jumpers section below for more information. @@ -129,8 +130,120 @@ The interrupt pin labeled as INT is for users that want to notify a microcontrol The board includes two LEDs on the top and bottom of the board. Both can be disabled with the jumpers on the back of the board. -* **STAT** — The status LED is a non-addressable RGB LED that is used to indicate which button is being pressed on the 5-way directional pad. While this is populated on the bottom of the board, it will light up through the hole toward the top side of the board. * **PWR** — On the bottom side of the board, the power LED indicates when power is available on 3.3V. +* **STAT** — The status LED is a non-addressable RGB LED that is used to indicate which button is being pressed on the 5-way directional pad. While this is populated on the bottom of the board, it will light up through the hole toward the top side of the board. Each channel can be disabled with the jumper on the back for users that want to connect them to some other input. Note that two colors were not used since there were only 5 buttons available on the directional pad. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Button Press + Color + Red
(GPIO7) +
Green
(GPIO6) +
Blue
(GPIO5) +
Up + Red + 1 + 0 + 0 +
Down + Green + 0 + 1 + 0 +
Left + Magenta + 1 + 0 + 1 +
Right + Cyan + 0 + 1 + 1 +
Center + White + 1 + 1 + 1 +
No Button Press + OFF + 0 + 0 + 0 +
Not Assigned + Blue + 0 + 0 + 1 +
Not Assigned + Yellow + 1 + 1 + 0 +
+
+
@@ -153,8 +266,106 @@ The board includes two LEDs on the top and bottom of the board. Both can be disa The back of the board includes jumpers to configure the board. +* **PWR** — By default, the power jumper connects the LED to the output's 3.3V pin. Cutting this trace disables the LED. +* **7** — By default, this jumper is closed. Cutting this jumper will disconnect GPIO7 and the red channel from the RGB LED. One disabled, GPIO7 is available for users that want to connect them to some other input. +* **6** — By default, this jumper is closed. Cutting this jumper will disconnect GPIO6 and the green channel from the RGB LED. One disabled, GPIO6 is available for users that want to connect them to some other input. +* **5** — By default, this jumper is closed. Cutting this jumper will disconnect GPIO5 and the blue channel from the RGB LED. One disabled, GPIO5 is available for users that want to connect them to some other input. * **I2C** — By default, this three-pad jumper is closed. The three way jumper labeled I2C connects 3.3V to two 2.2kΩ pull-up resistors and to the I2C data and clock lines. If multiple devices are connected to the bus with the pull-up resistors enabled, the parallel equivalent resistance will create too strong of a pull-up for the bus to operate correctly. As a general rule of thumb, [disable all but one pair of pull-up resistors](https://learn.sparkfun.com/tutorials/i2c/all#i2c-at-the-hardware-level) if multiple devices are connected to the bus. -* **LED OUT** — By default, this jumper connects the LED to the output's 3.3V pin. Cutting this trace disables the LED. +* **ADR** — By default, the three jumpers **0**, **1**, and **2** are open. These set the I2C address of the Qwiic Directional Pad. Adding a solder blob will close the jumper and set the jumper as a `1`. Below shows the table needed to configure the three jumpers to achieve the desired I2C address. +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
I2C Address + ADR2
(Jumper 2) +
ADR1
(Jumper 1) +
ADR0
(Jumper 0) +
0x20 + 0 + 0 + 0 +
0x21 + 0 + 0 + 1 +
0x22 + 0 + 1 + 0 +
0x23 + 0 + 1 + 1 +
0x24 + 1 + 0 + 0 +
0x25 + 1 + 0 + 1 +
0x26 + 1 + 1 + 0 +
0x27 + 1 + 1 + 1 +
+
diff --git a/docs/introduction.md b/docs/introduction.md index 52d9bab..13799ae 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -22,7 +22,7 @@ The [SparkFun Qwiic Directional Pad](https://www.sparkfun.com/products/26851) ad -In this tutorial, we'll go over the hardware and how to hookup the SparkFun Qwiic Directional Pad to an Arduino. We will also go over an Arduino example to get started. +In this tutorial, we'll go over the hardware and how to hookup the SparkFun Qwiic Directional Pad to an Arduino. We will also go over some Arduino examples to get started. diff --git a/docs/resources.md b/docs/resources.md index e251968..f907763 100644 --- a/docs/resources.md +++ b/docs/resources.md @@ -13,7 +13,7 @@ Now that you've successfully got your SparkFun Qwiic Directional Pad up and runn -Or check out the Qwiic Button or Qwiic Joystick! +Or check out the Qwiic Button or Qwiic Joystick for more ideas!