aboutsummaryrefslogtreecommitdiff
path: root/lib/pbdrv/pb.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pbdrv/pb.h')
-rw-r--r--lib/pbdrv/pb.h28
1 files changed, 24 insertions, 4 deletions
diff --git a/lib/pbdrv/pb.h b/lib/pbdrv/pb.h
index 0f2e9d1..cef04d8 100644
--- a/lib/pbdrv/pb.h
+++ b/lib/pbdrv/pb.h
@@ -1,23 +1,43 @@
#pragma once
+/**
+ * \ingroup pbdrv
+ * \ingroup pbdrv-mod
+ * \defgroup pb Bus
+ * \brief Constants for the puzzle bus hardware
+ * \{
+ */
+
+//! I2C bus speed in hertz (100 KHz)
#define PB_CLOCK_SPEED_HZ 100000
+//! I2C bus timeout delay in milliseconds
#define PB_TIMEOUT_MS 10
+//! I2C bus timeout delay in microseconds
#define PB_TIMEOUT_US (1e3 * PB_TIMEOUT_MS)
-// Adafruit NeoTrellis modules
+//! Adafruit NeoTrellis module 1 I2C address
#define PB_ADDR_ADA_NEO_1 0x2E
+//! Adafruit NeoTrellis module 2 I2C address
#define PB_ADDR_ADA_NEO_2 0x2F
+//! Adafruit NeoTrellis module 3 I2C address
#define PB_ADDR_ADA_NEO_3 0x30
+//! Adafruit NeoTrellis module 4 I2C address
#define PB_ADDR_ADA_NEO_4 0x32
-// Main controller
+//! Main controller I2C address
#define PB_ADDR_MOD_MAIN 0x08
-// Puzzle modules
+//! NeoTrellis puzzle module I2C address
#define PB_ADDR_MOD_NEOTRELLIS 0x21
+//! Software puzzle module I2C address
#define PB_ADDR_MOD_SOFTWARE 0x22
+//! Hardware puzzle module I2C address
#define PB_ADDR_MOD_HARDWARE 0x23
+//! Vault puzzle module I2C address
#define PB_ADDR_MOD_VAULT 0x24
-// #define BUSADDR_MOD_AUTOMATION 0x25
+//! Automation puzzle module I2C address
+#define BUSADDR_MOD_AUTOMATION 0x25
+//! Dummy puzzle module I2C address
#define PB_ADDR_MOD_DUMMY 0x69
+/// \}