diff --git a/README.rst b/README.rst
index 6efd71e..044ed86 100644
--- a/README.rst
+++ b/README.rst
@@ -1,10 +1,10 @@
-.. image:: doc/static/header.png
+.. image:: doc/_static/header.png
:width: 100%
:alt: header image
.. raw:: html
-
The plumCore DAQ framework
+ The plumCore DAQ framework
A modular framework for data logging and remote data acquisition.
diff --git a/doc/static/custom.css b/doc/_static/custom.css
similarity index 89%
rename from doc/static/custom.css
rename to doc/_static/custom.css
index 7650b3c..f219f9a 100644
--- a/doc/static/custom.css
+++ b/doc/_static/custom.css
@@ -1,12 +1,12 @@
-
-@page {
- size: auto A4 portrait;
- margin-top: 20mm;
- margin-bottom: 20mm;
+@media print {
+ @page {
+ size: auto A4 portrait;
+ margin-top: 20mm;
+ margin-bottom: 20mm;
+ }
}
h1 {
- page-break-after: always;
}
.align-left {
diff --git a/doc/static/header.png b/doc/_static/header.png
similarity index 100%
rename from doc/static/header.png
rename to doc/_static/header.png
diff --git a/doc/static/plum.png b/doc/_static/plum.png
similarity index 100%
rename from doc/static/plum.png
rename to doc/_static/plum.png
diff --git a/doc/static/plum.svg b/doc/_static/plum.svg
similarity index 100%
rename from doc/static/plum.svg
rename to doc/_static/plum.svg
diff --git a/doc/conf.py b/doc/conf.py
index 7dfc09b..bddca67 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -17,7 +17,7 @@
html_theme = 'sphinx_rtd_theme'
html_title = 'plumCore DAQ framework'
-html_logo = 'static/plum.svg'
+html_logo = '_static/plum.svg'
html_theme_options = {
'globaltoc_collapse': False,
'globaltoc_includehidden': True,
@@ -25,7 +25,7 @@
'sticky_navigation': True,
}
html_show_sourcelink = False
-html_static_path = ['static']
+html_static_path = ['_static']
html_use_index = True
html_css_files = [
'custom.css',
@@ -37,6 +37,10 @@
+.. |plum| raw:: html
+
+
+
.. role:: tag-button
.. role:: material-icons
"""
diff --git a/index.rst b/index.rst
index 1cd2e8f..70aff98 100644
--- a/index.rst
+++ b/index.rst
@@ -1,21 +1,35 @@
+.. image:: doc/_static/header.png
+ :width: 100%
+ :alt: header image
+
====================================
-The plumCore DAQ framework
+|plum| The plumCore DAQ framework
====================================
A modular framework for data logging and remote data acquisition.
-The name represents a seed found in a plum fruit - the core of the plum.
+The name represents a seed found in a plum fruit - the "core" of the plum.
Although not used in this manner it sounds sufficiently good to be used
as a name for a totally unrelated project.
+plumCore is a C framework using the microkernel/services pattern. FreeRTOS
+scheduler is used as the microkernel providing task scheduling and a basic IPC.
+All the rest is implemented as modular services. A plumCore service provides
+interfaces used by other services. Interface dependencies are either discovered
+in runtime (service locator pattern) or injected (dependency injection). Even
+the service locator is implemented as a service. Most of the code looks like
+and behaves in an OOP manner. As an user interface, a tree-structured CLI
+(command line interface) is available to configure the device.
+plumCore use cases are various remotely operated measurement/DAQ systems with
+optional on-site data processing (edge computing). IoT and consumer hardware
+are not plumCore's target applications.
.. toctree::
:numbered:
- README
doc/introduction
doc/concepts
microkernel/index
diff --git a/requirements.txt b/requirements.txt
index cc27166..c33a2ee 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9,3 +9,8 @@ protobuf==5.26.1
SCons==4.1.0.post1
tqdm==4.57.0
colorama==0.4.4
+sphinx==7.2.6
+sphinx-rtd-theme==2.0.0
+rst2pdf==0.101
+sphinxcontrib-contentui==0.2.5
+sphinx-toolbox==3.5.0