diff --git a/applications/utils/ev-dev-tools/src/ev_cli/templates/index.rst.j2 b/applications/utils/ev-dev-tools/src/ev_cli/templates/index.rst.j2 index d7af654c4c..2a56b81f9b 100644 --- a/applications/utils/ev-dev-tools/src/ev_cli/templates/index.rst.j2 +++ b/applications/utils/ev-dev-tools/src/ev_cli/templates/index.rst.j2 @@ -1,5 +1,3 @@ -:orphan: - .. _everest_modules_handwritten_{{ info.name }}: .. This file is a placeholder for optional multiple files @@ -12,9 +10,15 @@ and will be converted to HTML and PDF by Sphinx. This index.rst file is the entry point for the module documentation. -******************************************* -{{ info.name }} -******************************************* +.. Use underlined-only headlines inside this document (highest-level + sub-section headline should use "=" characters) + +.. The content of this file will be included in the auto-generated HTML + page for the module. You can link to it using the following + reference: everest_modules_{{ info.name }}. + +.. ******************************************* +.. {{ info.name }} +.. ******************************************* -:ref:`Link ` to the module's reference. {{ info.desc }} diff --git a/cmake/everest-generate.cmake b/cmake/everest-generate.cmake index f50130b077..290092cf2f 100644 --- a/cmake/everest-generate.cmake +++ b/cmake/everest-generate.cmake @@ -492,10 +492,10 @@ function (ev_add_module) PATHS "${CMAKE_SOURCE_DIR}/cmake" ) if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_NAME}/docs/") - trailbook_ev_add_module_explanation( + trailbook_ev_add_module_handwritten_doc( TRAILBOOK_NAME "everest" MODULE_NAME "${MODULE_NAME}" - EXPLANATION_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_NAME}/docs" + HANDWRITTEN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_NAME}/docs" ) endif() if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${MODULE_NAME}/doc.rst") @@ -503,7 +503,7 @@ function (ev_add_module) FATAL_ERROR "Module ${MODULE_NAME} contains a doc.rst file" " this is not supported anymore, please move to" - " docs/index.rst, then it will be picked up automatically." + " docs/index.rst.inc, then it will be picked up automatically." " For now this file will be ignored." ) endif() diff --git a/cmake/trailbook-ext-everest/add-module-explanation.cmake b/cmake/trailbook-ext-everest/add-module-explanation.cmake deleted file mode 100644 index d43daa1bd1..0000000000 --- a/cmake/trailbook-ext-everest/add-module-explanation.cmake +++ /dev/null @@ -1,138 +0,0 @@ -# This macro is for internal use only -# -# It is used in the function trailbook_ev_add_module_explanation(). -# It adds a custom command to copy the explanation module files to the explanation modules directory. -macro(_trailbook_ev_add_module_explanation_copy_explanation_command) - file( - GLOB_RECURSE - MODULE_EXPLANATION_SOURCE_FILES - CMAKE_CONFIGURE_DEPENDS - "${args_EXPLANATION_DIR}/*" - ) - - set(MODULE_EXPLANATION_TARGET_FILES "") - foreach(source_file IN LISTS MODULE_EXPLANATION_SOURCE_FILES) - file(RELATIVE_PATH rel_path "${args_EXPLANATION_DIR}" "${source_file}") - set(target_file "${TRAILBOOK_EV_EXPLANATION_MODULES_DIRECTORY}/${args_MODULE_NAME}/${rel_path}") - list(APPEND MODULE_EXPLANATION_TARGET_FILES "${target_file}") - endforeach() - - add_custom_command( - OUTPUT - ${MODULE_EXPLANATION_TARGET_FILES} - DEPENDS - ${MODULE_EXPLANATION_SOURCE_FILES} - ${DEPS_STAGE_PREPARE_SPHINX_SOURCE_AFTER} - COMMENT - "Copying explanation module ${args_MODULE_NAME} files to: ${TRAILBOOK_EV_EXPLANATION_MODULES_DIRECTORY}/${args_MODULE_NAME}" - COMMAND - ${CMAKE_COMMAND} -E rm -rf - ${MODULE_EXPLANATION_TARGET_FILES} - COMMAND - ${CMAKE_COMMAND} -E make_directory - ${TRAILBOOK_EV_EXPLANATION_MODULES_DIRECTORY}/${args_MODULE_NAME} - COMMAND - ${CMAKE_COMMAND} -E copy_directory - ${args_EXPLANATION_DIR} - ${TRAILBOOK_EV_EXPLANATION_MODULES_DIRECTORY}/${args_MODULE_NAME} - ) -endmacro() - -# This function adds a module explanation to a trailbook. -# It takes the following parameters: -# TRAILBOOK_NAME (required): The name of the trailbook to add the -# module explanation to. -# MODULE_NAME (required): The name of the module explanation. -# EXPLANATION_DIR (required): The absolute path to the directory -# containing the module explanation files. -# -# Usage: -# trailbook_ev_add_module_explanation( -# TRAILBOOK_NAME -# MODULE_NAME -# EXPLANATION_DIR -# ) -function(trailbook_ev_add_module_explanation) - set(options) - set(one_value_args - TRAILBOOK_NAME - MODULE_NAME - EXPLANATION_DIR - ) - set(multi_value_args) - cmake_parse_arguments( - "args" - "${options}" - "${one_value_args}" - "${multi_value_args}" - ${ARGN} - ) - - # Parameter TRAILBOOK_NAME - # - is required - # - there should be a target named trailbook_ - if(NOT args_TRAILBOOK_NAME) - message(FATAL_ERROR "trailbook_ev_add_module_explanation: TRAILBOOK_NAME argument is required") - endif() - if(NOT TARGET trailbook_${args_TRAILBOOK_NAME}) - message( - FATAL_ERROR - "trailbook_ev_add_module_explanation: No target named trailbook_${args_TRAILBOOK_NAME} found." - " Did you forget to call add_trailbook() first?" - ) - endif() - - # Parameter MODULE_NAME - # - is required - if(NOT args_MODULE_NAME) - message(FATAL_ERROR "trailbook_ev_add_module_explanation: MODULE_NAME argument is required") - endif() - - # Parameter EXPLANATION_DIR - # - is required - # - must be a absolute path - # - must exist - if(NOT args_EXPLANATION_DIR) - message(FATAL_ERROR "trailbook_ev_add_module_explanation: EXPLANATION_DIR argument is required") - endif() - if(NOT IS_ABSOLUTE "${args_EXPLANATION_DIR}") - message(FATAL_ERROR "trailbook_ev_add_module_explanation: EXPLANATION_DIR must be an absolute path") - endif() - if(NOT EXISTS "${args_EXPLANATION_DIR}") - message(FATAL_ERROR "trailbook_ev_add_module_explanation: EXPLANATION_DIR does not exist") - endif() - - - get_target_property( - TRAILBOOK_INSTANCE_SOURCE_DIRECTORY - trailbook_${args_TRAILBOOK_NAME} - TRAILBOOK_INSTANCE_SOURCE_DIRECTORY - ) - get_target_property( - DEPS_STAGE_PREPARE_SPHINX_SOURCE_AFTER - trailbook_${args_TRAILBOOK_NAME} - DEPS_STAGE_PREPARE_SPHINX_SOURCE_AFTER - ) - - set(TRAILBOOK_EV_EXPLANATION_DIRECTORY "${TRAILBOOK_INSTANCE_SOURCE_DIRECTORY}/explanation") - set(TRAILBOOK_EV_EXPLANATION_MODULES_DIRECTORY "${TRAILBOOK_EV_EXPLANATION_DIRECTORY}/modules") - - _trailbook_ev_add_module_explanation_copy_explanation_command() - - add_custom_target( - trailbook_${args_TRAILBOOK_NAME}_explanation_module_${args_MODULE_NAME} - DEPENDS - ${MODULE_EXPLANATION_TARGET_FILES} - COMMENT - "Explanation module ${args_MODULE_NAME} for trailbook ${args_TRAILBOOK_NAME} is available." - ) - set_property( - TARGET - trailbook_${args_TRAILBOOK_NAME} - APPEND - PROPERTY - ADDITIONAL_DEPS_STAGE_BUILD_SPHINX_BEFORE - ${MODULE_EXPLANATION_TARGET_FILES} - trailbook_${args_TRAILBOOK_NAME}_explanation_module_${args_MODULE_NAME} - ) -endfunction() diff --git a/cmake/trailbook-ext-everest/add-module-handwritten-doc.cmake b/cmake/trailbook-ext-everest/add-module-handwritten-doc.cmake new file mode 100644 index 0000000000..d864458a84 --- /dev/null +++ b/cmake/trailbook-ext-everest/add-module-handwritten-doc.cmake @@ -0,0 +1,214 @@ +# This macro is for internal use only +# +# It is used in the function trailbook_ev_add_module_handwritten_doc(). +# It adds a custom command to copy the handwritten module files to the reference modules directory. +macro(_trailbook_ev_add_module_reference_copy_handwritten_command) + file( + GLOB_RECURSE + MODULE_HANDWRITTEN_SOURCE_FILES + RELATIVE "${args_HANDWRITTEN_DIR}" + CONFIGURE_DEPENDS + "${args_HANDWRITTEN_DIR}/*" + ) + + set(EXPECTED_DEST_FILES "") + set(COPY_DEPENDENCIES "") + + foreach(SOURCE_FILE IN LISTS MODULE_HANDWRITTEN_SOURCE_FILES) + set(SRC_FILE_PATH "${args_HANDWRITTEN_DIR}/${SOURCE_FILE}") + + if(IS_DIRECTORY "${SRC_FILE_PATH}") + continue() + endif() + + get_filename_component(RELATIVE_SUBDIR "${SOURCE_FILE}" DIRECTORY) + get_filename_component(FILE_NAME "${SOURCE_FILE}" NAME) + + # when copying 'index.rst' then rename it + if("${FILE_NAME}" STREQUAL "index.rst") + set(DEST_FILENAME "index.inc") + else() + set(DEST_FILENAME "${FILE_NAME}") + endif() + + if("${RELATIVE_SUBDIR}" STREQUAL "") + set(DEST_FILE_PATH "${TRAILBOOK_EV_HANDWRITTEN_MODULE_DOC_DIRECTORY}/${DEST_FILENAME}") + set(DEST_DIR "${TRAILBOOK_EV_HANDWRITTEN_MODULE_DOC_DIRECTORY}") + else() + set(DEST_FILE_PATH "${TRAILBOOK_EV_HANDWRITTEN_MODULE_DOC_DIRECTORY}/${RELATIVE_SUBDIR}/${DEST_FILENAME}") + set(DEST_DIR "${TRAILBOOK_EV_HANDWRITTEN_MODULE_DOC_DIRECTORY}/${RELATIVE_SUBDIR}") + endif() + + list(APPEND EXPECTED_DEST_FILES "${DEST_FILE_PATH}") + + # One command per file + add_custom_command( + OUTPUT "${DEST_FILE_PATH}" + COMMAND ${CMAKE_COMMAND} -E make_directory "${DEST_DIR}" + COMMAND ${CMAKE_COMMAND} -E copy "${SRC_FILE_PATH}" "${DEST_FILE_PATH}" + DEPENDS "${SRC_FILE_PATH}" + COMMENT "Processing doc file: ${SOURCE_FILE} -> ${RELATIVE_SUBDIR}/${DEST_FILENAME}" + VERBATIM + ) + + list(APPEND COPY_DEPENDENCIES "${DEST_FILE_PATH}") + endforeach() + + # Remove files if they were deleted in the source tree + if(EXISTS "${TRAILBOOK_EV_HANDWRITTEN_MODULE_DOC_DIRECTORY}") + file(GLOB_RECURSE EXISTING_DEST_FILES "${TRAILBOOK_EV_HANDWRITTEN_MODULE_DOC_DIRECTORY}/*") + + foreach(EXISTING_FILE IN LISTS EXISTING_DEST_FILES) + if(IS_DIRECTORY "${EXISTING_FILE}") + continue() + endif() + + list(FIND EXPECTED_DEST_FILES "${EXISTING_FILE}" FILE_INDEX) + if(FILE_INDEX EQUAL -1) + message(STATUS " Removing orphaned doc file: ${EXISTING_FILE}") + file(REMOVE "${EXISTING_FILE}") + endif() + endforeach() + endif() + + if(COPY_DEPENDENCIES) + set(ASSET_TARGET "${TARGET_NAME_PREFIX}_assets") + + # Guard against multiple definitions + if(NOT TARGET trailbook_${args_TRAILBOOK_NAME}_handwritten_doc_module_${args_MODULE_NAME}) + add_custom_target( + trailbook_${args_TRAILBOOK_NAME}_handwritten_doc_module_${args_MODULE_NAME} + DEPENDS + ${COPY_DEPENDENCIES} + COMMENT + "Handwritten documentation of module ${args_MODULE_NAME} for trailbook ${args_TRAILBOOK_NAME} is available." + ) + + set_property( + TARGET + trailbook_${args_TRAILBOOK_NAME} + APPEND + PROPERTY + ADDITIONAL_DEPS_STAGE_BUILD_SPHINX_BEFORE + ${COPY_DEPENDENCIES} + trailbook_${args_TRAILBOOK_NAME}_handwritten_doc_module_${args_MODULE_NAME} + ) + endif() + endif() + + # set(MODULE_HANDWRITTEN_TARGET_FILES "") + # foreach(source_file IN LISTS MODULE_HANDWRITTEN_SOURCE_FILES) + # file(RELATIVE_PATH rel_path "${args_HANDWRITTEN_DIR}" "${source_file}") + # set(target_file "${TRAILBOOK_EV_HANDWRITTEN_MODULE_DOC_DIRECTORY}/${rel_path}") + # list(APPEND MODULE_HANDWRITTEN_TARGET_FILES "${target_file}") + # endforeach() + + # add_custom_command( + # OUTPUT + # ${MODULE_HANDWRITTEN_TARGET_FILES} + # DEPENDS + # ${MODULE_HANDWRITTEN_SOURCE_FILES} + # ${DEPS_STAGE_PREPARE_SPHINX_SOURCE_AFTER} + # COMMENT + # "Copying handwritten documentation files of module ${args_MODULE_NAME} to: ${TRAILBOOK_EV_HANDWRITTEN_MODULE_DOC_DIRECTORY}/" + # COMMAND + # ${CMAKE_COMMAND} -E rm -rf + # ${MODULE_HANDWRITTEN_TARGET_FILES} + # COMMAND + # ${CMAKE_COMMAND} -E make_directory + # ${TRAILBOOK_EV_HANDWRITTEN_MODULE_DOC_DIRECTORY}/ + # COMMAND + # ${CMAKE_COMMAND} -E copy_directory + # ${args_HANDWRITTEN_DIR} + # ${TRAILBOOK_EV_HANDWRITTEN_MODULE_DOC_DIRECTORY}/ + # ) +endmacro() + +# This function adds a handwritten module documentation to a trailbook. +# It takes the following parameters: +# TRAILBOOK_NAME (required): The name of the trailbook to add the +# documentation to. +# MODULE_NAME (required): The name of the module. +# HANDWRITTEN_DIR (required): The absolute path to the directory +# containing the module's handwritten files. +# +# Usage: +# trailbook_ev_add_module_handwritten_doc( +# TRAILBOOK_NAME +# MODULE_NAME +# HANDWRITTEN_DIR +# ) +function(trailbook_ev_add_module_handwritten_doc) + set(options) + set(one_value_args + TRAILBOOK_NAME + MODULE_NAME + HANDWRITTEN_DIR + ) + set(multi_value_args) + cmake_parse_arguments( + "args" + "${options}" + "${one_value_args}" + "${multi_value_args}" + ${ARGN} + ) + + # Parameter TRAILBOOK_NAME + # - is required + # - there should be a target named trailbook_ + if(NOT args_TRAILBOOK_NAME) + message(FATAL_ERROR "trailbook_ev_add_module_handwritten_doc: TRAILBOOK_NAME argument is required") + endif() + if(NOT TARGET trailbook_${args_TRAILBOOK_NAME}) + message( + FATAL_ERROR + "trailbook_ev_add_module_handwritten_doc: No target named trailbook_${args_TRAILBOOK_NAME} found." + " Did you forget to call add_trailbook() first?" + ) + endif() + + # Parameter MODULE_NAME + # - is required + if(NOT args_MODULE_NAME) + message(FATAL_ERROR "trailbook_ev_add_module_handwritten_doc: MODULE_NAME argument is required") + endif() + + # Parameter HANDWRITTEN_DIR + # - is required + # - must be a absolute path + # - must exist + if(NOT args_HANDWRITTEN_DIR) + message(FATAL_ERROR "trailbook_ev_add_module_handwritten_doc: HANDWRITTEN_DIR argument is required") + endif() + if(NOT IS_ABSOLUTE "${args_HANDWRITTEN_DIR}") + message(FATAL_ERROR "trailbook_ev_add_module_handwritten_doc: HANDWRITTEN_DIR must be an absolute path") + endif() + if(NOT EXISTS "${args_HANDWRITTEN_DIR}") + message(FATAL_ERROR "trailbook_ev_add_module_handwritten_doc: HANDWRITTEN_DIR does not exist") + endif() + + + get_target_property( + TRAILBOOK_INSTANCE_SOURCE_DIRECTORY + trailbook_${args_TRAILBOOK_NAME} + TRAILBOOK_INSTANCE_SOURCE_DIRECTORY + ) + get_target_property( + DEPS_STAGE_PREPARE_SPHINX_SOURCE_AFTER + trailbook_${args_TRAILBOOK_NAME} + DEPS_STAGE_PREPARE_SPHINX_SOURCE_AFTER + ) + + file(RELATIVE_PATH RELATIVE_PATH_HANDWRITTEN_DIR + "${CMAKE_SOURCE_DIR}/modules" + "${args_HANDWRITTEN_DIR}" + ) + + get_filename_component(RELATIVE_PATH_MODULE "${RELATIVE_PATH_HANDWRITTEN_DIR}" DIRECTORY) + + set(TRAILBOOK_EV_REFERENCE_DIRECTORY "${TRAILBOOK_INSTANCE_SOURCE_DIRECTORY}/reference") + set(TRAILBOOK_EV_HANDWRITTEN_MODULE_DOC_DIRECTORY "${TRAILBOOK_EV_REFERENCE_DIRECTORY}/modules/${RELATIVE_PATH_MODULE}") + + _trailbook_ev_add_module_reference_copy_handwritten_command() +endfunction() diff --git a/cmake/trailbook-ext-everest/generate-rst-from-manifest.cmake b/cmake/trailbook-ext-everest/generate-rst-from-manifest.cmake index 395d4446c3..613e2e3263 100644 --- a/cmake/trailbook-ext-everest/generate-rst-from-manifest.cmake +++ b/cmake/trailbook-ext-everest/generate-rst-from-manifest.cmake @@ -3,11 +3,17 @@ # It is used in the function trailbook_ev_generate_rst_from_manifest(). # It adds an custom command to generate the RST file from the manifest file macro(_trailbook_ev_generate_rst_from_manifest_generate_command) - set(GENERATED_FILE "${TRAILBOOK_EV_REFERENCE_MODULES_DIRECTORY}/${MODULE_NAME}.rst") + string(REPLACE "/manifest.yaml" ".rst" GENERATED_FILE "${TRAILBOOK_EV_REFERENCE_MODULES_DIRECTORY}/${RELATIVE_PATH_MANIFEST}") + + get_filename_component(RELATIVE_PATH ${RELATIVE_PATH_MANIFEST} DIRECTORY) + + set(GENERATED_FILE "${TRAILBOOK_EV_REFERENCE_MODULES_DIRECTORY}/${RELATIVE_PATH}/autogenerated.rst") + get_filename_component(GENERATED_PATH ${GENERATED_FILE} DIRECTORY) set(TEMPLATES_DIRECTORY "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/templates") if(EXISTS "${MODULE_DIR}/docs/") - set(HAS_MODULE_EXPLANATION "--has-module-explanation") + set(HANDWRITTEN_MODULE_DOC "--module-handwritten-doc" "index.inc") endif() + add_custom_command( OUTPUT ${GENERATED_FILE} @@ -20,6 +26,8 @@ macro(_trailbook_ev_generate_rst_from_manifest_generate_command) ${DEPS_STAGE_PREPARE_SPHINX_SOURCE_AFTER} COMMENT "Generating RST file ${GENERATED_FILE} from manifest ${args_MANIFEST_FILE}" + COMMAND + ${CMAKE_COMMAND} -E make_directory "${GENERATED_PATH}" COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/process_template.py @@ -28,8 +36,80 @@ macro(_trailbook_ev_generate_rst_from_manifest_generate_command) --name "${MODULE_NAME}" --data-file "${args_MANIFEST_FILE}" --target-file "${GENERATED_FILE}" - ${HAS_MODULE_EXPLANATION} + ${HANDWRITTEN_MODULE_DOC} ) + + set(TOP_LEVEL_MODULE_DIRECTORY "${CMAKE_SOURCE_DIR}") + get_filename_component(CURRENT_RELATIVE_FOLDER_TMP "${RELATIVE_PATH_MANIFEST}" DIRECTORY) + get_filename_component(CURRENT_RELATIVE_FOLDER "modules/${CURRENT_RELATIVE_FOLDER_TMP}" DIRECTORY) + + set(INDEX_TOC_GLOB_EXPRESSION " */autogenerated") + + while(NOT CURRENT_RELATIVE_FOLDER STREQUAL "") + + set(CURRENT_INDEX_DIRECTORY_CONCAT "${CMAKE_SOURCE_DIR}/${CURRENT_RELATIVE_FOLDER}") + get_filename_component(CURRENT_INDEX_DIRECTORY "${CURRENT_INDEX_DIRECTORY_CONCAT}" ABSOLUTE) + set(CURRENT_DEST_DIRECTORY_CONCAT "${TRAILBOOK_EV_REFERENCE_DIRECTORY}/${CURRENT_RELATIVE_FOLDER}") + get_filename_component(CURRENT_DEST_DIRECTORY "${CURRENT_DEST_DIRECTORY_CONCAT}" ABSOLUTE) + + set(INDEX_FILE "${CURRENT_DEST_DIRECTORY}/index.rst") + get_filename_component(CURRENT_FOLDER_NAME "${CURRENT_INDEX_DIRECTORY}" NAME) + string(REPLACE "/" "_" INDEX_TARGET_SUFFIX "${CURRENT_RELATIVE_FOLDER}") + get_property(is_create_index_cmd_added DIRECTORY "${CURRENT_INDEX_DIRECTORY}" PROPERTY did_add_create_index_cmd SET) + + if (NOT ${is_create_index_cmd_added}) + message(VERBOSE "ADDING DEFINITION OF add_custom_command FOR THE INDEX FILE OF ${CURRENT_DEST_DIRECTORY} FOR ${INDEX_FILE}") + add_custom_command( + OUTPUT + "${INDEX_FILE}" + COMMAND ${CMAKE_COMMAND} -E make_directory "${CURRENT_DEST_DIRECTORY}" + COMMAND ${CMAKE_COMMAND} -E touch "${INDEX_FILE}" + COMMAND ${CMAKE_COMMAND} -E echo "=========================================================" > "${INDEX_FILE}" + COMMAND ${CMAKE_COMMAND} -E echo "${CURRENT_FOLDER_NAME}" >> ${INDEX_FILE} + COMMAND ${CMAKE_COMMAND} -E echo "=========================================================" >> "${INDEX_FILE}" + COMMAND ${CMAKE_COMMAND} -E echo "" >> "${INDEX_FILE}" + COMMAND ${CMAKE_COMMAND} -E echo ".. toctree::" >> "${INDEX_FILE}" + COMMAND ${CMAKE_COMMAND} -E echo " :maxdepth: 1" >> "${INDEX_FILE}" + COMMAND ${CMAKE_COMMAND} -E echo " :glob:" >> "${INDEX_FILE}" + COMMAND ${CMAKE_COMMAND} -E echo "" >> "${INDEX_FILE}" + COMMAND ${CMAKE_COMMAND} -E echo "${INDEX_TOC_GLOB_EXPRESSION}" >> "${INDEX_FILE}" + COMMAND ${CMAKE_COMMAND} -E echo "" >> "${INDEX_FILE}" + DEPENDS + ${GENERATED_FILE} + trailbook_${args_TRAILBOOK_NAME}_stage_prepare_sphinx_source_after + ${DEPS_STAGE_PREPARE_SPHINX_SOURCE_AFTER} + ) + set(INDEX_TOC_GLOB_EXPRESSION " */index") + set_property( + DIRECTORY "${CURRENT_INDEX_DIRECTORY}" + PROPERTY did_add_create_index_cmd + "TRUE" + ) + add_custom_target( + trailbook_${args_TRAILBOOK_NAME}_generate_reference_index_for_module_${INDEX_TARGET_SUFFIX} + DEPENDS + "${INDEX_FILE}" + trailbook_${args_TRAILBOOK_NAME}_stage_prepare_sphinx_source_after + ${DEPS_STAGE_PREPARE_SPHINX_SOURCE_AFTER} + COMMENT + "Target to generate RST file ${INDEX_FILE}" + ) + set_property( + TARGET + trailbook_${args_TRAILBOOK_NAME} + APPEND + PROPERTY + ADDITIONAL_DEPS_STAGE_BUILD_SPHINX_BEFORE + "${INDEX_FILE}" + trailbook_${args_TRAILBOOK_NAME}_generate_reference_index_for_module_${INDEX_TARGET_SUFFIX} + ) + else() + message(VERBOSE "SKIPPING DEFINITION OF add_custom_command FOR THE INDEX FILE OF ${CURRENT_FOLDER_NAME}") + endif() + + # go up one level + get_filename_component(CURRENT_RELATIVE_FOLDER "${CURRENT_RELATIVE_FOLDER}" DIRECTORY) + endwhile() endmacro() @@ -102,6 +182,10 @@ function(trailbook_ev_generate_rst_from_manifest) get_filename_component(MODULE_DIR ${args_MANIFEST_FILE} DIRECTORY) get_filename_component(MODULE_NAME ${MODULE_DIR} NAME_WE) + file(RELATIVE_PATH RELATIVE_PATH_MANIFEST + "${CMAKE_SOURCE_DIR}/modules" + "${args_MANIFEST_FILE}" + ) _trailbook_ev_generate_rst_from_manifest_generate_command() diff --git a/cmake/trailbook-ext-everest/process_template.py b/cmake/trailbook-ext-everest/process_template.py index 9ec02dbf86..ccb7045f3d 100755 --- a/cmake/trailbook-ext-everest/process_template.py +++ b/cmake/trailbook-ext-everest/process_template.py @@ -79,10 +79,11 @@ def main(): help='YAML file containing data for the template' ) parser.add_argument( - '--has-module-explanation', - dest='has_module_explanation', - action='store_true', - help='Flag indicating if the module explanation should be referenced' + '--module-handwritten-doc', + type=Path, + dest='module_handwritten_doc', + action='store', + help='Path to the handwritten module documentation if it exists' ) parser.add_argument( '--target-file', @@ -92,9 +93,6 @@ def main(): required=True, help='Output file for the processed template' ) - parser.set_defaults( - has_module_explanation=False, - ) args = parser.parse_args() if not args.template_dir.is_absolute(): @@ -144,7 +142,7 @@ def main(): output = template.render( name=args.name, data=yaml.safe_load(args.data_file.read_text()), - has_module_explanation=args.has_module_explanation, + handwritten_module_doc=args.module_handwritten_doc, ) args.target_file.write_text(output) diff --git a/cmake/trailbook-ext-everest/templates/module.rst.jinja b/cmake/trailbook-ext-everest/templates/module.rst.jinja index b1b7d87d1e..1a541859d4 100644 --- a/cmake/trailbook-ext-everest/templates/module.rst.jinja +++ b/cmake/trailbook-ext-everest/templates/module.rst.jinja @@ -1,5 +1,4 @@ {% import 'macros.jinja' as funcs %} -:orphan: {{ funcs.explicit_target('everest_modules_' + name) -}} {{ funcs.h1(name) -}} @@ -8,22 +7,25 @@ {{ funcs.documentation(data.documentation) | rst_indent() -}} {% endif %} -{% if has_module_explanation %} -For a detailed handwritten documentation see {{ funcs.ref("everest_modules_handwritten_" + name, "here")}} +{% if handwritten_module_doc %} +{{ funcs.h2("Handwritten Documentation") }} +.. include:: {{ handwritten_module_doc }} {% endif %} +{{ funcs.h2("Auto-Generated Reference") }} + {% if data.config %} -{{ funcs.h2('Module Configuration') -}} +{{ funcs.h3('Module Configuration') -}} {{ funcs.config(data.config.items()) | rst_indent() -}} {% endif %} {% if data.provides %} -{{ funcs.h2('Provides') -}} +{{ funcs.h3('Provides') -}} {{ funcs.impls(data.provides.items()) | rst_indent() -}} {% endif %} {% if data.requires %} -{{ funcs.h2('Requirements') -}} +{{ funcs.h3('Requirements') -}} {{ funcs.reqs(data.requires.items()) | rst_indent() -}} {% endif %} diff --git a/cmake/trailbook-ext-everest/trailbook-ext-everest-config.cmake b/cmake/trailbook-ext-everest/trailbook-ext-everest-config.cmake index 87093cc5de..69b95af17e 100644 --- a/cmake/trailbook-ext-everest/trailbook-ext-everest-config.cmake +++ b/cmake/trailbook-ext-everest/trailbook-ext-everest-config.cmake @@ -5,7 +5,7 @@ find_package( PATHS "${CMAKE_SOURCE_DIR}/cmake" ) -include("${CMAKE_CURRENT_LIST_DIR}/add-module-explanation.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/add-module-handwritten-doc.cmake") include("${CMAKE_CURRENT_LIST_DIR}/generate-api-docs.cmake") include("${CMAKE_CURRENT_LIST_DIR}/generate-rst-from-interface.cmake") include("${CMAKE_CURRENT_LIST_DIR}/generate-rst-from-types.cmake") diff --git a/docs/source/explanation/adapt-everest/apis.rst b/docs/source/explanation/adapt-everest/apis.rst index 5f450dc5e0..e499bd8f13 100644 --- a/docs/source/explanation/adapt-everest/apis.rst +++ b/docs/source/explanation/adapt-everest/apis.rst @@ -55,7 +55,7 @@ that talks to the power meter hardware to fetch the measurements can now be implemented in a process running outside of EVerest (and is started e.g. by a separate *systemd* unit). It just needs to feed the measured values via MQTT into the -:doc:`Powermeter API module `. +:ref:`Powermeter API module `. .. figure:: images/everest-api-1.png :alt: EVerest API - Image 1 @@ -63,7 +63,7 @@ values via MQTT into the For a better understanding of how the EVerest API works, let us have an exemplary closer look at the -:doc:`Power Supply DC API module `. +:ref:`Power Supply DC API module `. The manifest can be reduced to this: @@ -90,7 +90,7 @@ module *is* a :doc:`DC power supply `. This implies that it can be used in the configuration file for EVerest wherever a DC power supply is expected. -In a product, this would be the :doc:`EvseManager ` +In a product, this would be the :ref:`EvseManager ` requiring a DC power supply. During development or validation it could also be a BringUp module. @@ -121,9 +121,9 @@ Let's take a look at an example configuration that uses the API module: implementation_id: if_power_supply_DC It loads two modules: -The :doc:`power_supply_DC_API ` +The :ref:`power_supply_DC_API ` and the -:doc:`BringUp module for DC power supplies `. +:ref:`BringUp module for DC power supplies `. Starting EVerest with this configuration enables the API for DC power supplies and a BringUp module, that can send to and receive messages from the API. The actual topics on the MQTT will be available under diff --git a/docs/source/explanation/adapt-everest/sub-systems.rst b/docs/source/explanation/adapt-everest/sub-systems.rst index 6470580ea2..d116fa7a80 100644 --- a/docs/source/explanation/adapt-everest/sub-systems.rst +++ b/docs/source/explanation/adapt-everest/sub-systems.rst @@ -26,7 +26,7 @@ sessions and on the Energy management subsystem to allocate the energy budget for the charging process. The main module of this subsystem is the -:doc:`EvseManager `. +:ref:`EvseManager `. It contains all the logic and state machines for one CCS AC or DC charging port. @@ -42,7 +42,7 @@ is sufficient. First, we add a board support module. This is the most important hardware driver. -In this example, we use the :doc:`YetiDriver ` +In this example, we use the :ref:`YetiDriver ` module which is the BSP driver for the BelayBox. Check the configuration of the module; it should be correct for the BelayBox. Click on the (i) button to learn more about each configuration setting. @@ -89,22 +89,22 @@ implementation. For the BelayBox, we could have used the *powermeter* implementation of the YetiDriver (which uses the Yeti onboard metering). In most configurations, an external DIN-rail power meter is used with an RS485/ModBus connection, so we use the -:doc:`GenericPowermeter ` +:ref:`GenericPowermeter ` module here: .. figure:: images/powermeter-connection.png :alt: Power meter connection :width: 420px -:doc:`GenericPowermeter ` +:ref:`GenericPowermeter ` is a module that can easily be adapted to most ModBus-based AC power meters by specifying the register mappings in the configuration of that module. It requires a -:doc:`SerialCommHub ` +:ref:`SerialCommHub ` module to do the actual read/write to the serial RS485 port of the system. This is a separate module as multiple device drivers may use the same serial bus, so they can all be connected to the same -:doc:`SerialCommHub ` module. +:ref:`SerialCommHub ` module. Make sure to configure the correct serial device and baud rate. Note that there are two optional requirements for power meters in the @@ -124,17 +124,17 @@ desired: Three modules have been added: -:doc:`EvseV2G `: +:ref:`EvseV2G `: Implementation of ISO15118-2(AC/DC) and DIN SPEC70121(DC). Connects to the *hlc/ISO15118_charger* requirement of EvseV2G. Make sure to set the “device” config option to the ethernet device of the PLC modem. Leave the other options on default for now. -:doc:`EvseSecurity `: +:ref:`EvseSecurity `: Handles certificates and private keys for TLS/PnC. We will connect it here even though PnC is not enabled yet. -:doc:`EvseSlac `: +:ref:`EvseSlac `: Implementation of ISO15118-3 (SLAC) to pair the PLC modems of the EV and the EVSE at the start of the session. Make sure to configure the same “device” as used for the EvseV2G. The two must point @@ -177,9 +177,9 @@ the 5% PWM will be used throughout the complete charging session as it is done for DC. This is not allowed according to the standard though. For completeness, we’ll also add a -:doc:`PersistentStore ` +:ref:`PersistentStore ` module to the *kvs/persistent_store* requirement of the -:doc:`EvseManager `. +:ref:`EvseManager `. This is needed to persistently store charging session information e.g- for German Eichrecht requirements. It may not be needed in simple configurations. @@ -196,7 +196,7 @@ DC charging port ------------------ Let's build a DC charging port using the phyVERSO board. Start with the -:doc:`EvseManager ` again and adjust +:ref:`EvseManager ` again and adjust one setting to switch it to DC mode: .. figure:: images/switch-to-dc-mode.png @@ -204,8 +204,8 @@ one setting to switch it to DC mode: :width: 320px The basic configuration looks similar to the AC one. We just exchanged -the :doc:`YetiDriver ` with the -:doc:`PhyVersoBSP ` driver and connected the +the :ref:`YetiDriver ` with the +:ref:`PhyVersoBSP ` driver and connected the *connector_1* interface for *evse_board_support* to EvseManager. Note that *connector_lock* and *ac_rcd* are no longer needed on DC. @@ -219,7 +219,7 @@ They should be correct on the default phyVERSO Board. :width: 700px The power meter has been replaced by a -:doc:`LEM driver ` , which is a power +:ref:`LEM driver ` , which is a power meter often used for public DC charging. It is connected via ethernet, so no SerialCommHub is needed. Verify the correct target IP is set. @@ -231,10 +231,10 @@ DC charging: :width: 750px For the DC power supply, a -:doc:`Huawei driver ` was added here +:ref:`Huawei driver ` was added here to the *power_supply_DC* requirement of EvseManager. Set the correct CAN device. As isolation monitor, the -:doc:`Bender isoCHA driver ` was added. +:ref:`Bender isoCHA driver ` was added. As it is a modbus device, it requires a SerialCommHub again - the same way as the GenericPowermeter in the AC configuration. Make sure the settings for the serial port are correct. @@ -251,7 +251,7 @@ Authentication subsystem ======================== Let's add a simple authentication subsystem to the charging part we just -created. Start by adding the :doc:`Auth module ` . +created. Start by adding the :ref:`Auth module ` . It is the central logic core of this subsystem and manages all incoming tokens, validations and reservations. Connect it to the *evse/evse_manager* implementation on EvseManager. Through this interface, it will authorize @@ -306,7 +306,7 @@ Now, let's add a very simple token validator: -------------- -The :doc:`LocalAllowlistTokenValidator ` +The :ref:`LocalAllowlistTokenValidator ` module takes a simple ASCII file (see config) with one line per token. All tokens listed in this file are considered valid, all others are invalid. With this Auth system, we already have a very simple version that can be @@ -346,23 +346,23 @@ OCPP requires several connections. Let's go through them step by step: - :doc:`reservation interface ` is used to reserve/cancel reservations of connectors via OCPP from the CSMS. - OCPP also requires a connection to the - :doc:`EvseSecurity ` module, which + :ref:`EvseSecurity ` module, which is now shared between OCPP and EvseV2G. OCPP requires it to load the certificate / keys for TLS to the CSMS. OCPP can also update/install certificates for both OCPP and ISO 15118 from the CSMS. - OCPP requires a helper module for system-specific implementations (OTA update, logfile collection and upload). Here, we use - :doc:`Linux_Systemd_Rauc ` + :ref:`Linux_Systemd_Rauc ` from EVerest, which is the default implementation using systemd for log collection and RAUC for OTA updates. This in turn requires a - :doc:`PersistentStore ` module, + :ref:`PersistentStore ` module, which is shared here with the EvseManager. For more detailed information about the OCPP configuration, check out the following resources: -- :doc:`OCPP1.6 module documentation ` -- :doc:`OCPP2.0.1 module documentation ` +- :ref:`OCPP1.6 module documentation ` +- :ref:`OCPP2.0.1 module documentation ` - :doc:`OCPP1.6 tutorial ` - :doc:`OCPP2.0.1 tutorial ` @@ -379,7 +379,7 @@ energy management distributes energy between charging ports. It is also needed if only one charging port exists. Please refer to the -:doc:`Energy Management documentation ` +:doc:`Energy Management documentation ` for a detailed explanation of how to set up the energy management subsystem. diff --git a/docs/source/explanation/energymanagement/index.rst b/docs/source/explanation/energymanagement/index.rst index db69fc75c8..c833997abf 100644 --- a/docs/source/explanation/energymanagement/index.rst +++ b/docs/source/explanation/energymanagement/index.rst @@ -10,8 +10,8 @@ implemented in EVerest. It covers the representation of energy systems as energy trees, the handling of energy requests and distribution, and the configuration of energy trees within EVerest. The central modules involved in this concept are the -:doc:`EnergyManager ` and -:doc:`EnergyNode ` modules. +:ref:`EnergyManager ` and +:ref:`EnergyNode ` modules. One of its central ideas of EVerest's energymanagement to represent the energy system for which power is distributed as an energy tree containing energy nodes. diff --git a/docs/source/explanation/hardware-architecture.rst b/docs/source/explanation/hardware-architecture.rst index 3e22653784..e8e9784a81 100644 --- a/docs/source/explanation/hardware-architecture.rst +++ b/docs/source/explanation/hardware-architecture.rst @@ -317,4 +317,4 @@ example. ---- -Authors: Cornelius Claussen \ No newline at end of file +**Authors**: Cornelius Claussen \ No newline at end of file diff --git a/docs/source/explanation/hardware-drivers.rst b/docs/source/explanation/hardware-drivers.rst index 011f02de58..4d1d345675 100644 --- a/docs/source/explanation/hardware-drivers.rst +++ b/docs/source/explanation/hardware-drivers.rst @@ -13,7 +13,7 @@ Isolation Monitoring Devices Bender ISOMETER isoCHA425 ------------------------- -*Hardware Driver Module* :doc:`Bender_isoCHA425HV ` +*Hardware Driver Module* :ref:`Bender_isoCHA425HV ` You can find more information about the device here: @@ -62,7 +62,7 @@ a compatible RFID card. NxpNfcFrontendTokenProvider --------------------------- -*Hardware Driver Module* :doc:`NxpNfcFrontendTokenProvider ` +*Hardware Driver Module* :ref:`NxpNfcFrontendTokenProvider ` The variety of hardware supported by the underlying NxpNfcFrontendWrapper is limited by the time of writing (only CR663), but can be extended. @@ -74,14 +74,14 @@ accepting the license terms). PN532TokenProvider ------------------ -*Hardware Driver Module* :doc:`PN532TokenProvider ` +*Hardware Driver Module* :ref:`PN532TokenProvider ` Supports the PN532 integrated tranceiver. PN7160TokenProvider ------------------- -*Hardware Driver Module* :doc:`PN7160TokenProvider ` +*Hardware Driver Module* :ref:`PN7160TokenProvider ` Supports the PNC7160 NFC Controller via the NCI interface. No Linux kernel module required. @@ -95,7 +95,7 @@ TODO: incomplete: Mention DPM1000, InfiPower, Winline? Huawei R100040Gx ---------------- -*Hardware Driver Module* :doc:`Huawei_R100040Gx ` +*Hardware Driver Module* :ref:`Huawei_R100040Gx ` The device is supported by EVerest with the "Huawei_R100040Gx" module. @@ -119,7 +119,7 @@ specify all module addresses in the module configuration. Huawei V100R023C10 ------------------ -*Hardware Driver Module* :doc:`TODO Huawei_V100R023C10 ` +*Hardware Driver Module* :ref:`TODO Huawei_V100R023C10 ` This device is supported in EVerest with the Huawei production firmware. The setup of this device is complex. @@ -137,7 +137,7 @@ Most important specs: Infypower BEG1K075G ------------------- -*Hardware Driver Module* :doc:`InfyPower_BEG1K075G ` +*Hardware Driver Module* :ref:`InfyPower_BEG1K075G ` Supported by EVerest with the "InfyPower_BEG1K075G" module. Stacking of multiple modules is not yet supported by the driver. @@ -154,7 +154,7 @@ result in hardware damages. New firmware is available from InfyPower. UUGreenPower UR1000X0 --------------------- -*Hardware Driver Module* :doc:`UUGreenPower_UR1000X0 ` +*Hardware Driver Module* :ref:`UUGreenPower_UR1000X0 ` Both the 30 kW and 40 kW uni-directional modules from UUGreenPower are fully supported by EVerest with the "UUGreenPower_UR1000X0" module. @@ -184,7 +184,7 @@ Power meters DC: LEM DCBM400/600 ------------------- -*Hardware Driver Module* :doc:`LemDCBM400600 ` +*Hardware Driver Module* :ref:`LemDCBM400600 ` This power meter is fully supported by EVerest a (LemDCBM400600) driver. @@ -208,7 +208,7 @@ auto-detects V1 and V2 hardware versions and supports both. DC: Acrel DJSF1352 ------------------ -*Hardware Driver Module* :doc:`Acrel_DJSF1352_RN ` +*Hardware Driver Module* :ref:`Acrel_DJSF1352_RN ` This is a simple DC power meter with no Eichrecht support. It uses ModBus/RS485 and requires a SerialCommHub module to work. @@ -216,7 +216,7 @@ ModBus/RS485 and requires a SerialCommHub module to work. DC: AST DC650 ------------- -*Hardware Driver Module* :doc:`AST_DC650 ` +*Hardware Driver Module* :ref:`AST_DC650 ` The driver is implemented in the "AST_DC650" module using the SLIP protocol. Eichrecht support is not complete in the driver in the current @@ -228,7 +228,7 @@ LEM. DC: DZG GSH01 ------------- -*Hardware Driver Module* :doc:`DZG_GSH01 ` +*Hardware Driver Module* :ref:`DZG_GSH01 ` The driver is implemented in the "DZG GSH01" module using the SLIP protocol. @@ -241,14 +241,14 @@ Eichrecht and OCMF handling are fully implemented. DC: Isabellenhütte IEM-DCC -------------------------- -*Hardware Driver Module* :doc:`IsabellenhuetteIemDcr ` +*Hardware Driver Module* :ref:`IsabellenhuetteIemDcr ` There is a driver for the Isabellenhütte IEM-DCC meter in EVerest. AC: GenericPowermeter --------------------- -*Hardware Driver Module* :doc:`GenericPowermeter ` +*Hardware Driver Module* :ref:`GenericPowermeter ` The GenericPowermeter driver has support for most ModBus-based AC power meters. It supports a yaml configuration file for register mapping to @@ -264,7 +264,7 @@ For all non-Eichrecht power metering, this should be easy to adapt. AC: Iskra WM3M4 & WM3M4C ------------------------ -*Hardware Driver Module* :doc:`RsIskraMeter ` +*Hardware Driver Module* :ref:`RsIskraMeter ` There is a community driver in the "RsIskraMeter" module. Eichrecht support is implemented, some fault cases may require additional @@ -275,7 +275,7 @@ Power line modems ----------------- The following power line modems are supported in the -:doc:`EvseSlac module `. +:ref:`EvseSlac module `. The chip is detected automatically, but each chip may require some configuration for a real product. @@ -347,7 +347,7 @@ TODO: Incomplete - which BSPs to list here? PHYTEC phyVERSO controller -------------------------- -*Hardware Driver Module* :doc:`PhyVersoBSP ` +*Hardware Driver Module* :ref:`PhyVersoBSP ` phyVERSO is fully supported with all features of the hardware for both charging ports (AC and DC). diff --git a/docs/source/explanation/index.rst b/docs/source/explanation/index.rst index 87786ce85f..48777864cb 100644 --- a/docs/source/explanation/index.rst +++ b/docs/source/explanation/index.rst @@ -83,12 +83,6 @@ Below that, you will be presented with a categorized list of all articles. Description of natively supported hardware driver modules included in EVerest. - .. grid-item-card:: EVerest Modules - :link: modules/index - :link-type: doc - - Handwritten documentation for EVerest modules. - .. grid-item-card:: Structure of the EVerest Documentation :link: the-everest-documentation :link-type: doc @@ -111,6 +105,5 @@ Below that, you will be presented with a categorized list of all articles. linux-yocto/index hardware-architecture hardware-drivers - modules/index the-everest-documentation powermeter-ocmf diff --git a/docs/source/explanation/modules/index.rst b/docs/source/explanation/modules/index.rst deleted file mode 100644 index 162cab26b4..0000000000 --- a/docs/source/explanation/modules/index.rst +++ /dev/null @@ -1,9 +0,0 @@ -########################################## -EVerest Modules -########################################## - -.. toctree:: - :maxdepth: 1 - :glob: - - */* diff --git a/docs/source/explanation/pnc-process.rst b/docs/source/explanation/pnc-process.rst index 931e26fb0f..0b180b3bfe 100644 --- a/docs/source/explanation/pnc-process.rst +++ b/docs/source/explanation/pnc-process.rst @@ -60,7 +60,7 @@ the charger: These certificates and keys can be installed during provisioning of the charger, or they can be installed using OCPP1.6 or OCPP2.x. The paths to store these files can be configured in the -EvseSecurity module. Please see the :doc:`Documentation of the EvseSecurity ` +EvseSecurity module. Please see the :ref:`Documentation of the EvseSecurity ` for further information on how to do the configuration for this module. In the visualization, step (0) shows the process that represents the previously described process of diff --git a/docs/source/explanation/powermeter-ocmf.rst b/docs/source/explanation/powermeter-ocmf.rst index 1245f4faa2..fca6c3d70c 100644 --- a/docs/source/explanation/powermeter-ocmf.rst +++ b/docs/source/explanation/powermeter-ocmf.rst @@ -6,7 +6,7 @@ Powermeter OCMF Handling This document explains how EVerest modules implementing the :doc:`powermeter interface ` shall handle OCMF report generation and transmission when used in conjunction with the -:doc:`EvseManager module `. +:ref:`EvseManager module `. The following sequence diagrams illustrate the interactions between the involved modules during the start and stop of a transaction, including error handling scenarios: diff --git a/docs/source/how-to-guides/bringup/ac.rst b/docs/source/how-to-guides/bringup/ac.rst index d86e649344..1e419894b1 100644 --- a/docs/source/how-to-guides/bringup/ac.rst +++ b/docs/source/how-to-guides/bringup/ac.rst @@ -20,7 +20,7 @@ done. Let's verify the AC-specific components: You can continue to use your bringup config you used for the bring up of CP, PP and relays, which includes the -:doc:`BSP BringUp module `. +:ref:`BSP BringUp module `. RCD === @@ -154,8 +154,8 @@ You could use a real car for this. As with basic charging, we first create a new configuration file by extending the one we just used for basic charging. -We add an :doc:`ISO 15118 stack ` as well as a -:doc:`SLAC module `: +We add an :ref:`ISO 15118 stack ` as well as a +:ref:`SLAC module `: .. image:: images/iso-15118-stack.png :alt: ISO 15118 Stack diff --git a/docs/source/how-to-guides/documenting-everest/extending-everest-documentation.rst b/docs/source/how-to-guides/documenting-everest/extending-everest-documentation.rst index 196a00b634..c70a2e66e0 100644 --- a/docs/source/how-to-guides/documenting-everest/extending-everest-documentation.rst +++ b/docs/source/how-to-guides/documenting-everest/extending-everest-documentation.rst @@ -103,10 +103,10 @@ your new page in the same location. In general, you can decide where to put your documentation pages: * The repository for the main documentation: - https://github.com/EVerest/everest-core in directory ``docs`` + https://github.com/EVerest/everest-core in directory ``docs/sources/`` * Directly inside of the ``docs`` directory in your modules directory structure. - This will generate documentation pages in the ``references`` section of the - main documentation. + The ``index.rst`` in this location will be included into the auto-generated + ``reference`` documentation page of this module. * Near the source code which implements the feature that is to be documented. .. note:: diff --git a/docs/source/how-to-guides/uk-smart-charging-regulations.rst b/docs/source/how-to-guides/uk-smart-charging-regulations.rst index 4442abfac1..26f1143036 100644 --- a/docs/source/how-to-guides/uk-smart-charging-regulations.rst +++ b/docs/source/how-to-guides/uk-smart-charging-regulations.rst @@ -33,7 +33,7 @@ be implemented by the hardware or non-EVerest software. Regarding EVerest integration, "Part 2 11 Randomized delays" is particularly important. EVerest has support for that feature by enabling the following config option in the -:doc:`EvseManager module `: +:ref:`EvseManager module `: .. code-block:: yaml diff --git a/docs/source/reference/index.rst b/docs/source/reference/index.rst index 764e08dc7b..41bc32605d 100644 --- a/docs/source/reference/index.rst +++ b/docs/source/reference/index.rst @@ -7,7 +7,7 @@ Reference .. toctree:: :maxdepth: 1 - modules_index.rst + modules/index.rst interfaces_index.rst types_index.rst api/autogenerated_api_index diff --git a/docs/source/reference/modules_index.rst b/docs/source/reference/modules_index.rst deleted file mode 100644 index 6885dfb030..0000000000 --- a/docs/source/reference/modules_index.rst +++ /dev/null @@ -1,9 +0,0 @@ -########################################## -EVerest Modules -########################################## - -.. toctree:: - :maxdepth: 1 - :glob: - - modules/* diff --git a/docs/source/tutorials/ocpp16.rst b/docs/source/tutorials/ocpp16.rst index 46e59c3436..68ee6c71fa 100644 --- a/docs/source/tutorials/ocpp16.rst +++ b/docs/source/tutorials/ocpp16.rst @@ -230,7 +230,7 @@ and their descriptions in `here ` + :ref:`EvseSecurity module ` for more information on how to set up the TLS connection for OCPP. .. _tutorial_ocpp16_configure_ocpp_everest: @@ -242,14 +242,14 @@ To be able to follow the further explanations, you should be familiar with the c Take a look into :doc:`EVerest Module Concept ` for that. To configure the OCPP module of everest-core, find the available configuration parameters -in the :doc:`module documentation `, and read through them +in the :ref:`module documentation `, and read through them carefully in order to configure it according to your needs. In order to enable OCPP 1.6 in EVerest, you need to load the module in the EVerest configuration file and set up the module connections. The interfaces provided and required by the OCPP module and its purposes are described in the -:doc:`module documentation `. +:ref:`module documentation `. The EVerest configuration file `config-sil-ocpp.yaml `_ @@ -284,10 +284,10 @@ EVerest configuration file: complete charging station. *Module typically used to fulfill this requirement:* - :doc:`EnergyNode ` + :ref:`EnergyNode ` More information about the energy management setup can be found in the - :doc:`EnergyManager module documentation `. + :doc:`EnergyManager module documentation `. - **auth** (interface: ``auth``, 1): @@ -295,14 +295,14 @@ EVerest configuration file: if configured and/or changed by the CSMS. *Module typically used to fulfill this requirement:* - :doc:`Auth module `, ``implementation_id: main`` + :ref:`Auth module `, ``implementation_id: main`` - **reservation** (interface: ``reservation``, 1): This connection is used to apply reservation requests from the CSMS. *Module typically used to fulfill this requirement:* - :doc:`Auth module `, ``implementation_id: reservation`` + :ref:`Auth module `, ``implementation_id: reservation`` - **system** (interface: ``system``, 1): @@ -311,8 +311,8 @@ EVerest configuration file: *Modules fulfilling this requirement:* - - :doc:`Linux_Systemd_Rauc module ` (``implementation_id: main``) - - For simulation purposes: :doc:`System module ` (``implementation_id: main``) + - :ref:`Linux_Systemd_Rauc module ` (``implementation_id: main``) + - For simulation purposes: :ref:`System module ` (``implementation_id: main``) .. note:: The System module is **not meant to be used in production systems**. @@ -323,7 +323,7 @@ EVerest configuration file: certificates and private keys. *Module typically used to fulfill this requirement:* - :doc:`EvseSecurity module `, ``implementation_id: main`` + :ref:`EvseSecurity module `, ``implementation_id: main`` - **data_transfer** (interface: ``ocpp_data_transfer``, 0 to 1): @@ -348,7 +348,7 @@ EVerest configuration file: (``implementation_id: auth_provider``) and ``token_validator`` (``implementation_id: auth_validator``) connections of the Auth module (if you use it). - Please see the documentation of the :doc:`Auth module ` for more information. + Please see the documentation of the :ref:`Auth module ` for more information. 4. **Enable Plug & Charge (optional):** diff --git a/docs/source/tutorials/ocpp2.rst b/docs/source/tutorials/ocpp2.rst index 09b10ecae7..40986dcdfd 100644 --- a/docs/source/tutorials/ocpp2.rst +++ b/docs/source/tutorials/ocpp2.rst @@ -19,7 +19,7 @@ is mostly backwards compatible, the implementation of OCPP 2.1 is based on the 2.0.1 implementation. Every functionality that is provided as part of OCPP 2.0.1 is also available in OCPP 2.1. -In EVerest, the :doc:`OCPP201 module ` +In EVerest, the :ref:`OCPP201 module ` provides the OCPP 2.0.1 and 2.1 functionality. Where applicable the following documentation uses "2.x" to refer to both versions. @@ -329,7 +329,7 @@ Modify these parameters according to the connection requirements of the CSMS. For TLS, it might be required to prepare the required certificates and private keys. Please see the documentation of the - :doc:`EvseSecurity module ` for more information + :ref:`EvseSecurity module ` for more information on how to set up the TLS connection for OCPP. .. _tutorial-ocpp2-enable-pnc: @@ -349,13 +349,12 @@ To be able to follow the further explanations, you should be familiar with the c Take a look into :doc:`EVerest Module Concept ` for that. To configure the OCPP201 module of everest-core, find the available configuration parameters -:doc:`OCPP201 module manifest ` -and read the -:doc:`OCPP201 module documentation ` -carefully in order to configure it according to your needs. +and carefully read the further explanations in the +:ref:`OCPP201 module documentation ` +in order to configure it according to your needs. In order to enable OCPP2.x in EVerest, you need to load the module in the EVerest configuration file and set up the module connections. The interfaces -provided and required by the OCPP module and its purposes are described in the :doc:`OCPP201 module documentation `. +provided and required by the OCPP module and its purposes are described in the :ref:`OCPP201 module documentation `. The EVerest configuration file `config-sil-ocpp201.yaml `_ which was used previously serves as a good example @@ -374,7 +373,7 @@ Here is a quick list of things you should remember when adding OCPP201 to your E In order to manage multiple EVSEs via one OCPP connection, multiple connections need to be configured in the EVerest config file. Module implementation typically used to fullfill this requirement: - :doc:`EvseManager `, implementation_id: evse + :ref:`EvseManager `, implementation_id: evse - evse_energy_sink (interface: external_energy_limits, 0 to 128): OCPP optionally requires this connection to communicate smart charging limits received from the CSMS within EVerest. @@ -383,31 +382,31 @@ Here is a quick list of things you should remember when adding OCPP201 to your E The EnergyNode for *evse id* zero represents the energy sink for the complete charging station. Module typically used to fullfill this requirement: - :doc:`EnergyNode `, implementation_id: external_limits + :ref:`EnergyNode `, implementation_id: external_limits More information about the energy management setup can be found in the - :doc:`EnergyManager module documentation `. + :ref:`EnergyManager module documentation `. - auth (interface: auth, 1): This connection is used to set the standardized ``ConnectionTimeout`` configuration key if configured and/or changed by the CSMS. Module typically used to fullfill this requirement: - :doc:`Auth `, implementation_id: main + :ref:`Auth `, implementation_id: main - reservation (interface: reservation, 1): This connection is used to apply reservation requests from the CSMS. Module typically used to fullfill this requirement: - :doc:`Auth `, implementation_id: reservation + :ref:`Auth `, implementation_id: reservation - system (interface: system, 1): This connection is used to execute and control system-wide operations that can be triggered by the CSMS, like log uploads, firmware updates, and resets. - The :doc:`Linux_Systemd_Rauc module ` (implementation_id: main) + The :ref:`Linux_Systemd_Rauc module ` (implementation_id: main) can be used to fullfill this requirement. - For simulation purposes, the :doc:`System module ` (implementation_id: main) + For simulation purposes, the :ref:`System module ` (implementation_id: main) can be used. Note that the latter is not meant to be used in production systems! - security (interface: evse_security, 1): This connection is used to execute security-related operations and to manage certificates and private keys. Module typically used to fullfill this requirement: - :doc:`EvseSecurity `, implementation_id: main + :ref:`EvseSecurity `, implementation_id: main - data_transfer (interface: ocpp_data_transfer, 0 to 1): This connection is used to handle **DataTransfer.req** messages from the CSMS. diff --git a/modules/API/auth_consumer_API/docs/index.rst b/modules/API/auth_consumer_API/docs/index.rst index f82476e7f6..cd369ea7fb 100644 --- a/modules/API/auth_consumer_API/docs/index.rst +++ b/modules/API/auth_consumer_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_auth_consumer_API: -******************************************* -auth_consumer_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. auth_consumer_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/auth_token_provider_API/docs/index.rst b/modules/API/auth_token_provider_API/docs/index.rst index 9a517a5fce..90cb31433d 100644 --- a/modules/API/auth_token_provider_API/docs/index.rst +++ b/modules/API/auth_token_provider_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_auth_token_provider_API: -******************************************* -auth_token_provider_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. auth_token_provider_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/auth_token_validator_API/docs/index.rst b/modules/API/auth_token_validator_API/docs/index.rst index 923abd0867..480456a5d7 100644 --- a/modules/API/auth_token_validator_API/docs/index.rst +++ b/modules/API/auth_token_validator_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_auth_token_validator_API: -******************************************* -auth_token_validator_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. auth_token_validator_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/dc_external_derate_consumer_API/docs/index.rst b/modules/API/dc_external_derate_consumer_API/docs/index.rst index 72427524c5..858dd04136 100644 --- a/modules/API/dc_external_derate_consumer_API/docs/index.rst +++ b/modules/API/dc_external_derate_consumer_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_dc_external_derate_consumer_API: -******************************************* -dc_external_derate_consumer_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. dc_external_derate_consumer_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/display_message_API/docs/index.rst b/modules/API/display_message_API/docs/index.rst index 73ff89f280..6d009878e4 100644 --- a/modules/API/display_message_API/docs/index.rst +++ b/modules/API/display_message_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_display_message_API: -******************************************* -display_message_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. display_message_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/error_history_consumer_API/docs/index.rst b/modules/API/error_history_consumer_API/docs/index.rst index 7600a9694e..500dbcd400 100644 --- a/modules/API/error_history_consumer_API/docs/index.rst +++ b/modules/API/error_history_consumer_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_error_history_consumer_API: -******************************************* -error_history_consumer_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. error_history_consumer_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/evse_board_support_API/docs/index.rst b/modules/API/evse_board_support_API/docs/index.rst index e03ed8472f..03b8063224 100644 --- a/modules/API/evse_board_support_API/docs/index.rst +++ b/modules/API/evse_board_support_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_evse_board_support_API: -******************************************* -evse_board_support_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. evse_board_support_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/evse_manager_consumer_API/docs/index.rst b/modules/API/evse_manager_consumer_API/docs/index.rst index 3674f2b46f..242c835be0 100644 --- a/modules/API/evse_manager_consumer_API/docs/index.rst +++ b/modules/API/evse_manager_consumer_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_evse_manager_consumer_API: -******************************************* -evse_manager_consumer_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. evse_manager_consumer_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/external_energy_limits_consumer_API/docs/index.rst b/modules/API/external_energy_limits_consumer_API/docs/index.rst index d8d2870546..6cea0511d1 100644 --- a/modules/API/external_energy_limits_consumer_API/docs/index.rst +++ b/modules/API/external_energy_limits_consumer_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_external_energy_limits_consumer_API: -******************************************* -external_energy_limits_consumer_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. external_energy_limits_consumer_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/generic_error_raiser_API/docs/index.rst b/modules/API/generic_error_raiser_API/docs/index.rst index 342c77f20b..b1da8580e7 100644 --- a/modules/API/generic_error_raiser_API/docs/index.rst +++ b/modules/API/generic_error_raiser_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_generic_error_raiser_API: -******************************************* -generic_error_raiser_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. generic_error_raiser_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/isolation_monitor_API/docs/index.rst b/modules/API/isolation_monitor_API/docs/index.rst index 380dfec9c7..50647781eb 100644 --- a/modules/API/isolation_monitor_API/docs/index.rst +++ b/modules/API/isolation_monitor_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_isolation_monitor_API: -******************************************* -isolation_monitor_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. isolation_monitor_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/ocpp_consumer_API/docs/index.rst b/modules/API/ocpp_consumer_API/docs/index.rst index 2ccc6c1333..3495089810 100644 --- a/modules/API/ocpp_consumer_API/docs/index.rst +++ b/modules/API/ocpp_consumer_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_ocpp_consumer_API: -******************************************* -ocpp_consumer_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. ocpp_consumer_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/over_voltage_monitor_API/docs/index.rst b/modules/API/over_voltage_monitor_API/docs/index.rst index 10b217efbc..e267f5b40d 100644 --- a/modules/API/over_voltage_monitor_API/docs/index.rst +++ b/modules/API/over_voltage_monitor_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_over_voltage_monitor_API: -******************************************* -over_voltage_monitor_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. over_voltage_monitor_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/power_supply_DC_API/docs/index.rst b/modules/API/power_supply_DC_API/docs/index.rst index 891100274b..e7bff2e237 100644 --- a/modules/API/power_supply_DC_API/docs/index.rst +++ b/modules/API/power_supply_DC_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_power_supply_DC_API: -******************************************* -power_supply_DC_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. power_supply_DC_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/powermeter_API/docs/index.rst b/modules/API/powermeter_API/docs/index.rst index 9cb814efce..6dbfec8e0c 100644 --- a/modules/API/powermeter_API/docs/index.rst +++ b/modules/API/powermeter_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_powermeter_API: -******************************************* -powermeter_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. powermeter_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/session_cost_API/docs/index.rst b/modules/API/session_cost_API/docs/index.rst index dd5caad2a5..75f5b093f9 100644 --- a/modules/API/session_cost_API/docs/index.rst +++ b/modules/API/session_cost_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_session_cost_API: -******************************************* -session_cost_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. session_cost_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/session_cost_consumer_API/docs/index.rst b/modules/API/session_cost_consumer_API/docs/index.rst index 57bd414de6..36945d4010 100644 --- a/modules/API/session_cost_consumer_API/docs/index.rst +++ b/modules/API/session_cost_consumer_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_session_cost_consumer_API: -******************************************* -session_cost_consumer_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. session_cost_consumer_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/API/system_API/docs/index.rst b/modules/API/system_API/docs/index.rst index d25698d6c8..96c1771c7e 100644 --- a/modules/API/system_API/docs/index.rst +++ b/modules/API/system_API/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_system_API: -******************************************* -system_API -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. system_API +.. ******************************************* The complete API specification can be found in the diff --git a/modules/BringUp/BUDCExternalDerate/docs/index.rst b/modules/BringUp/BUDCExternalDerate/docs/index.rst deleted file mode 100644 index 4f4efcdc98..0000000000 --- a/modules/BringUp/BUDCExternalDerate/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_BUDCExternalDerate: - -.. This file is a placeholder for an optional single file - handwritten documentation for the BUDCExternalDerate module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -BUDCExternalDerate -******************************************* - -:ref:`Link ` to the module's reference. -Interactive bring up helper for dc_external_derate diff --git a/modules/BringUp/BUDisplayMessage/docs/index.rst b/modules/BringUp/BUDisplayMessage/docs/index.rst deleted file mode 100644 index 217c5dc0d2..0000000000 --- a/modules/BringUp/BUDisplayMessage/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_BUDisplayMessage: - -.. This file is a placeholder for an optional single file - handwritten documentation for the BUDisplayMessage module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -BUDisplayMessage -******************************************* - -:ref:`Link ` to the module's reference. -Interactive bring up helper for dc_external_derate diff --git a/modules/BringUp/BUEvseBoardSupport/docs/index.rst b/modules/BringUp/BUEvseBoardSupport/docs/index.rst deleted file mode 100644 index c50685d0d0..0000000000 --- a/modules/BringUp/BUEvseBoardSupport/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_BUEvseBoardSupport: - -.. This file is a placeholder for an optional single file - handwritten documentation for the BUEvseBoardSupport module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -BUEvseBoardSupport -******************************************* - -:ref:`Link ` to the module's reference. -Interactive bring up helper for dc_external_derate diff --git a/modules/BringUp/BUIsolationMonitor/docs/index.rst b/modules/BringUp/BUIsolationMonitor/docs/index.rst deleted file mode 100644 index 7b6dd627f8..0000000000 --- a/modules/BringUp/BUIsolationMonitor/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_BUIsolationMonitor: - -.. This file is a placeholder for an optional single file - handwritten documentation for the BUIsolationMonitor module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -BUIsolationMonitor -******************************************* - -:ref:`Link ` to the module's reference. -Interactive bring up helper for dc_external_derate diff --git a/modules/BringUp/BUOcppConsumer/docs/index.rst b/modules/BringUp/BUOcppConsumer/docs/index.rst deleted file mode 100644 index 721bb9508d..0000000000 --- a/modules/BringUp/BUOcppConsumer/docs/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_BUOcppConsumer: - -.. This file is a placeholder for optional multiple files - handwritten documentation for the BUOcppConsumer module. - Please decide whether you want to use the doc.rst file - or a set of files in the doc/ directory. - In the latter case, you can delete the doc.rst file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - This index.rst file is the entry point for the module documentation. - -******************************************* -BUOcppConsumer -******************************************* - -:ref:`Link ` to the module's reference. -Interactive bring up helper for OCPP consumer interface diff --git a/modules/BringUp/BUOverVoltageMonitor/docs/index.rst b/modules/BringUp/BUOverVoltageMonitor/docs/index.rst deleted file mode 100644 index 0fee688ac5..0000000000 --- a/modules/BringUp/BUOverVoltageMonitor/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_BUOverVoltageMonitor: - -.. This file is a placeholder for an optional single file - handwritten documentation for the BUOverVoltageMonitor module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -BUOverVoltageMonitor -******************************************* - -:ref:`Link ` to the module's reference. -Interactive bring up helper for dc_external_derate diff --git a/modules/BringUp/BUPowerSupplyDC/docs/index.rst b/modules/BringUp/BUPowerSupplyDC/docs/index.rst deleted file mode 100644 index 175e503ed1..0000000000 --- a/modules/BringUp/BUPowerSupplyDC/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_BUPowerSupplyDC: - -.. This file is a placeholder for an optional single file - handwritten documentation for the BUPowerSupplyDC module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -BUPowerSupplyDC -******************************************* - -:ref:`Link ` to the module's reference. -Interactive bring up helper for dc_external_derate diff --git a/modules/BringUp/BUPowermeter/docs/index.rst b/modules/BringUp/BUPowermeter/docs/index.rst deleted file mode 100644 index 79471e7fe0..0000000000 --- a/modules/BringUp/BUPowermeter/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_BUPowermeter: - -.. This file is a placeholder for an optional single file - handwritten documentation for the BUPowermeter module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -BUPowermeter -******************************************* - -:ref:`Link ` to the module's reference. -Interactive bring up helper for dc_external_derate diff --git a/modules/BringUp/BUSystem/docs/index.rst b/modules/BringUp/BUSystem/docs/index.rst deleted file mode 100644 index 6b2e31c2b3..0000000000 --- a/modules/BringUp/BUSystem/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_BUSystem: - -.. This file is a placeholder for an optional single file - handwritten documentation for the BUSystem module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -BUSystem -******************************************* - -:ref:`Link ` to the module's reference. -Interactive bring up helper for dc_external_derate diff --git a/modules/BringUp/BUTokenProvider/docs/index.rst b/modules/BringUp/BUTokenProvider/docs/index.rst deleted file mode 100644 index b0c1966c62..0000000000 --- a/modules/BringUp/BUTokenProvider/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_BUTokenProvider: - -.. This file is a placeholder for an optional single file - handwritten documentation for the BUTokenProvider module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -BUTokenProvider -******************************************* - -:ref:`Link ` to the module's reference. -Interactive bring up helper for dc_external_derate diff --git a/modules/EV/EvManager/docs/index.rst b/modules/EV/EvManager/docs/index.rst index c3d161d7b8..25aab9aa7c 100644 --- a/modules/EV/EvManager/docs/index.rst +++ b/modules/EV/EvManager/docs/index.rst @@ -1,15 +1,13 @@ -:orphan: - .. _everest_modules_handwritten_EvManager: -========= -EvManager -========= +.. ========= +.. EvManager +.. ========= This Module implements the car simulator for a charging session. Configuration -_____________ +============= ``connector_id`` The connector id of the EVSE Manager diff --git a/modules/EVSE/Auth/docs/index.rst b/modules/EVSE/Auth/docs/index.rst index 9362745993..38eaa77a29 100644 --- a/modules/EVSE/Auth/docs/index.rst +++ b/modules/EVSE/Auth/docs/index.rst @@ -1,10 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_Auth: -=========== -Auth Module -=========== +.. =========== +.. Auth Module +.. =========== This module handles incoming authorization and reservation requests. diff --git a/modules/EVSE/EvseManager/docs/index.rst b/modules/EVSE/EvseManager/docs/index.rst index 44adc98c3b..63266affe4 100644 --- a/modules/EVSE/EvseManager/docs/index.rst +++ b/modules/EVSE/EvseManager/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_EvseManager: -************************ -EvseManager -************************ - -See also module's :ref:`auto-generated reference `. +.. ************************ +.. EvseManager +.. ************************ The module ``EvseManager`` is a central module that manages one EVSE (i.e. one connector to charge a car). diff --git a/modules/EVSE/EvseSecurity/docs/index.rst b/modules/EVSE/EvseSecurity/docs/index.rst index 705a264b47..3004348fe8 100644 --- a/modules/EVSE/EvseSecurity/docs/index.rst +++ b/modules/EVSE/EvseSecurity/docs/index.rst @@ -1,10 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_EvseSecurity: -============ -EvseSecurity -============ +.. ============ +.. EvseSecurity +.. ============ This module implements the :ref:`evse_security interface `. diff --git a/modules/EVSE/EvseSlac/docs/index.rst b/modules/EVSE/EvseSlac/docs/index.rst index 98cdf46553..ac7da3c03e 100644 --- a/modules/EVSE/EvseSlac/docs/index.rst +++ b/modules/EVSE/EvseSlac/docs/index.rst @@ -1,10 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_EvseSlac: -=================== -EvseSlac -=================== +.. =================== +.. EvseSlac +.. =================== This is an implementation of the ISO 15118-3 EVSE side SLAC protocol. The general flow of operation will be like this: @@ -19,9 +17,8 @@ The general flow of operation will be like this: If not run as root user, this modules requires the capability CAP_NET_RAW. ----- Todo ----- +==== - make use of the enable flag in the reset command or drop it, if not needed - handle CM_VALIDATE.REQ message diff --git a/modules/EVSE/EvseV2G/docs/index.rst b/modules/EVSE/EvseV2G/docs/index.rst index 200ba26e81..93bf3e4791 100644 --- a/modules/EVSE/EvseV2G/docs/index.rst +++ b/modules/EVSE/EvseV2G/docs/index.rst @@ -1,12 +1,9 @@ -:orphan: - .. _everest_modules_handwritten_EvseV2G: -******************************************* -EvseV2G -******************************************* +.. ******************************************* +.. EvseV2G +.. ******************************************* -:ref:`Link ` to the module's reference. This module includes a DIN70121 and ISO15118-2 implementation provided by chargebyte GmbH Feature List diff --git a/modules/EVSE/Iso15118InternetVas/docs/index.rst b/modules/EVSE/Iso15118InternetVas/docs/index.rst index 9ec8119fbd..37a0a79cca 100644 --- a/modules/EVSE/Iso15118InternetVas/docs/index.rst +++ b/modules/EVSE/Iso15118InternetVas/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_Iso15118InternetVas: -******************************************* -Iso15118InternetVas -******************************************* - -:ref:`Link ` to the module's reference. +.. ******************************************* +.. Iso15118InternetVas +.. ******************************************* .. warning:: This module and its helper scripts are **examples** and not intended for diff --git a/modules/EVSE/OCPP/docs/index.rst b/modules/EVSE/OCPP/docs/index.rst index 268bacb052..0f20e0e104 100644 --- a/modules/EVSE/OCPP/docs/index.rst +++ b/modules/EVSE/OCPP/docs/index.rst @@ -1,9 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_OCPP: -OCPP1.6 Module -============== +.. ************** +.. OCPP1.6 Module +.. ************** This module implements and integrates OCPP1.6 within EVerest, including all feature profiles defined by the specification. A connection to a Charging Station Management System (CSMS) can be established by loading this module as part of the EVerest configuration. This module @@ -13,7 +12,7 @@ The EVerest config `config-sil-ocpp.yaml <../../config/config-sil-ocpp.yaml>`_ s your EVerest config. Module configuration --------------------- +==================== Like for every EVerest module, the configuration parameters are defined as part of the module `manifest `_. This module is a little special though. The OCPP1.6 protocol defines a lot of standardized configuration keys that are used as part of the functional @@ -24,7 +23,7 @@ JSON configuration file. The module uses the configuration parameter **ChargePoi `libocpp's documentation `_ are great resources to learn about the different configuration options. Integration in EVerest ----------------------- +====================== This module leverages `libocpp `_, EVerest's OCPP library. Libocpp's approach to implementing the OCPP protocol is to do as much work as possible as part of the library. It therefore fulfills a large amount of protocol requirements @@ -279,7 +278,7 @@ The interface is used to receive the following variables: * **iso15118_certificate_request** to trigger a **DataTransfer.req(Get15118EVCertificateRequest)** as part of the Plug&Charge process Global Errors and Error Reporting ---------------------------------- +================================= The **enable_global_errors** flag for this module is enabled in its manifest. This module is therefore able to retrieve and process all reported errors from other modules loaded in the same EVerest configuration. @@ -350,7 +349,7 @@ This module currently deviates from the MREC specification in the following poin (Inoperative)." This module, therefore, only reports **Faulted** when the Charge Point is not available for energy delivery. Energy Management and Smart Charging Integration ------------------------------------------------- +================================================ OCPP1.6 defines the SmartCharging feature profile to allow the CSMS to control or influence the power consumption of the charging station. This module integrates the composite schedule(s) within EVerest's energy management. For further information about smart charging and the @@ -375,7 +374,7 @@ than the value configured for `PublishChargingScheduleIntervalS` because otherwi Certificate Management ----------------------- +====================== Two leaf certificates are managed by the OCPP communication enabled by this module: diff --git a/modules/EVSE/OCPP201/docs/index.rst b/modules/EVSE/OCPP201/docs/index.rst index 55ed1c5dad..2f4f2f17d7 100644 --- a/modules/EVSE/OCPP201/docs/index.rst +++ b/modules/EVSE/OCPP201/docs/index.rst @@ -1,9 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_OCPP201: -OCPP 2.1 and 2.0.1 Module -========================= +.. ************************* +.. OCPP 2.1 and 2.0.1 Module +.. ************************* This module implements and integrates OCPP 2.0.1 and OCPP 2.1 within EVerest. A connection to a Charging Station Management System (CSMS) can be established by loading this module as part of the EVerest configuration. This module leverages `libocpp `_, @@ -17,7 +16,7 @@ compatability with existing EVerest configurations. It will likely be renamed in OCPP2.0.1 and OCPP2.1, referred by using the term **OCPP2**. Module configuration --------------------- +==================== Like for every EVerest module, the configuration parameters are defined as part of the module `manifest <../manifest.yaml>`_. OCPP2 defines a device model structure and a lot of standardized variables that are used within the functional requirements of the protocol. Please see @@ -42,7 +41,7 @@ characteristics, attributes, and monitors. Please see `the documentation for the To add a custom component, you can simply add another JSON configuration file for it, and it will automatically be applied and reported. Configuring the OCPP2 version ------------------------------ +============================= This module supports OCPP2.0.1 and OCPP2.1. The charging station and the CSMS agree on the protocol version to be used during the websocket handshake. The charging station indicates which versions it supports in the Sec-WebSocket-Protocol header. This header is set based on @@ -51,7 +50,7 @@ it in the handshake response. Note that **SupportedOcppVersions** is a comma sep in the order of preference. Integration in EVerest ----------------------- +====================== This module leverages **libocpp** ``_, EVerest's OCPP library. Libocpp's approach to implementing the OCPP protocol is to do as much work as possible as part of the library. It therefore fulfills a large amount of protocol requirements internally. @@ -276,7 +275,7 @@ The interface is used to receive the following variables: * **iso15118_certificate_request** to trigger a **DataTransfer.req(Get15118EVCertificateRequest)** as part of the Plug&Charge process Error Handling --------------- +============== The **enable_global_errors** flag for this module is true in its manifest. This module is therefore able to retrieve and process all reported errors from other @@ -317,7 +316,7 @@ The Variable used as part of the NotifyEventRequest is constantly defined to **P The goal is to have a more advanced mapping of reported errors to the respective component-variable combinations in the future. Certificate Management ----------------------- +====================== Two leaf certificates are managed by the OCPP communication enabled by this module: @@ -341,7 +340,7 @@ every seven days. The timestamp of the last update is stored persistently, so th at every start up. Energy Management and Smart Charging Integration ------------------------------------------------- +================================================ OCPP2 defines the SmartCharging feature profile to allow the CSMS to control or influence the power consumption of the charging station. This module integrates the composite schedule(s) within EVerest's energy management. For further information about smart charging and the @@ -365,7 +364,7 @@ the duration in seconds of the requested composite schedules starting now. The v than the value configured for `CompositeScheduleIntervalS` because otherwise time periods could be missed by the application. Device model implementation details ------------------------------------ +=================================== For managing configuration and telemetry data of a charging station, the OCPP2 specification introduces a device model that is very different to the design of OCPP1.6. diff --git a/modules/EnergyManagement/EnergyManager/docs/index.rst b/modules/EnergyManagement/EnergyManager/docs/index.rst index 8da3654ac5..c3b64be931 100644 --- a/modules/EnergyManagement/EnergyManager/docs/index.rst +++ b/modules/EnergyManagement/EnergyManager/docs/index.rst @@ -1,9 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_EnergyManager: -EnergyManager -============= +.. ************* +.. EnergyManager +.. ************* This module implements logic to distribute power to energy nodes based on energy requests. diff --git a/modules/EnergyManagement/EnergyNode/docs/index.rst b/modules/EnergyManagement/EnergyNode/docs/index.rst index 0b9de553fe..fc56d9b0c6 100644 --- a/modules/EnergyManagement/EnergyNode/docs/index.rst +++ b/modules/EnergyManagement/EnergyNode/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_EnergyNode: -=================== -EnergyNode -=================== - -See also module's :ref:`auto-generated reference `. +.. =================== +.. EnergyNode +.. =================== The EnergyNode module is usually used in conjunction with the **EnergyManager** module. -See the `documentation <../EnergyManager/>`_ of the latter for a detailed explanation of energy management. \ No newline at end of file +See the :ref:`documentation ` of the latter for a detailed explanation of energy management. \ No newline at end of file diff --git a/modules/Examples/CppExamples/OCPPExtensionExample/docs/index.rst b/modules/Examples/CppExamples/OCPPExtensionExample/docs/index.rst deleted file mode 100644 index f29cfd97ff..0000000000 --- a/modules/Examples/CppExamples/OCPPExtensionExample/docs/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_OCPPExtensionExample: - -.. This file is a placeholder for an optional multiple files handwritten documentation for - the OCPPExtensionExample module. - Please decide weather you want to use tthe doc.rst file - or a set of files in the doc/ directory. - In the latter case, you can delete the doc.rst file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - This index.rst file is the entry point for the module documentation. - -******************************************* -OCPPExtensionExample -******************************************* - -:ref:`Link ` to the module's reference. -This is an example how the OCPP module of EVerest could be extended using the DataTransfer functionality and custom configuration keys diff --git a/modules/Examples/CppExamples/TerminalCostAndPriceMessage/docs/index.rst b/modules/Examples/CppExamples/TerminalCostAndPriceMessage/docs/index.rst deleted file mode 100644 index 8002798f85..0000000000 --- a/modules/Examples/CppExamples/TerminalCostAndPriceMessage/docs/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_TerminalCostAndPriceMessage: - -.. This file is a placeholder for optional multiple files - handwritten documentation for the TerminalCostAndPriceMessage module. - Please decide whether you want to use the doc.rst file - or a set of files in the doc/ directory. - In the latter case, you can delete the doc.rst file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - This index.rst file is the entry point for the module documentation. - -******************************************* -TerminalCostAndPriceMessage -******************************************* - -:ref:`Link ` to the module's reference. -Example session cost client, which prints tariff and cost messages to the log. diff --git a/modules/Examples/CppExamples/TerminalDisplayMessage/docs/index.rst b/modules/Examples/CppExamples/TerminalDisplayMessage/docs/index.rst deleted file mode 100644 index c6a8f95344..0000000000 --- a/modules/Examples/CppExamples/TerminalDisplayMessage/docs/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_TerminalDisplayMessage: - -.. This file is a placeholder for optional multiple files - handwritten documentation for the TerminalDisplayMessage module. - Please decide whether you want to use the doc.rst file - or a set of files in the doc/ directory. - In the latter case, you can delete the doc.rst file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - This index.rst file is the entry point for the module documentation. - -******************************************* -TerminalDisplayMessage -******************************************* - -:ref:`Link ` to the module's reference. -Example implementation of a display message module diff --git a/modules/Examples/error-framework/ExampleErrorGlobalSubscriber/docs/index.rst b/modules/Examples/error-framework/ExampleErrorGlobalSubscriber/docs/index.rst deleted file mode 100644 index c162d525e5..0000000000 --- a/modules/Examples/error-framework/ExampleErrorGlobalSubscriber/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_ExampleErrorGlobalSubscriber: - -.. This file is a placeholder for an optional single file - handwritten documentation for the ExampleErrorGlobalSubscriber module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -ExampleErrorGlobalSubscriber -******************************************* - -:ref:`Link ` to the module's reference. -Simple example module written in C++ to demonstrate error framework on global subscriber side diff --git a/modules/Examples/error-framework/ExampleErrorRaiser/docs/index.rst b/modules/Examples/error-framework/ExampleErrorRaiser/docs/index.rst deleted file mode 100644 index 77440cacbd..0000000000 --- a/modules/Examples/error-framework/ExampleErrorRaiser/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_ExampleErrorRaiser: - -.. This file is a placeholder for an optional single file - handwritten documentation for the ExampleErrorRaiser module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -ExampleErrorRaiser -******************************************* - -:ref:`Link ` to the module's reference. -Simple example module written in C++ to demonstrate error handling on raiser side diff --git a/modules/Examples/error-framework/ExampleErrorSubscriber/docs/index.rst b/modules/Examples/error-framework/ExampleErrorSubscriber/docs/index.rst deleted file mode 100644 index e1688fe327..0000000000 --- a/modules/Examples/error-framework/ExampleErrorSubscriber/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_ExampleErrorSubscriber: - -.. This file is a placeholder for an optional single file - handwritten documentation for the ExampleErrorSubscriber module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -ExampleErrorSubscriber -******************************************* - -:ref:`Link ` to the module's reference. -Simple example module written in C++ to demonstrate error framework on subscriber side diff --git a/modules/HardwareDrivers/EV/YetiEvDriver/docs/index.rst b/modules/HardwareDrivers/EV/YetiEvDriver/docs/index.rst deleted file mode 100644 index 214db30f46..0000000000 --- a/modules/HardwareDrivers/EV/YetiEvDriver/docs/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_YetiEvDriver: - -.. This file is a placeholder for optional multiple files - handwritten documentation for the YetiEvDriver module. - Please decide whether you want to use the doc.rst file - or a set of files in the doc/ directory. - In the latter case, you can delete the doc.rst file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - This index.rst file is the entry point for the module documentation. - -******************************************* -YetiEvDriver -******************************************* - -:ref:`Link ` to the module's reference. -Driver module for EV side for the YETI hardware diff --git a/modules/HardwareDrivers/EVSE/AdAcEvse22KwzKitBSP/docs/index.rst b/modules/HardwareDrivers/EVSE/AdAcEvse22KwzKitBSP/docs/index.rst index 60dab04328..9eeb94403a 100644 --- a/modules/HardwareDrivers/EVSE/AdAcEvse22KwzKitBSP/docs/index.rst +++ b/modules/HardwareDrivers/EVSE/AdAcEvse22KwzKitBSP/docs/index.rst @@ -1,12 +1,9 @@ -:orphan: - .. _everest_modules_handwritten_AdAcEvse22KwzKitBSP: -************************ -AdAcEvse22KwzKitBSP -************************ +.. ************************ +.. AdAcEvse22KwzKitBSP +.. ************************ -See also module's :ref:`auto-generated reference `. The module ``AdAcEvse22KwzKitBSP`` is a board support driver for the Analog Devices `AD-ACEVSE22KWZ-KIT `_ EVSE reference design. diff --git a/modules/HardwareDrivers/EVSE/PhyVersoBSP/docs/index.rst b/modules/HardwareDrivers/EVSE/PhyVersoBSP/docs/index.rst deleted file mode 100644 index 365cfc1d70..0000000000 --- a/modules/HardwareDrivers/EVSE/PhyVersoBSP/docs/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_PhyVersoBSP: - -.. This file is a placeholder for an optional multiple files handwritten documentation for - the PhyVersoBSP module. - Please decide weather you want to use tthe doc.rst file - or a set of files in the doc/ directory. - In the latter case, you can delete the doc.rst file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - This index.rst file is the entry point for the module documentation. - -******************************************* -PhyVersoBSP -******************************************* - -:ref:`Link ` to the module's reference. -Driver module for Phytec PhyVerso EV Charging controller with Pionix MCU firmware diff --git a/modules/HardwareDrivers/EVSE/TIDA010939/docs/index.rst b/modules/HardwareDrivers/EVSE/TIDA010939/docs/index.rst index dd68fc276c..b92f76d5a3 100644 --- a/modules/HardwareDrivers/EVSE/TIDA010939/docs/index.rst +++ b/modules/HardwareDrivers/EVSE/TIDA010939/docs/index.rst @@ -1,12 +1,9 @@ -:orphan: - .. _everest_modules_handwritten_TIDA010939: -************************ -TIDA010939 -************************ +.. ********** +.. TIDA010939 +.. ********** -See also module's :ref:`auto-generated reference `. The module ``TIDA010939`` is a board support driver for Texas Instruments TIDA-010939 reference design. It is based on the Yeti driver with similar structure and functionality. diff --git a/modules/HardwareDrivers/EVSE/YetiDriver/docs/index.rst b/modules/HardwareDrivers/EVSE/YetiDriver/docs/index.rst index ae4a87851d..02aba4a96e 100644 --- a/modules/HardwareDrivers/EVSE/YetiDriver/docs/index.rst +++ b/modules/HardwareDrivers/EVSE/YetiDriver/docs/index.rst @@ -1,12 +1,9 @@ -:orphan: - .. _everest_modules_handwritten_YetiDriver: -************************ -YetiDriver -************************ +.. ********** +.. YetiDriver +.. ********** -See also module's :ref:`auto-generated reference `. The module ``YetiDriver`` is a board support driver for Pionix Yeti Power Board. diff --git a/modules/HardwareDrivers/IsolationMonitors/Bender_isoCHA425HV/docs/index.rst b/modules/HardwareDrivers/IsolationMonitors/Bender_isoCHA425HV/docs/index.rst index 28ec666b3b..13c9581a0e 100644 --- a/modules/HardwareDrivers/IsolationMonitors/Bender_isoCHA425HV/docs/index.rst +++ b/modules/HardwareDrivers/IsolationMonitors/Bender_isoCHA425HV/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_Bender_isoCHA425HV: -******************************************* -Bender_isoCHA425HV -******************************************* - -:ref:`Link ` to the module's reference. +.. ****************** +.. Bender_isoCHA425HV +.. ****************** IMD driver for Bender isoCHA IMD devices diff --git a/modules/HardwareDrivers/NfcReaders/NxpNfcFrontendTokenProvider/docs/index.rst b/modules/HardwareDrivers/NfcReaders/NxpNfcFrontendTokenProvider/docs/index.rst index f3bc28bde0..181f6aeb5f 100644 --- a/modules/HardwareDrivers/NfcReaders/NxpNfcFrontendTokenProvider/docs/index.rst +++ b/modules/HardwareDrivers/NfcReaders/NxpNfcFrontendTokenProvider/docs/index.rst @@ -1,10 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_NxpNfcFrontendTokenProvider: -*************************** -NxpNfcFrontendTokenProvider -*************************** +.. *************************** +.. NxpNfcFrontendTokenProvider +.. *************************** The module ``NxpNfcFrontendTokenProvider`` implements the ``auth_token_provider`` interface. It reads data from NXP NFC frontend chips like CLRC663. diff --git a/modules/HardwareDrivers/NfcReaders/PN7160TokenProvider/docs/index.rst b/modules/HardwareDrivers/NfcReaders/PN7160TokenProvider/docs/index.rst index 1513fc822e..e5dab2b7f5 100644 --- a/modules/HardwareDrivers/NfcReaders/PN7160TokenProvider/docs/index.rst +++ b/modules/HardwareDrivers/NfcReaders/PN7160TokenProvider/docs/index.rst @@ -1,10 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_PN7160TokenProvider: -******************* -PN7160TokenProvider -******************* +.. ******************* +.. PN7160TokenProvider +.. ******************* This module provides authentication tokens obtained from RFID cards via the NXP PN7160 NFC chip. diff --git a/modules/HardwareDrivers/PowerMeters/DZG_GSH01/docs/index.rst b/modules/HardwareDrivers/PowerMeters/DZG_GSH01/docs/index.rst index 281cbcee40..e7942140c4 100644 --- a/modules/HardwareDrivers/PowerMeters/DZG_GSH01/docs/index.rst +++ b/modules/HardwareDrivers/PowerMeters/DZG_GSH01/docs/index.rst @@ -1,14 +1,10 @@ -:orphan: - .. _everest_modules_handwritten_DZG_GSH01: -************************ -DZG_GSH01 -************************ +.. ********* +.. DZG_GSH01 +.. ********* This is a prototype driver for the DZG GSH01 powermeter. It has been tested and confirmed to work with EVerest. It does not fully implement all functionality of the operation manual. Use with caution and report any issues or limitations encountered. - -See also module's :ref:`auto-generated reference `. diff --git a/modules/HardwareDrivers/PowerMeters/GenericPowermeter/docs/index.rst b/modules/HardwareDrivers/PowerMeters/GenericPowermeter/docs/index.rst index 16b376e312..233f09ded5 100644 --- a/modules/HardwareDrivers/PowerMeters/GenericPowermeter/docs/index.rst +++ b/modules/HardwareDrivers/PowerMeters/GenericPowermeter/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_GenericPowermeter: -************************ -GenericPowermeter -************************ - -See also module's :ref:`auto-generated reference `. +.. ***************** +.. GenericPowermeter +.. ***************** The module ``GenericPowermeter`` provides a connection to get data from powermeters that are connected via Modbus RTU and whose data is automatically diff --git a/modules/HardwareDrivers/PowerMeters/IsabellenhuetteIemDcr/docs/index.rst b/modules/HardwareDrivers/PowerMeters/IsabellenhuetteIemDcr/docs/index.rst index 80c2ccf8a5..c2bc782784 100644 --- a/modules/HardwareDrivers/PowerMeters/IsabellenhuetteIemDcr/docs/index.rst +++ b/modules/HardwareDrivers/PowerMeters/IsabellenhuetteIemDcr/docs/index.rst @@ -1,24 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_IsabellenhuetteIemDcr: -.. This file is a placeholder for an optional single file - handwritten documentation for the IsabellenhuetteIemDcr module. - Please decide whether you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -IsabellenhuetteIemDcr -******************************************* +.. ********************* +.. IsabellenhuetteIemDcr +.. ********************* Module implements Isabellenhuette IEM-DCR power meter driver, connecting via HTTP/REST. diff --git a/modules/HardwareDrivers/PowerMeters/LemDCBM400600/docs/index.rst b/modules/HardwareDrivers/PowerMeters/LemDCBM400600/docs/index.rst index fed4967146..371be8bb43 100644 --- a/modules/HardwareDrivers/PowerMeters/LemDCBM400600/docs/index.rst +++ b/modules/HardwareDrivers/PowerMeters/LemDCBM400600/docs/index.rst @@ -1,26 +1,9 @@ -:orphan: - .. _everest_modules_handwritten_LemDCBM400600: -.. This file is a placeholder for an optional single file handwritten documentation for - the LemDCBM400600 module. - Please decide weather you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************************************* -LEM DCBM 400/600 -******************************************* +.. **************** +.. LEM DCBM 400/600 +.. **************** -:ref:`Link ` to the module's reference. Module implementing the LEM DCBM 400/600 power meter driver adapter via HTTP/HTTPS. diff --git a/modules/HardwareDrivers/PowerMeters/RsIskraMeter/docs/index.rst b/modules/HardwareDrivers/PowerMeters/RsIskraMeter/docs/index.rst deleted file mode 100644 index b0ba8431e0..0000000000 --- a/modules/HardwareDrivers/PowerMeters/RsIskraMeter/docs/index.rst +++ /dev/null @@ -1,24 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_RsIskraMeter: - -.. This file is a placeholder for an optional single file handwritten documentation for - the RsIskraMeter module. - Please decide weather you want to use this single file, - or a set of files in the doc/ directory. - In the latter case, you can delete this file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - -******************** -Iskra WM3M4 & WM3M4C -******************** - -:ref:`Link ` to the module's reference. - diff --git a/modules/HardwareDrivers/PowerSupplies/Huawei_V100R023C10/docs/index.rst b/modules/HardwareDrivers/PowerSupplies/Huawei_V100R023C10/docs/index.rst index c0c104400a..813f247483 100644 --- a/modules/HardwareDrivers/PowerSupplies/Huawei_V100R023C10/docs/index.rst +++ b/modules/HardwareDrivers/PowerSupplies/Huawei_V100R023C10/docs/index.rst @@ -1,8 +1,8 @@ .. _everest_modules_handwritten_Huawei_V100R023C10: -###################### -Huawei V100R023C10 PSU -###################### +.. ###################### +.. Huawei V100R023C10 PSU +.. ###################### Voltage measurements ==================== diff --git a/modules/Misc/Linux_Systemd_Rauc/docs/index.rst b/modules/Misc/Linux_Systemd_Rauc/docs/index.rst deleted file mode 100644 index 33c9e06b87..0000000000 --- a/modules/Misc/Linux_Systemd_Rauc/docs/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_Linux_Systemd_Rauc: - -.. This file is a placeholder for an optional multiple files handwritten documentation for - the Linux_Systemd_Rauc module. - Please decide weather you want to use tthe doc.rst file - or a set of files in the doc/ directory. - In the latter case, you can delete the doc.rst file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - This index.rst file is the entry point for the module documentation. - -******************************************* -Linux_Systemd_Rauc -******************************************* - -:ref:`Link ` to the module's reference. -This module implements system wide operations for the base linux system diff --git a/modules/Misc/System/docs/index.rst b/modules/Misc/System/docs/index.rst index b6b7a1da31..d52baa6e73 100644 --- a/modules/Misc/System/docs/index.rst +++ b/modules/Misc/System/docs/index.rst @@ -1,12 +1,8 @@ -:orphan: - .. _everest_modules_handwritten_System: -=================== -System -=================== - -See also module's :ref:`auto-generated reference `. +.. ****** +.. System +.. ****** This module implements system wide operations. @@ -18,8 +14,7 @@ Currently this includes the following commands: Corresponding variables signal the state of Log Uploads and Firmware Updates. ----------------------- Integration in EVerest ----------------------- +====================== This module provides implementation for the system interface. It does not require any other modules. diff --git a/modules/Simulation/IMDSimulator/docs/index.rst b/modules/Simulation/IMDSimulator/docs/index.rst index e0c9f802e7..dd8e622d2a 100644 --- a/modules/Simulation/IMDSimulator/docs/index.rst +++ b/modules/Simulation/IMDSimulator/docs/index.rst @@ -1,8 +1,8 @@ .. _everest_modules_handwritten_IMDSimulator: -############ -IMDSimulator -############ +.. ############ +.. IMDSimulator +.. ############ External MQTT Control ===================== diff --git a/modules/Testing/DummySessionCostProvider/docs/index.rst b/modules/Testing/DummySessionCostProvider/docs/index.rst deleted file mode 100644 index 674f1798c6..0000000000 --- a/modules/Testing/DummySessionCostProvider/docs/index.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. _everest_modules_handwritten_DummySessionCostProvider: - -.. This file is a placeholder for optional multiple files - handwritten documentation for the DummySessionCostProvider module. - Please decide whether you want to use the doc.rst file - or a set of files in the doc/ directory. - In the latter case, you can delete the doc.rst file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - This index.rst file is the entry point for the module documentation. - -******************************************* -DummySessionCostProvider -******************************************* - -:ref:`Link ` to the module's reference. -Dummy session cost provider to simplify testing of modules which require session_cost diff --git a/modules/Testing/DummyTokenProvider/docs/index.rst b/modules/Testing/DummyTokenProvider/docs/index.rst deleted file mode 100644 index 1493d39264..0000000000 --- a/modules/Testing/DummyTokenProvider/docs/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_DummyTokenProvider: - -.. This file is a placeholder for an optional multiple files handwritten documentation for - the DummyTokenProvider module. - Please decide weather you want to use tthe doc.rst file - or a set of files in the doc/ directory. - In the latter case, you can delete the doc.rst file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - This index.rst file is the entry point for the module documentation. - -******************************************* -DummyTokenProvider -******************************************* - -:ref:`Link ` to the module's reference. -Dummy token provider that listens to AuthRequired event from evse_manager and then publishes one token diff --git a/modules/Testing/DummyTokenProviderManual/docs/index.rst b/modules/Testing/DummyTokenProviderManual/docs/index.rst deleted file mode 100644 index 7ac884019f..0000000000 --- a/modules/Testing/DummyTokenProviderManual/docs/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_DummyTokenProviderManual: - -.. This file is a placeholder for an optional multiple files handwritten documentation for - the DummyTokenProviderManual module. - Please decide weather you want to use tthe doc.rst file - or a set of files in the doc/ directory. - In the latter case, you can delete the doc.rst file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - This index.rst file is the entry point for the module documentation. - -******************************************* -DummyTokenProviderManual -******************************************* - -:ref:`Link ` to the module's reference. -Dummy token provider that manually publishes one token diff --git a/modules/Testing/DummyTokenValidator/docs/index.rst b/modules/Testing/DummyTokenValidator/docs/index.rst deleted file mode 100644 index f3c60974c0..0000000000 --- a/modules/Testing/DummyTokenValidator/docs/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -:orphan: - -.. _everest_modules_handwritten_DummyTokenValidator: - -.. This file is a placeholder for an optional multiple files handwritten documentation for - the DummyTokenValidator module. - Please decide weather you want to use tthe doc.rst file - or a set of files in the doc/ directory. - In the latter case, you can delete the doc.rst file. - In the former case, you can delete the doc/ directory. - -.. This handwritten documentation is optional. In case - you do not want to write it, you can delete this file - and the doc/ directory. - -.. The documentation can be written in reStructuredText, - and will be converted to HTML and PDF by Sphinx. - This index.rst file is the entry point for the module documentation. - -******************************************* -DummyTokenValidator -******************************************* - -:ref:`Link ` to the module's reference. -Dummy token validator always returning the same configured token validation result for every token