/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoTFleetWise { namespace Model { /** *

Information about signal messages using the on-board diagnostics (OBD) II * protocol in a vehicle.

See Also:

AWS * API Reference

*/ class ObdSignal { public: AWS_IOTFLEETWISE_API ObdSignal(); AWS_IOTFLEETWISE_API ObdSignal(Aws::Utils::Json::JsonView jsonValue); AWS_IOTFLEETWISE_API ObdSignal& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_IOTFLEETWISE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The length of the requested data.

*/ inline int GetPidResponseLength() const{ return m_pidResponseLength; } /** *

The length of the requested data.

*/ inline bool PidResponseLengthHasBeenSet() const { return m_pidResponseLengthHasBeenSet; } /** *

The length of the requested data.

*/ inline void SetPidResponseLength(int value) { m_pidResponseLengthHasBeenSet = true; m_pidResponseLength = value; } /** *

The length of the requested data.

*/ inline ObdSignal& WithPidResponseLength(int value) { SetPidResponseLength(value); return *this;} /** *

The mode of operation (diagnostic service) in a message.

*/ inline int GetServiceMode() const{ return m_serviceMode; } /** *

The mode of operation (diagnostic service) in a message.

*/ inline bool ServiceModeHasBeenSet() const { return m_serviceModeHasBeenSet; } /** *

The mode of operation (diagnostic service) in a message.

*/ inline void SetServiceMode(int value) { m_serviceModeHasBeenSet = true; m_serviceMode = value; } /** *

The mode of operation (diagnostic service) in a message.

*/ inline ObdSignal& WithServiceMode(int value) { SetServiceMode(value); return *this;} /** *

The diagnostic code used to request data from a vehicle for this signal.

*/ inline int GetPid() const{ return m_pid; } /** *

The diagnostic code used to request data from a vehicle for this signal.

*/ inline bool PidHasBeenSet() const { return m_pidHasBeenSet; } /** *

The diagnostic code used to request data from a vehicle for this signal.

*/ inline void SetPid(int value) { m_pidHasBeenSet = true; m_pid = value; } /** *

The diagnostic code used to request data from a vehicle for this signal.

*/ inline ObdSignal& WithPid(int value) { SetPid(value); return *this;} /** *

A multiplier used to decode the message.

*/ inline double GetScaling() const{ return m_scaling; } /** *

A multiplier used to decode the message.

*/ inline bool ScalingHasBeenSet() const { return m_scalingHasBeenSet; } /** *

A multiplier used to decode the message.

*/ inline void SetScaling(double value) { m_scalingHasBeenSet = true; m_scaling = value; } /** *

A multiplier used to decode the message.

*/ inline ObdSignal& WithScaling(double value) { SetScaling(value); return *this;} /** *

The offset used to calculate the signal value. Combined with scaling, the * calculation is value = raw_value * scaling + offset.

*/ inline double GetOffset() const{ return m_offset; } /** *

The offset used to calculate the signal value. Combined with scaling, the * calculation is value = raw_value * scaling + offset.

*/ inline bool OffsetHasBeenSet() const { return m_offsetHasBeenSet; } /** *

The offset used to calculate the signal value. Combined with scaling, the * calculation is value = raw_value * scaling + offset.

*/ inline void SetOffset(double value) { m_offsetHasBeenSet = true; m_offset = value; } /** *

The offset used to calculate the signal value. Combined with scaling, the * calculation is value = raw_value * scaling + offset.

*/ inline ObdSignal& WithOffset(double value) { SetOffset(value); return *this;} /** *

Indicates the beginning of the message.

*/ inline int GetStartByte() const{ return m_startByte; } /** *

Indicates the beginning of the message.

*/ inline bool StartByteHasBeenSet() const { return m_startByteHasBeenSet; } /** *

Indicates the beginning of the message.

*/ inline void SetStartByte(int value) { m_startByteHasBeenSet = true; m_startByte = value; } /** *

Indicates the beginning of the message.

*/ inline ObdSignal& WithStartByte(int value) { SetStartByte(value); return *this;} /** *

The length of a message.

*/ inline int GetByteLength() const{ return m_byteLength; } /** *

The length of a message.

*/ inline bool ByteLengthHasBeenSet() const { return m_byteLengthHasBeenSet; } /** *

The length of a message.

*/ inline void SetByteLength(int value) { m_byteLengthHasBeenSet = true; m_byteLength = value; } /** *

The length of a message.

*/ inline ObdSignal& WithByteLength(int value) { SetByteLength(value); return *this;} /** *

The number of positions to shift bits in the message.

*/ inline int GetBitRightShift() const{ return m_bitRightShift; } /** *

The number of positions to shift bits in the message.

*/ inline bool BitRightShiftHasBeenSet() const { return m_bitRightShiftHasBeenSet; } /** *

The number of positions to shift bits in the message.

*/ inline void SetBitRightShift(int value) { m_bitRightShiftHasBeenSet = true; m_bitRightShift = value; } /** *

The number of positions to shift bits in the message.

*/ inline ObdSignal& WithBitRightShift(int value) { SetBitRightShift(value); return *this;} /** *

The number of bits to mask in a message.

*/ inline int GetBitMaskLength() const{ return m_bitMaskLength; } /** *

The number of bits to mask in a message.

*/ inline bool BitMaskLengthHasBeenSet() const { return m_bitMaskLengthHasBeenSet; } /** *

The number of bits to mask in a message.

*/ inline void SetBitMaskLength(int value) { m_bitMaskLengthHasBeenSet = true; m_bitMaskLength = value; } /** *

The number of bits to mask in a message.

*/ inline ObdSignal& WithBitMaskLength(int value) { SetBitMaskLength(value); return *this;} private: int m_pidResponseLength; bool m_pidResponseLengthHasBeenSet = false; int m_serviceMode; bool m_serviceModeHasBeenSet = false; int m_pid; bool m_pidHasBeenSet = false; double m_scaling; bool m_scalingHasBeenSet = false; double m_offset; bool m_offsetHasBeenSet = false; int m_startByte; bool m_startByteHasBeenSet = false; int m_byteLength; bool m_byteLengthHasBeenSet = false; int m_bitRightShift; bool m_bitRightShiftHasBeenSet = false; int m_bitMaskLength; bool m_bitMaskLengthHasBeenSet = false; }; } // namespace Model } // namespace IoTFleetWise } // namespace Aws