Files
test/keywords/ptp/cat/objects/servo_options_output.py
aabhinav 65d935a2b8 pylint fix 01
Description:
- Added a missing import for SSHConnection.
- Added data types to function arguments and return values.
- Removed Returns section in docstring when function return type is None

Change-Id: Id96217573f629d40a52459a3b45d26ae0649aa03
Signed-off-by: aabhinav <ayyapasetti.abhinav@windriver.com>
2025-07-15 08:11:50 -04:00

104 lines
4.4 KiB
Python

from keywords.ptp.cat.cat_ptp_table_parser import CatPtpTableParser
from keywords.ptp.cat.objects.servo_options_object import ServoOptionsObject
class ServoOptionsOutput:
"""
This class parses the output of Servo Options
Example:
pi_proportional_const 0.0
pi_integral_const 0.0
pi_proportional_scale 0.0
pi_proportional_exponent -0.3
pi_proportional_norm_max 0.7
pi_integral_scale 0.0
pi_integral_exponent 0.4
pi_integral_norm_max 0.3
step_threshold 0.0
first_step_threshold 0.00002
max_frequency 900000000
clock_servo pi
sanity_freq_limit 200000000
ntpshm_segment 0
msg_interval_request 0
servo_num_offset_values 10
servo_offset_threshold 0
write_phase_mode 0
"""
def __init__(self, servo_options_output: list[str]):
"""
Create an internal ServoOptionsObject from the passed parameter.
Args:
servo_options_output (list[str]): a list of strings representing the servo options output
"""
cat_ptp_table_parser = CatPtpTableParser(servo_options_output)
output_values = cat_ptp_table_parser.get_output_values_dict()
self.servo_options_object = ServoOptionsObject()
if "pi_proportional_const" in output_values:
self.servo_options_object.set_pi_proportional_const(float(output_values["pi_proportional_const"]))
if "pi_integral_const" in output_values:
self.servo_options_object.set_pi_integral_const(float(output_values["pi_integral_const"]))
if "pi_proportional_scale" in output_values:
self.servo_options_object.set_pi_proportional_scale(float(output_values["pi_proportional_scale"]))
if "pi_proportional_exponent" in output_values:
self.servo_options_object.set_pi_proportional_exponent(float(output_values["pi_proportional_exponent"]))
if "pi_proportional_norm_max" in output_values:
self.servo_options_object.set_pi_proportional_norm_max(float(output_values["pi_proportional_norm_max"]))
if "pi_integral_scale" in output_values:
self.servo_options_object.set_pi_integral_scale(float(output_values["pi_integral_scale"]))
if "pi_integral_exponent" in output_values:
self.servo_options_object.set_pi_integral_exponent(float(output_values["pi_integral_exponent"]))
if "pi_integral_norm_max" in output_values:
self.servo_options_object.set_pi_integral_norm_max(float(output_values["pi_integral_norm_max"]))
if "step_threshold" in output_values:
self.servo_options_object.set_step_threshold(float(output_values["step_threshold"]))
if "first_step_threshold" in output_values:
self.servo_options_object.set_first_step_threshold(float(output_values["first_step_threshold"]))
if "max_frequency" in output_values:
self.servo_options_object.set_max_frequency(int(output_values["max_frequency"]))
if "clock_servo" in output_values:
self.servo_options_object.set_clock_servo(output_values["clock_servo"])
if "sanity_freq_limit" in output_values:
self.servo_options_object.set_sanity_freq_limit(int(output_values["sanity_freq_limit"]))
if "ntpshm_segment" in output_values:
self.servo_options_object.set_ntpshm_segment(int(output_values["ntpshm_segment"]))
if "msg_interval_request" in output_values:
self.servo_options_object.set_msg_interval_request(int(output_values["msg_interval_request"]))
if "servo_num_offset_values" in output_values:
self.servo_options_object.set_servo_num_offset_values(int(output_values["servo_num_offset_values"]))
if "servo_offset_threshold" in output_values:
self.servo_options_object.set_servo_offset_threshold(int(output_values["servo_offset_threshold"]))
if "write_phase_mode" in output_values:
self.servo_options_object.set_write_phase_mode(int(output_values["write_phase_mode"]))
def get_servo_options_object(self) -> ServoOptionsObject:
"""
Getter for servo_options_object object.
Returns:
ServoOptionsObject: The servo options object containing parsed values.
"""
return self.servo_options_object