in device_info_pkg/device_info_pkg/device_info_node.py [0:0]
def load_hardware_version(self):
"""Function to load the hardware version variable based on the board ids on the
DeepRacer device.
"""
base_path = constants.GPIO_BASE_PATH
board_id0 = None
board_id1 = None
try:
board1 = gpio_module.GPIO(base_path, 383, self.get_logger(), direction="in")
if board1.enable():
board_id1 = board1.get()
self.get_logger().info(f"board_id1: {board_id1}")
board0 = gpio_module.GPIO(base_path, 387, self.get_logger(), direction="in")
if (board_id1 is not None) and board0.enable():
board_id0 = board0.get()
self.get_logger().info(f"board_id0: {board_id0}")
if (board_id1 is not None) and (board_id0 is not None):
hardware_version = ""
if board_id1 == "0":
if board_id0 == "0":
hardware_version = "R1.0"
else:
hardware_version = "R1.1"
else:
if board_id0 == "0":
hardware_version = "R2.0"
else:
hardware_version = "R2.1"
self.hardware_version = hardware_version
self.get_logger().info(f"Loading Hardware version: {self.hardware_version}")
else:
self.get_logger().error("Could not load the hardware version")
except Exception as ex:
self.get_logger().error(f"Error while loading hardware version: {ex}")