aboutsummaryrefslogtreecommitdiffstats
path: root/ucs2-lib/inc/ucs_rsm_pv.h
diff options
context:
space:
mode:
Diffstat (limited to 'ucs2-lib/inc/ucs_rsm_pv.h')
-rw-r--r--ucs2-lib/inc/ucs_rsm_pv.h145
1 files changed, 145 insertions, 0 deletions
diff --git a/ucs2-lib/inc/ucs_rsm_pv.h b/ucs2-lib/inc/ucs_rsm_pv.h
new file mode 100644
index 0000000..5d70aa5
--- /dev/null
+++ b/ucs2-lib/inc/ucs_rsm_pv.h
@@ -0,0 +1,145 @@
+/*------------------------------------------------------------------------------------------------*/
+/* UNICENS V2.1.0-3491 */
+/* Copyright (c) 2017 Microchip Technology Germany II GmbH & Co. KG. */
+/* */
+/* This program is free software: you can redistribute it and/or modify */
+/* it under the terms of the GNU General Public License as published by */
+/* the Free Software Foundation, either version 2 of the License, or */
+/* (at your option) any later version. */
+/* */
+/* This program is distributed in the hope that it will be useful, */
+/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
+/* GNU General Public License for more details. */
+/* */
+/* You should have received a copy of the GNU General Public License */
+/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
+/* */
+/* You may also obtain this software under a propriety license from Microchip. */
+/* Please contact Microchip for further information. */
+/*------------------------------------------------------------------------------------------------*/
+
+/*!
+ * \file
+ * \brief Public header file of the Extended Resource Manager.
+ * \cond UCS_INTERNAL_DOC
+ * \addtogroup G_RSM
+ * @{
+ */
+
+#ifndef UCS_RSM_PB_H
+#define UCS_RSM_PB_H
+
+/*------------------------------------------------------------------------------------------------*/
+/* Includes */
+/*------------------------------------------------------------------------------------------------*/
+#include "ucs_message_pb.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/*------------------------------------------------------------------------------------------------*/
+/* Enumerators */
+/*------------------------------------------------------------------------------------------------*/
+/*! \brief SyncLost Causes
+ * \ingroup G_UCS_RSM_TYPES
+ */
+typedef enum Rsm_SyncLostCause_
+{
+ RSM_SLC_NWSHUTDOWN, /*!< \brief "Network Shutdown" causes the SyncLost */
+ RSM_SLC_CFGNOTOK, /*!< \brief "Config Not Ok" causes the SyncLost */
+ RSM_SLC_SYSMODIF /*!< \brief "System Changes like own node address or MPR changes" cause the SyncLost */
+
+} Rsm_SyncLostCause_t;
+
+/*! \brief RSM Sync states
+ * \ingroup G_UCS_RSM_TYPES
+ */
+typedef enum Rsm_DevSyncState_
+{
+ RSM_DEV_UNSYNCED, /*!< \brief RSM device is "Unsynced", i.e. not in remote control mode */
+ RSM_DEV_SYNCING, /*!< \brief RSM device is "Synching" */
+ RSM_DEV_SYNCED /*!< \brief RSM device is "Synced", i.e. in remote control mode */
+
+} Rsm_DevSyncState_t;
+
+/*! \brief Result codes of the Extended Resource Manager.
+ * \ingroup G_UCS_RSM_TYPES
+ */
+typedef enum Rsm_ResultCode_
+{
+ RSM_RES_SUCCESS, /*!< \brief Device Sync succeeded */
+ RSM_RES_ERR_SYNC /*!< \brief Device Sync failed because of not Remote Control Mode */
+
+} Rsm_ResultCode_t;
+
+/*------------------------------------------------------------------------------------------------*/
+/* Structures */
+/*------------------------------------------------------------------------------------------------*/
+/*! \brief Detailed information used for Extended Resource Manager results. */
+typedef struct Rsm_ResultDetails_
+{
+ /*! \brief Holds the status of the transmission. */
+ Ucs_MsgTxStatus_t tx_result;
+ /*! \brief Holds the results of the target device. */
+ Ucs_StdResult_t inic_result;
+
+} Rsm_ResultDetails_t;
+
+/*! \brief Result structure of the Extended Resource Manager. */
+typedef struct Rsm_Result_
+{
+ /*! \brief Result code. */
+ Rsm_ResultCode_t code;
+ /*! \brief Detailed information on the returned result. */
+ Rsm_ResultDetails_t details;
+
+} Rsm_Result_t;
+
+/*------------------------------------------------------------------------------------------------*/
+/* Type definitions */
+/*------------------------------------------------------------------------------------------------*/
+/*! \brief Callback function type to retrieve a RSM result
+ * \param self The instance (optional)
+ * \param result The result message object
+ * \ingroup G_UCS_RSM_TYPES
+ */
+typedef void (*Rsm_ResultCb_t)(void * self, Rsm_Result_t result);
+
+/*!
+ * @}
+ * \endcond
+ */
+
+/*!
+ * \def UCS_NUM_REMOTE_DEVICES
+ * \brief Customer assignment for number of remote devices required by Resources Management modules.
+ * \details If the macro is not defined, the UNICENS library will use a default value of 0. The user
+ * can overwrite this default value by defining the macro. Valid values are in the range
+ * from 0 to 63.
+ * \ingroup G_UCS_XRM_CFG
+ */
+#ifndef UCS_NUM_REMOTE_DEVICES
+# define UCS_NUM_REMOTE_DEVICES 0U
+#endif
+
+/*! \def UCS_ADDR_LOCAL_DEV
+ * \brief Defines the address of the local device.
+ * \details This macro is used to define the address of the local device. It should be used by
+ * the application to trigger jobs on the local device.
+ * \ingroup G_UCS_IRM
+ */
+#define UCS_ADDR_LOCAL_DEV 0x0001U
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* #ifndef UCS_RSM_PB_H */
+
+/*------------------------------------------------------------------------------------------------*/
+/* End of file */
+/*------------------------------------------------------------------------------------------------*/
+