def get_debug_device(serial_no): ctx = rs.context() devices = ctx.query_devices() found_dev = False for dev in devices: if len(serial_no) == 0 or serial_no == dev.get_info( rs.camera_info.serial_number): found_dev = True break if not found_dev: print('No RealSense device found' + str('.' if len(serial_no) == 0 else ' with serial number: ' + serial_no)) return 0 # set to advance mode: advanced = rs.rs400_advanced_mode(dev) if not advanced.is_enabled(): advanced.toggle_advanced_mode(True) # print(a few basic information about the device) print(' Device PID: ', dev.get_info(rs.camera_info.product_id)) print(' Device name: ', dev.get_info(rs.camera_info.name)) print(' Serial number: ', dev.get_info(rs.camera_info.serial_number)) print(' Firmware version: ', dev.get_info(rs.camera_info.firmware_version)) debug = rs.debug_protocol(dev) return debug
def l500_send_command(dev, op_code, param1=0, param2=0, param3=0, param4=0, data=[], retries=1): for i in range(retries): try: debug_device = rs.debug_protocol(dev) gvd_command_length = 0x14 + len(data) magic_number1 = 0xab magic_number2 = 0xcd buf = bytearray() buf += bytes(int_to_bytes(gvd_command_length, 2)) #buf += bytes(int_to_bytes(0, 1)) buf += bytes(int_to_bytes(magic_number1, 1)) buf += bytes(int_to_bytes(magic_number2, 1)) buf += bytes(int_to_bytes(op_code)) buf += bytes(int_to_bytes(param1)) buf += bytes(int_to_bytes(param2)) buf += bytes(int_to_bytes(param3)) buf += bytes(int_to_bytes(param4)) buf += bytearray(data) l = list(buf) res = debug_device.send_and_receive_raw_data(buf) if res[0] == op_code: res1 = res[4:] return res1 else: raise Exception("send_command return error", res[0]) except: if i < retries - 1: time.sleep(0.1) else: raise
def send_hardware_monitor_command(device, command): command_input = [] # array of uint_8t # Parsing the command to array of unsigned integers(size should be < 8bits) # threw out spaces command = command.lower() command = command.replace(" ", "") current_uint8_t_string = '' for i in range(0, len(command)): current_uint8_t_string += command[i] if len(current_uint8_t_string) >= 2: command_input.append(int('0x' + current_uint8_t_string, 0)) current_uint8_t_string = '' if current_uint8_t_string != '': command_input.append(int('0x' + current_uint8_t_string, 0)) # byte_index = -1 raw_result = rs.debug_protocol(device).send_and_receive_raw_data( command_input) return raw_result[4:]
def get_debug_device(serial_no): ctx = rs.context() devices = ctx.query_devices() found_dev = False for dev in devices: if len(serial_no) == 0 or serial_no == dev.get_info(rs.camera_info.serial_number): found_dev = True break if not found_dev: print('No RealSense device found' + str('.' if len(serial_no) == 0 else ' with serial number: '+serial_no)) return 0 # set to advance mode: advanced = rs.rs400_advanced_mode(dev) if not advanced.is_enabled(): advanced.toggle_advanced_mode(True) # print(a few basic information about the device) print(' Device PID: ', dev.get_info(rs.camera_info.product_id)) print(' Device name: ', dev.get_info(rs.camera_info.name)) print(' Serial number: ', dev.get_info(rs.camera_info.serial_number)) print(' Firmware version: ', dev.get_info(rs.camera_info.firmware_version)) debug = rs.debug_protocol(dev) return debug