aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-06-24 08:31:35 +0200
committerLoek Le Blansch <loek@pipeframe.xyz>2024-06-24 08:31:35 +0200
commit2528775b34f9c0033027931385a4de866ab2749d (patch)
tree70d4ac864c7a3d94a6ecd76530f319fe040dfccf
parente5b2754593bc93987e93a4171b1bcd361b2f1eb6 (diff)
add more documentation
-rw-r--r--client/cmd.h7
-rw-r--r--client/i2c.h2
-rw-r--r--client/parse.h4
-rw-r--r--client/sock.h2
-rw-r--r--main/config.def.h27
-rw-r--r--main/index.dox6
-rw-r--r--main/readme.md12
7 files changed, 40 insertions, 20 deletions
diff --git a/client/cmd.h b/client/cmd.h
index a3cc44a..4f77d50 100644
--- a/client/cmd.h
+++ b/client/cmd.h
@@ -2,8 +2,13 @@
/**
* \ingroup pbc
- * \defgroup pbc_cmd cmd
+ * \defgroup pbc_cmd Commands
* \brief Commands within \ref pbc
+ *
+ * \note A manpage is available containing end-user usage instructions inside
+ * the \ref client folder in the source code repository. This page contains the
+ * internal code documentation for the commands defined in \c pbc.
+ *
* \{
*/
diff --git a/client/i2c.h b/client/i2c.h
index 87f33c9..d2cfa9a 100644
--- a/client/i2c.h
+++ b/client/i2c.h
@@ -5,7 +5,7 @@
/**
* \ingroup pbc
- * \defgroup pbc_i2c i2c
+ * \defgroup pbc_i2c I2C
* \brief I2C abstraction functions
* \{
*/
diff --git a/client/parse.h b/client/parse.h
index 8b7d235..1beb714 100644
--- a/client/parse.h
+++ b/client/parse.h
@@ -4,8 +4,8 @@
/**
* \ingroup pbc
- * \defgroup pbc_parse parse
- * \brief Debug send command parser utilities
+ * \defgroup pbc_parse Parse
+ * \brief Debug \c send command parser utilities
* \{
*/
diff --git a/client/sock.h b/client/sock.h
index c124e45..792123e 100644
--- a/client/sock.h
+++ b/client/sock.h
@@ -5,7 +5,7 @@
/**
* \ingroup pbc
- * \defgroup pbc_sock sock
+ * \defgroup pbc_sock Socket
* \brief TCP socket handling
* \{
*/
diff --git a/main/config.def.h b/main/config.def.h
index b3be5ed..cb6e8b4 100644
--- a/main/config.def.h
+++ b/main/config.def.h
@@ -4,8 +4,33 @@
/**
* \ingroup main
- * \defgroup main_config config
+ * \defgroup main_config Config
* \brief Configuration options
+ *
+ * The main controller firmware is configured statically (i.e. through
+ * compile-time defined options). Because the configuration is likely to
+ * contain Wi-Fi credentials, this file is not tracked under version control.
+ *
+ * Before compiling the main controller fimrware, a file (`config.h`) must be
+ * created by the user with the following format:
+ *
+ * ```c
+ * #pragma once
+ *
+ * // define non-default options here
+ *
+ * #include "config.def.h"
+ * ```
+ *
+ * \note `config.def.h` contains preprocessor logic that tries to ensure a
+ * correct configuration. The default configuration has the following settings:
+ * - Wi-Fi is disabled (prints a warning during compilation because it was not
+ * explicitly disabled by the user)
+ * - The TCP server is disabled (due to Wi-Fi being disabled)
+ *
+ * \note The exact default values of each configuration option, and all
+ * available options are listed below.
+ *
* \{
*/
diff --git a/main/index.dox b/main/index.dox
index 0fee58a..54c5b15 100644
--- a/main/index.dox
+++ b/main/index.dox
@@ -1,13 +1,13 @@
// vim:ft=doxygen
/**
\ingroup main
-\defgroup main_tasks tasks
-\brief Tasks
+\defgroup main_tasks Tasks
+\brief FreeRTOS tasks
*/
/**
\ingroup main
-\defgroup main_pb_override overrides
+\defgroup main_pb_override Overrides
\brief Override functions from \ref pbdrv-mod
*/
diff --git a/main/readme.md b/main/readme.md
index 85a3fca..97150eb 100644
--- a/main/readme.md
+++ b/main/readme.md
@@ -8,17 +8,7 @@ This directory contains the software for the main controller of the Puzzle Box.
## building
1. make sure the submodules are initialized
-2. create a `config.h` file and define some options (see `config.def.h` for all
- options):
- ```c
- #pragma once
-
- #define CFG_NET_SSID "network name"
- #define CFG_NET_PASS "network password"
- #define CFG_NET_AUTH CYW43_AUTH_WPA2_AES_PSK
-
- #include "config.def.h"
- ```
+2. create a `config.h` file (see \ref main_config "config")
3. use CMake to build
## flashing