// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH #ifndef ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESSENSOR_CONTROLMANAGE_FREQUENCY_USAGEDEFVAR #define ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESSENSOR_CONTROLMANAGE_FREQUENCY_USAGEDEFVAR #include "Common_Types.idl" #include "Requests.idl" #include "Sensor_Control.idl" module org { module omg { module c4i { module Service_Interfaces { module Sensor_Services { module Sensor_Control { // This package contains interfaces for the Manage Frequency Usage service. module Manage_Frequency_Usage { // struct holding keys for class report_transmission_mode_state_type. struct report_transmission_mode_state_key_type { org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; // Indicates which subsystem published the data or is intended to read it as a // subscriber org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; }; // Method used by the sensor to return the selected transmission mode, with the // relevant parameters, and its changes (if any). // This controls the sensor behaviour with respect to the transmission frequency // management. Basing on a discrete set of transmission frequencies offered by the // sensor, CMS may disable/enable the use of a subset of them. As well CMS may // select the sensor transmission mode, i.e. how the sensor shall select the // transmission frequencies, among the set of transmission modes supported by the // sensor. // The transmission mode defines how the sensor selects the transmission // frequencies, which may be: // // // // // The availability of each of the above listed transmission modes depends on the // sensor type and its capabilities (not all the sensor types support all them). // Besides a transmission mode supported by the sensor may be “selectable” or “not // selectable” according to the specific sensor rules and the state of transmission // frequencies. // Both the set of transmission frequencies offered by the sensor and the supported // transmission modes (names and characteristics) differ from sensor to sensor, so // they shall be handled as configuration parameters. The sensor reports all // supported frequencies whether or not currently available or enabled. // Sensors cannot enable/disable the setting of the frequency usage at its own // initiative, but at any time a transmission frequency could become not available // because of a fault (e.g. fault of the relevant oscillator), and this could affect // the effective availability of one or more sensor supported transmission modes. // Provision of the frequency usage state // Sensor shall keep CMS informed about the current availability of the frequency // usage and its changes (if any). // Provision of the transmission mode // Sensor shall keep CMS informed about the currently selected transmission mode, // with the relevant parameters, and its changes (if any). // It is the CMS's responsibility to initiate the determination of initial state by // making a request for information to the subsystem. // Lack of mastership // In the case where CMS does not have mastership of the sensor, CMS shall be // informed about both the actual setting of the frequency usage and the actual // transmission mode, with its changes (if any). // State of transmission frequencies // With respect to its operational use each sensor transmission frequency may be // “enabled” or “disabled”, according to the relevant setting. On the other hand, // with respect to its health status, each transmission frequency may be “available” // or “not available” according to the presence of faults. // Note that a transmission frequency may be effectively selectable for the sensor // transmission if it is both “enabled” and not in fault. // Relationship to Manage Transmission Sectors // As well as the overall transmission mode, here specified, CMS may define sectors // where a devoted transmission mode is to be applied (see Manage Transmission // Sectors). struct report_transmission_mode_state_type { #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #else org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #endif // Indicates which subsystem published the data or is intended to read it as a // subscriber #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #else org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #endif org::omg::c4i::Domain_Model::Sensor_Domain::Sensor_Control::transmission_frequency_mode_type transmissionModeSetting; }; #ifndef DDS_XTYPES #pragma keylist report_transmission_mode_state_type request_id subsystem_id #endif // struct holding keys for class transmission_frequency_state_response_type. struct transmission_frequency_state_response_key_type { org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; // Indicates which subsystem published the data or is intended to read it as a // subscriber org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; }; // Method used by the sensor to return the actual setting of the frequency usage // modified according to the request. // This controls the sensor behaviour with respect to the transmission frequency // management. Basing on a discrete set of transmission frequencies offered by the // sensor, CMS may disable/enable the use of a subset of them. As well CMS may // select the sensor transmission mode, i.e. how the sensor shall select the // transmission frequencies, among the set of transmission modes supported by the // sensor. // The transmission mode defines how the sensor selects the transmission // frequencies, which may be: // // // // // The availability of each of the above listed transmission modes depends on the // sensor type and its capabilities (not all the sensor types support all them). // Besides a transmission mode supported by the sensor may be “selectable” or “not // selectable” according to the specific sensor rules and the state of transmission // frequencies. // Both the set of transmission frequencies offered by the sensor and the supported // transmission modes (names and characteristics) differ from sensor to sensor, so // they shall be handled as configuration parameters. The sensor reports all // supported frequencies whether or not currently available or enabled. // Sensors cannot enable/disable the setting of the frequency usage at its own // initiative, but at any time a transmission frequency could become not available // because of a fault (e.g. fault of the relevant oscillator), and this could affect // the effective availability of one or more sensor supported transmission modes. // Provision of the frequency usage state // Sensor shall keep CMS informed about the current availability of the frequency // usage and its changes (if any). // Provision of the transmission mode // Sensor shall keep CMS informed about the currently selected transmission mode, // with the relevant parameters, and its changes (if any). // It is the CMS's responsibility to initiate the determination of initial state by // making a request for information to the subsystem. // Lack of mastership // In the case where CMS does not have mastership of the sensor, CMS shall be // informed about both the actual setting of the frequency usage and the actual // transmission mode, with its changes (if any). // State of transmission frequencies // With respect to its operational use each sensor transmission frequency may be // “enabled” or “disabled”, according to the relevant setting. On the other hand, // with respect to its health status, each transmission frequency may be “available” // or “not available” according to the presence of faults. // Note that a transmission frequency may be effectively selectable for the sensor // transmission if it is both “enabled” and not in fault. // Relationship to Manage Transmission Sectors // As well as the overall transmission mode, here specified, CMS may define sectors // where a devoted transmission mode is to be applied (see Manage Transmission // Sectors). struct transmission_frequency_state_response_type { #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #else org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #endif // Indicates which subsystem published the data or is intended to read it as a // subscriber #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #else org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #endif org::omg::c4i::Domain_Model::Sensor_Domain::Sensor_Control::selected_frequency_list_type setting_message; }; #ifndef DDS_XTYPES #pragma keylist transmission_frequency_state_response_type request_id subsystem_id #endif // struct holding keys for class set_frequencies_type. struct set_frequencies_key_type { org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; // Indicates which subsystem published the data or is intended to read it as a // subscriber org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; }; // Method used by the CMS to enable or disable frequency bands or discrete // frequencies. // This is the Subsystem interface for managing frequency usage. struct set_frequencies_type { #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #else org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #endif // Indicates which subsystem published the data or is intended to read it as a // subscriber #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #else org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #endif org::omg::c4i::Domain_Model::Sensor_Domain::Sensor_Control::selected_frequency_list_type request; }; #ifndef DDS_XTYPES #pragma keylist set_frequencies_type request_id subsystem_id #endif // struct holding keys for class set_transmission_mode_type. struct set_transmission_mode_key_type { org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; // Indicates which subsystem published the data or is intended to read it as a // subscriber org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; }; // Method used by the CMS to select the available sensor transmission mode. // This is the Subsystem interface for managing frequency usage. struct set_transmission_mode_type { #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #else org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #endif // Indicates which subsystem published the data or is intended to read it as a // subscriber #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #else org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #endif org::omg::c4i::Domain_Model::Sensor_Domain::Sensor_Control::transmission_frequency_mode_type trasmissionmode; }; #ifndef DDS_XTYPES #pragma keylist set_transmission_mode_type request_id subsystem_id #endif }; }; }; }; }; }; }; #endif