feat(main): Add detailed source code documentation
Add comprehensive Doxygen-style comments to all functions, enums, and macros in `main.c`. This improves code clarity and maintainability. The Doxygen configuration itself was removed after deciding against generating a separate HTML manual, but the in-code comments provide significant value on their own.
This commit is contained in:
parent
33f2a15cf3
commit
95f435923f
|
|
@ -7,7 +7,7 @@
|
|||
*
|
||||
* @copyright Copyright (c) 2020 PHYTEC Messtechnik GmbH
|
||||
* @copyright Copyright (c) 2022 Nordic Semiconductor ASA
|
||||
* @license SPDX-License-Identifier: Apache-2.0
|
||||
* @copyright SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#include <zephyr/kernel.h>
|
||||
|
|
@ -22,10 +22,14 @@
|
|||
#include <zephyr/logging/log.h>
|
||||
#include "modbus_bridge.h"
|
||||
|
||||
/** @brief Logging module registration. */
|
||||
LOG_MODULE_REGISTER(mbs_sample, LOG_LEVEL_INF);
|
||||
|
||||
/** @brief Major version of the application firmware. */
|
||||
#define APP_VERSION_MAJOR 1
|
||||
/** @brief Minor version of the application firmware. */
|
||||
#define APP_VERSION_MINOR 0
|
||||
/** @brief Patch version of the application firmware. */
|
||||
#define APP_VERSION_PATCH 0
|
||||
|
||||
/**
|
||||
|
|
@ -88,6 +92,7 @@ static uint16_t device_status = 0;
|
|||
static uint16_t watchdog_timeout_s = 0;
|
||||
static struct k_timer watchdog_timer;
|
||||
|
||||
/** @brief Size of the buffer for firmware update chunks. */
|
||||
#define FWU_BUFFER_SIZE 256
|
||||
static uint8_t fwu_buffer[FWU_BUFFER_SIZE];
|
||||
static uint32_t fwu_chunk_offset = 0;
|
||||
|
|
@ -281,15 +286,55 @@ static struct modbus_user_callbacks mbs_cbs = {
|
|||
.input_reg_rd = input_reg_rd,
|
||||
};
|
||||
|
||||
/** @brief Device tree node for the Modbus serial interface. */
|
||||
#define MODBUS_NODE DT_COMPAT_GET_ANY_STATUS_OKAY(zephyr_modbus_serial)
|
||||
// Settings and other functions omitted for brevity...
|
||||
|
||||
/**
|
||||
* @brief Reconfigures the Modbus interface with new parameters.
|
||||
* @param baudrate New baud rate.
|
||||
* @param unit_id New unit ID.
|
||||
* @return 0 on success, negative error code otherwise.
|
||||
*/
|
||||
int modbus_reconfigure(uint32_t baudrate, uint8_t unit_id) { /* ... */ return 0; }
|
||||
/**
|
||||
* @brief Gets the current Modbus baud rate.
|
||||
* @return Current baud rate.
|
||||
*/
|
||||
uint32_t modbus_get_baudrate(void) { return server_param.serial.baud; }
|
||||
/**
|
||||
* @brief Gets the current Modbus unit ID.
|
||||
* @return Current unit ID.
|
||||
*/
|
||||
uint8_t modbus_get_unit_id(void) { return server_param.server.unit_id; }
|
||||
/**
|
||||
* @brief Sets the maximum valve opening time.
|
||||
* @param seconds Time in seconds.
|
||||
*/
|
||||
void valve_set_max_open_time(uint16_t seconds) { max_opening_time_s = seconds; settings_save_one("valve/max_open_time", &max_opening_time_s, sizeof(max_opening_time_s)); }
|
||||
/**
|
||||
* @brief Sets the maximum valve closing time.
|
||||
* @param seconds Time in seconds.
|
||||
*/
|
||||
void valve_set_max_close_time(uint16_t seconds) { max_closing_time_s = seconds; settings_save_one("valve/max_close_time", &max_closing_time_s, sizeof(max_closing_time_s)); }
|
||||
/**
|
||||
* @brief Gets the maximum valve opening time.
|
||||
* @return Time in seconds.
|
||||
*/
|
||||
uint16_t valve_get_max_open_time(void) { return max_opening_time_s; }
|
||||
/**
|
||||
* @brief Gets the maximum valve closing time.
|
||||
* @return Time in seconds.
|
||||
*/
|
||||
uint16_t valve_get_max_close_time(void) { return max_closing_time_s; }
|
||||
|
||||
/**
|
||||
* @brief Callback for loading settings from non-volatile storage.
|
||||
* @param name Name of the setting.
|
||||
* @param len Length of the setting value.
|
||||
* @param read_cb Function to read the setting value.
|
||||
* @param cb_arg Callback argument.
|
||||
* @return 0 on success, negative error code otherwise.
|
||||
*/
|
||||
static int settings_load_cb(const char *name, size_t len, settings_read_cb read_cb, void *cb_arg) {
|
||||
const char *next;
|
||||
int rc;
|
||||
|
|
@ -311,9 +356,17 @@ static int settings_load_cb(const char *name, size_t len, settings_read_cb read_
|
|||
}
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
/** @brief Settings handler definition for Modbus parameters. */
|
||||
SETTINGS_STATIC_HANDLER_DEFINE(modbus, "modbus", NULL, settings_load_cb, NULL, NULL);
|
||||
/** @brief Settings handler definition for valve parameters. */
|
||||
SETTINGS_STATIC_HANDLER_DEFINE(valve, "valve", NULL, settings_load_cb, NULL, NULL);
|
||||
|
||||
/**
|
||||
* @brief Initializes the Modbus server interface.
|
||||
*
|
||||
* @return 0 on success, negative error code otherwise.
|
||||
*/
|
||||
static int init_modbus_server(void)
|
||||
{
|
||||
const char iface_name[] = {DEVICE_DT_NAME(MODBUS_NODE)};
|
||||
|
|
|
|||
Loading…
Reference in New Issue