summaryrefslogtreecommitdiffstats
path: root/dcmihandler.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'dcmihandler.hpp')
-rw-r--r--dcmihandler.hpp442
1 files changed, 220 insertions, 222 deletions
diff --git a/dcmihandler.hpp b/dcmihandler.hpp
index 5388344..6e64faf 100644
--- a/dcmihandler.hpp
+++ b/dcmihandler.hpp
@@ -1,11 +1,12 @@
#ifndef __HOST_IPMI_DCMI_HANDLER_H__
#define __HOST_IPMI_DCMI_HANDLER_H__
+#include "nlohmann/json.hpp"
+
#include <map>
+#include <sdbusplus/bus.hpp>
#include <string>
#include <vector>
-#include <sdbusplus/bus.hpp>
-#include "nlohmann/json.hpp"
namespace dcmi
{
@@ -33,25 +34,24 @@ enum Commands
static constexpr auto propIntf = "org.freedesktop.DBus.Properties";
static constexpr auto assetTagIntf =
- "xyz.openbmc_project.Inventory.Decorator.AssetTag";
+ "xyz.openbmc_project.Inventory.Decorator.AssetTag";
static constexpr auto assetTagProp = "AssetTag";
static constexpr auto networkServiceName = "xyz.openbmc_project.Network";
-static constexpr auto networkConfigObj =
- "/xyz/openbmc_project/network/config";
+static constexpr auto networkConfigObj = "/xyz/openbmc_project/network/config";
static constexpr auto networkConfigIntf =
- "xyz.openbmc_project.Network.SystemConfiguration";
+ "xyz.openbmc_project.Network.SystemConfiguration";
static constexpr auto hostNameProp = "HostName";
static constexpr auto temperatureSensorType = 0x01;
static constexpr auto maxInstances = 255;
static constexpr auto configFile =
"/usr/share/ipmi-providers/dcmi_sensors.json";
static constexpr auto ethernetIntf =
- "xyz.openbmc_project.Network.EthernetInterface";
+ "xyz.openbmc_project.Network.EthernetInterface";
static constexpr auto ethernetDefaultChannelNum = 0x1;
static constexpr auto networkRoot = "/xyz/openbmc_project/network";
static constexpr auto dhcpObj = "/xyz/openbmc_project/network/config/dhcp";
static constexpr auto dhcpIntf =
- "xyz.openbmc_project.Network.DHCPConfiguration";
+ "xyz.openbmc_project.Network.DHCPConfiguration";
static constexpr auto systemBusName = "org.freedesktop.systemd1";
static constexpr auto systemPath = "/org/freedesktop/systemd1";
static constexpr auto systemIntf = "org.freedesktop.systemd1.Manager";
@@ -59,56 +59,56 @@ static constexpr auto systemIntf = "org.freedesktop.systemd1.Manager";
namespace assettag
{
- using ObjectPath = std::string;
- using Service = std::string;
- using Interfaces = std::vector<std::string>;
- using ObjectTree = std::map<ObjectPath, std::map<Service, Interfaces>>;
+using ObjectPath = std::string;
+using Service = std::string;
+using Interfaces = std::vector<std::string>;
+using ObjectTree = std::map<ObjectPath, std::map<Service, Interfaces>>;
-} //namespace assettag
+} // namespace assettag
namespace temp_readings
{
- static constexpr auto maxDataSets = 8;
- static constexpr auto maxTemp = 127; // degrees C
+static constexpr auto maxDataSets = 8;
+static constexpr auto maxTemp = 127; // degrees C
- /** @struct Response
- *
- * DCMI payload for Get Temperature Readings response
- */
- struct Response
- {
+/** @struct Response
+ *
+ * DCMI payload for Get Temperature Readings response
+ */
+struct Response
+{
#if BYTE_ORDER == LITTLE_ENDIAN
- uint8_t temperature: 7; //!< Temperature reading in Celsius
- uint8_t sign: 1; //!< Sign bit
+ uint8_t temperature : 7; //!< Temperature reading in Celsius
+ uint8_t sign : 1; //!< Sign bit
#endif
#if BYTE_ORDER == BIG_ENDIAN
- uint8_t sign: 1; //!< Sign bit
- uint8_t temperature: 7; //!< Temperature reading in Celsius
+ uint8_t sign : 1; //!< Sign bit
+ uint8_t temperature : 7; //!< Temperature reading in Celsius
#endif
- uint8_t instance; //!< Entity instance number
- } __attribute__((packed));
+ uint8_t instance; //!< Entity instance number
+} __attribute__((packed));
- using ResponseList = std::vector<Response>;
- using Value = uint8_t;
- using Sign = bool;
- using Temperature = std::tuple<Value, Sign>;
-}
+using ResponseList = std::vector<Response>;
+using Value = uint8_t;
+using Sign = bool;
+using Temperature = std::tuple<Value, Sign>;
+} // namespace temp_readings
namespace sensor_info
{
- static constexpr auto maxRecords = 8;
+static constexpr auto maxRecords = 8;
- /** @struct Response
- *
- * DCMI payload for Get Sensor Info response
- */
- struct Response
- {
- uint8_t recordIdLsb; //!< SDR record id LS byte
- uint8_t recordIdMsb; //!< SDR record id MS byte
- } __attribute__((packed));
+/** @struct Response
+ *
+ * DCMI payload for Get Sensor Info response
+ */
+struct Response
+{
+ uint8_t recordIdLsb; //!< SDR record id LS byte
+ uint8_t recordIdMsb; //!< SDR record id MS byte
+} __attribute__((packed));
- using ResponseList = std::vector<Response>;
+using ResponseList = std::vector<Response>;
} // namespace sensor_info
static constexpr auto groupExtId = 0xDC;
@@ -124,9 +124,9 @@ static constexpr size_t maxCtrlIdStrLen = 63;
*/
struct GetAssetTagRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t offset; //!< Offset to read.
- uint8_t bytes; //!< Number of bytes to read.
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t offset; //!< Offset to read.
+ uint8_t bytes; //!< Number of bytes to read.
} __attribute__((packed));
/** @struct GetAssetTagResponse
@@ -135,8 +135,8 @@ struct GetAssetTagRequest
*/
struct GetAssetTagResponse
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t tagLength; //!< Total asset tag length.
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t tagLength; //!< Total asset tag length.
} __attribute__((packed));
/** @struct SetAssetTagRequest
@@ -145,9 +145,9 @@ struct GetAssetTagResponse
*/
struct SetAssetTagRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t offset; //!< Offset to write.
- uint8_t bytes; //!< Number of bytes to write.
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t offset; //!< Offset to write.
+ uint8_t bytes; //!< Number of bytes to write.
} __attribute__((packed));
/** @struct SetAssetTagResponse
@@ -156,8 +156,8 @@ struct SetAssetTagRequest
*/
struct SetAssetTagResponse
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t tagLength; //!< Total asset tag length.
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t tagLength; //!< Total asset tag length.
} __attribute__((packed));
/** @brief Read the object tree to fetch the object path that implemented the
@@ -205,8 +205,8 @@ bool getPcapEnabled(sdbusplus::bus::bus& bus);
*/
struct GetPowerLimitRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint16_t reserved; //!< Reserved
+ uint8_t groupID; //!< Group extension identification.
+ uint16_t reserved; //!< Reserved
} __attribute__((packed));
/** @struct GetPowerLimitResponse
@@ -215,13 +215,13 @@ struct GetPowerLimitRequest
*/
struct GetPowerLimitResponse
{
- uint8_t groupID; //!< Group extension identification.
- uint16_t reserved; //!< Reserved.
- uint8_t exceptionAction; //!< Exception action.
- uint16_t powerLimit; //!< Power limit requested in watts.
- uint32_t correctionTime; //!< Correction time limit in milliseconds.
- uint16_t reserved1; //!< Reserved.
- uint16_t samplingPeriod; //!< Statistics sampling period in seconds.
+ uint8_t groupID; //!< Group extension identification.
+ uint16_t reserved; //!< Reserved.
+ uint8_t exceptionAction; //!< Exception action.
+ uint16_t powerLimit; //!< Power limit requested in watts.
+ uint32_t correctionTime; //!< Correction time limit in milliseconds.
+ uint16_t reserved1; //!< Reserved.
+ uint16_t samplingPeriod; //!< Statistics sampling period in seconds.
} __attribute__((packed));
/** @brief Set the power cap value
@@ -237,14 +237,14 @@ void setPcap(sdbusplus::bus::bus& bus, const uint32_t powerCap);
*/
struct SetPowerLimitRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint16_t reserved; //!< Reserved
- uint8_t reserved1; //!< Reserved
- uint8_t exceptionAction; //!< Exception action.
- uint16_t powerLimit; //!< Power limit requested in watts.
- uint32_t correctionTime; //!< Correction time limit in milliseconds.
- uint16_t reserved2; //!< Reserved.
- uint16_t samplingPeriod; //!< Statistics sampling period in seconds.
+ uint8_t groupID; //!< Group extension identification.
+ uint16_t reserved; //!< Reserved
+ uint8_t reserved1; //!< Reserved
+ uint8_t exceptionAction; //!< Exception action.
+ uint16_t powerLimit; //!< Power limit requested in watts.
+ uint32_t correctionTime; //!< Correction time limit in milliseconds.
+ uint16_t reserved2; //!< Reserved.
+ uint16_t samplingPeriod; //!< Statistics sampling period in seconds.
} __attribute__((packed));
/** @struct SetPowerLimitResponse
@@ -253,7 +253,7 @@ struct SetPowerLimitRequest
*/
struct SetPowerLimitResponse
{
- uint8_t groupID; //!< Group extension identification.
+ uint8_t groupID; //!< Group extension identification.
} __attribute__((packed));
/** @brief Enable or disable the power capping
@@ -269,9 +269,9 @@ void setPcapEnable(sdbusplus::bus::bus& bus, bool enabled);
*/
struct ApplyPowerLimitRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t powerLimitAction; //!< Power limit activation
- uint16_t reserved; //!< Reserved
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t powerLimitAction; //!< Power limit activation
+ uint16_t reserved; //!< Reserved
} __attribute__((packed));
/** @struct ApplyPowerLimitResponse
@@ -280,7 +280,7 @@ struct ApplyPowerLimitRequest
*/
struct ApplyPowerLimitResponse
{
- uint8_t groupID; //!< Group extension identification.
+ uint8_t groupID; //!< Group extension identification.
} __attribute__((packed));
/** @struct GetMgmntCtrlIdStrRequest
@@ -289,9 +289,9 @@ struct ApplyPowerLimitResponse
*/
struct GetMgmntCtrlIdStrRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t offset; //!< Offset to read.
- uint8_t bytes; //!< Number of bytes to read.
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t offset; //!< Offset to read.
+ uint8_t bytes; //!< Number of bytes to read.
} __attribute__((packed));
/** @struct GetMgmntCtrlIdStrResponse
@@ -300,9 +300,9 @@ struct GetMgmntCtrlIdStrRequest
*/
struct GetMgmntCtrlIdStrResponse
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t strLen; //!< ID string length.
- char data[]; //!< ID string
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t strLen; //!< ID string length.
+ char data[]; //!< ID string
} __attribute__((packed));
/** @struct SetMgmntCtrlIdStrRequest
@@ -311,10 +311,10 @@ struct GetMgmntCtrlIdStrResponse
*/
struct SetMgmntCtrlIdStrRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t offset; //!< Offset to write.
- uint8_t bytes; //!< Number of bytes to read.
- char data[]; //!< ID string
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t offset; //!< Offset to write.
+ uint8_t bytes; //!< Number of bytes to read.
+ char data[]; //!< ID string
} __attribute__((packed));
/** @struct GetMgmntCtrlIdStrResponse
@@ -323,8 +323,8 @@ struct SetMgmntCtrlIdStrRequest
*/
struct SetMgmntCtrlIdStrResponse
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t offset; //!< Last Offset Written.
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t offset; //!< Last Offset Written.
} __attribute__((packed));
/** @enum DCMICapParameters
@@ -345,8 +345,8 @@ enum class DCMICapParameters
*/
struct GetDCMICapRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t param; //!< Capability parameter selector.
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t param; //!< Capability parameter selector.
} __attribute__((packed));
/** @struct GetDCMICapRequest
@@ -355,11 +355,11 @@ struct GetDCMICapRequest
*/
struct GetDCMICapResponse
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t major; //!< DCMI Specification Conformance - major ver
- uint8_t minor; //!< DCMI Specification Conformance - minor ver
- uint8_t paramRevision; //!< Parameter Revision = 02h
- uint8_t data[]; //!< Capability array
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t major; //!< DCMI Specification Conformance - major ver
+ uint8_t minor; //!< DCMI Specification Conformance - minor ver
+ uint8_t paramRevision; //!< Parameter Revision = 02h
+ uint8_t data[]; //!< Capability array
} __attribute__((packed));
/** @struct DCMICap
@@ -368,10 +368,10 @@ struct GetDCMICapResponse
*/
struct DCMICap
{
- std::string name; //!< Name of DCMI capability.
- uint8_t bytePosition; //!< Starting byte number from DCMI spec.
- uint8_t position; //!< bit position from the DCMI spec.
- uint8_t length; //!< Length of the value from DCMI spec.
+ std::string name; //!< Name of DCMI capability.
+ uint8_t bytePosition; //!< Starting byte number from DCMI spec.
+ uint8_t position; //!< bit position from the DCMI spec.
+ uint8_t length; //!< Length of the value from DCMI spec.
};
using DCMICapList = std::vector<DCMICap>;
@@ -382,8 +382,8 @@ using DCMICapList = std::vector<DCMICap>;
*/
struct DCMICapEntry
{
- uint8_t size; //!< Size of capability array in bytes.
- DCMICapList capList; //!< List of capabilities for a parameter.
+ uint8_t size; //!< Size of capability array in bytes.
+ DCMICapList capList; //!< List of capabilities for a parameter.
};
using DCMICaps = std::map<DCMICapParameters, DCMICapEntry>;
@@ -394,11 +394,11 @@ using DCMICaps = std::map<DCMICapParameters, DCMICapEntry>;
*/
struct GetTempReadingsRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t sensorType; //!< Type of the sensor
- uint8_t entityId; //!< Entity ID
- uint8_t entityInstance; //!< Entity Instance (0 means all instances)
- uint8_t instanceStart; //!< Instance start (used if instance is 0)
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t sensorType; //!< Type of the sensor
+ uint8_t entityId; //!< Entity ID
+ uint8_t entityInstance; //!< Entity Instance (0 means all instances)
+ uint8_t instanceStart; //!< Instance start (used if instance is 0)
} __attribute__((packed));
/** @struct GetTempReadingsResponse
@@ -407,9 +407,9 @@ struct GetTempReadingsRequest
*/
struct GetTempReadingsResponseHdr
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t numInstances; //!< No. of instances for requested id
- uint8_t numDataSets; //!< No. of sets of temperature data
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t numInstances; //!< No. of instances for requested id
+ uint8_t numDataSets; //!< No. of sets of temperature data
} __attribute__((packed));
/** @brief Parse out JSON config file containing information
@@ -421,83 +421,81 @@ Json parseSensorConfig();
namespace temp_readings
{
- /** @brief Read temperature from a d-bus object, scale it as per dcmi
- * get temperature reading requirements.
- *
- * @param[in] dbusService - the D-Bus service
- * @param[in] dbusPath - the D-Bus path
- *
- * @return A temperature reading
- */
- Temperature readTemp(const std::string& dbusService,
- const std::string& dbusPath);
-
- /** @brief Read temperatures and fill up DCMI response for the Get
- * Temperature Readings command. This looks at a specific
- * instance.
- *
- * @param[in] type - one of "inlet", "cpu", "baseboard"
- * @param[in] instance - A non-zero Entity instance number
- *
- * @return A tuple, containing a temperature reading and the
- * number of instances.
- */
- std::tuple<Response, NumInstances> read (const std::string& type,
- uint8_t instance);
-
- /** @brief Read temperatures and fill up DCMI response for the Get
- * Temperature Readings command. This looks at a range of
- * instances.
- *
- * @param[in] type - one of "inlet", "cpu", "baseboard"
- * @param[in] instanceStart - Entity instance start index
- *
- * @return A tuple, containing a list of temperature readings and the
- * number of instances.
- */
- std::tuple<ResponseList, NumInstances> readAll(const std::string& type,
- uint8_t instanceStart);
-}
+/** @brief Read temperature from a d-bus object, scale it as per dcmi
+ * get temperature reading requirements.
+ *
+ * @param[in] dbusService - the D-Bus service
+ * @param[in] dbusPath - the D-Bus path
+ *
+ * @return A temperature reading
+ */
+Temperature readTemp(const std::string& dbusService,
+ const std::string& dbusPath);
+
+/** @brief Read temperatures and fill up DCMI response for the Get
+ * Temperature Readings command. This looks at a specific
+ * instance.
+ *
+ * @param[in] type - one of "inlet", "cpu", "baseboard"
+ * @param[in] instance - A non-zero Entity instance number
+ *
+ * @return A tuple, containing a temperature reading and the
+ * number of instances.
+ */
+std::tuple<Response, NumInstances> read(const std::string& type,
+ uint8_t instance);
+
+/** @brief Read temperatures and fill up DCMI response for the Get
+ * Temperature Readings command. This looks at a range of
+ * instances.
+ *
+ * @param[in] type - one of "inlet", "cpu", "baseboard"
+ * @param[in] instanceStart - Entity instance start index
+ *
+ * @return A tuple, containing a list of temperature readings and the
+ * number of instances.
+ */
+std::tuple<ResponseList, NumInstances> readAll(const std::string& type,
+ uint8_t instanceStart);
+} // namespace temp_readings
namespace sensor_info
{
- /** @brief Create response from JSON config.
- *
- * @param[in] config - JSON config info about DCMI sensors
- *
- * @return Sensor info response
- */
- Response createFromJson(const Json& config);
-
- /** @brief Read sensor info and fill up DCMI response for the Get
- * Sensor Info command. This looks at a specific
- * instance.
- *
- * @param[in] type - one of "inlet", "cpu", "baseboard"
- * @param[in] instance - A non-zero Entity instance number
- * @param[in] config - JSON config info about DCMI sensors
- *
- * @return A tuple, containing a sensor info response and
- * number of instances.
- */
- std::tuple<Response, NumInstances> read(const std::string& type,
- uint8_t instance,
- const Json& config);
-
- /** @brief Read sensor info and fill up DCMI response for the Get
- * Sensor Info command. This looks at a range of
- * instances.
- *
- * @param[in] type - one of "inlet", "cpu", "baseboard"
- * @param[in] instanceStart - Entity instance start index
- * @param[in] config - JSON config info about DCMI sensors
- *
- * @return A tuple, containing a list of sensor info responses and the
- * number of instances.
- */
- std::tuple<ResponseList, NumInstances> readAll(const std::string& type,
- uint8_t instanceStart,
- const Json& config);
+/** @brief Create response from JSON config.
+ *
+ * @param[in] config - JSON config info about DCMI sensors
+ *
+ * @return Sensor info response
+ */
+Response createFromJson(const Json& config);
+
+/** @brief Read sensor info and fill up DCMI response for the Get
+ * Sensor Info command. This looks at a specific
+ * instance.
+ *
+ * @param[in] type - one of "inlet", "cpu", "baseboard"
+ * @param[in] instance - A non-zero Entity instance number
+ * @param[in] config - JSON config info about DCMI sensors
+ *
+ * @return A tuple, containing a sensor info response and
+ * number of instances.
+ */
+std::tuple<Response, NumInstances> read(const std::string& type,
+ uint8_t instance, const Json& config);
+
+/** @brief Read sensor info and fill up DCMI response for the Get
+ * Sensor Info command. This looks at a range of
+ * instances.
+ *
+ * @param[in] type - one of "inlet", "cpu", "baseboard"
+ * @param[in] instanceStart - Entity instance start index
+ * @param[in] config - JSON config info about DCMI sensors
+ *
+ * @return A tuple, containing a list of sensor info responses and the
+ * number of instances.
+ */
+std::tuple<ResponseList, NumInstances>
+ readAll(const std::string& type, uint8_t instanceStart, const Json& config);
} // namespace sensor_info
/** @brief Read power reading from power reading sensor object
@@ -515,9 +513,9 @@ int64_t getPowerReading(sdbusplus::bus::bus& bus);
*/
struct GetPowerReadingRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t mode; //!< Mode
- uint8_t modeAttribute; //!< Mode Attributes
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t mode; //!< Mode
+ uint8_t modeAttribute; //!< Mode Attributes
} __attribute__((packed));
/** @struct GetPowerReadingResponse
@@ -527,18 +525,18 @@ struct GetPowerReadingRequest
*/
struct GetPowerReadingResponse
{
- uint8_t groupID; //!< Group extension identification.
- uint16_t currentPower; //!< Current power in watts
- uint16_t minimumPower; //!< Minimum power over sampling duration
- //!< in watts
- uint16_t maximumPower; //!< Maximum power over sampling duration
- //!< in watts
- uint16_t averagePower; //!< Average power over sampling duration
- //!< in watts
- uint32_t timeStamp; //!< IPMI specification based time stamp
- uint32_t timeFrame; //!< Statistics reporting time period in milli
- //!< seconds.
- uint8_t powerReadingState; //!< Power Reading State
+ uint8_t groupID; //!< Group extension identification.
+ uint16_t currentPower; //!< Current power in watts
+ uint16_t minimumPower; //!< Minimum power over sampling duration
+ //!< in watts
+ uint16_t maximumPower; //!< Maximum power over sampling duration
+ //!< in watts
+ uint16_t averagePower; //!< Average power over sampling duration
+ //!< in watts
+ uint32_t timeStamp; //!< IPMI specification based time stamp
+ uint32_t timeFrame; //!< Statistics reporting time period in milli
+ //!< seconds.
+ uint8_t powerReadingState; //!< Power Reading State
} __attribute__((packed));
/** @struct GetSensorInfoRequest
@@ -547,11 +545,11 @@ struct GetPowerReadingResponse
*/
struct GetSensorInfoRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t sensorType; //!< Type of the sensor
- uint8_t entityId; //!< Entity ID
- uint8_t entityInstance; //!< Entity Instance (0 means all instances)
- uint8_t instanceStart; //!< Instance start (used if instance is 0)
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t sensorType; //!< Type of the sensor
+ uint8_t entityId; //!< Entity ID
+ uint8_t entityInstance; //!< Entity Instance (0 means all instances)
+ uint8_t instanceStart; //!< Instance start (used if instance is 0)
} __attribute__((packed));
/** @struct GetSensorInfoResponseHdr
@@ -560,14 +558,14 @@ struct GetSensorInfoRequest
*/
struct GetSensorInfoResponseHdr
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t numInstances; //!< No. of instances for requested id
- uint8_t numRecords; //!< No. of record ids in the response
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t numInstances; //!< No. of instances for requested id
+ uint8_t numRecords; //!< No. of record ids in the response
} __attribute__((packed));
/**
* @brief Parameters for DCMI Configuration Parameters
*/
-enum class DCMIConfigParameters: uint8_t
+enum class DCMIConfigParameters : uint8_t
{
ActivateDHCP = 1,
DiscoveryConfig,
@@ -583,11 +581,11 @@ enum class DCMIConfigParameters: uint8_t
*/
struct SetConfParamsRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t paramSelect; //!< Parameter selector.
- uint8_t setSelect; //!< Set Selector (use 00h for parameters that only
- //!< have one set).
- uint8_t data[]; //!< Configuration parameter data.
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t paramSelect; //!< Parameter selector.
+ uint8_t setSelect; //!< Set Selector (use 00h for parameters that only
+ //!< have one set).
+ uint8_t data[]; //!< Configuration parameter data.
} __attribute__((packed));
/** @struct SetConfParamsResponse
@@ -597,7 +595,7 @@ struct SetConfParamsRequest
*/
struct SetConfParamsResponse
{
- uint8_t groupID; //!< Group extension identification.
+ uint8_t groupID; //!< Group extension identification.
} __attribute__((packed));
/** @struct GetConfParamsRequest
@@ -607,11 +605,11 @@ struct SetConfParamsResponse
*/
struct GetConfParamsRequest
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t paramSelect; //!< Parameter selector.
- uint8_t setSelect; //!< Set Selector. Selects a given set of parameters
- //!< under a given Parameter selector value. 00h if
- //!< parameter doesn't use a Set Selector.
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t paramSelect; //!< Parameter selector.
+ uint8_t setSelect; //!< Set Selector. Selects a given set of parameters
+ //!< under a given Parameter selector value. 00h if
+ //!< parameter doesn't use a Set Selector.
} __attribute__((packed));
/** @struct GetConfParamsResponse
@@ -621,11 +619,11 @@ struct GetConfParamsRequest
*/
struct GetConfParamsResponse
{
- uint8_t groupID; //!< Group extension identification.
- uint8_t major; //!< DCMI Spec Conformance - major ver = 01h.
- uint8_t minor; //!< DCMI Spec Conformance - minor ver = 05h.
- uint8_t paramRevision; //!< Parameter Revision = 01h.
- uint8_t data[]; //!< Parameter data.
+ uint8_t groupID; //!< Group extension identification.
+ uint8_t major; //!< DCMI Spec Conformance - major ver = 01h.
+ uint8_t minor; //!< DCMI Spec Conformance - minor ver = 05h.
+ uint8_t paramRevision; //!< Parameter Revision = 01h.
+ uint8_t data[]; //!< Parameter data.
} __attribute__((packed));
OpenPOWER on IntegriCloud