def update_sim(self, hal_data, now, tm_diff):
        
        # Simulate the drivetrain
        lr_motor = hal_data['pwm'][1]['value']
        rr_motor = hal_data['pwm'][2]['value']
        lf_motor = hal_data['pwm'][3]['value']
        rf_motor = hal_data['pwm'][4]['value']
        
        speed, rotation = drivetrains.four_motor_drivetrain(lr_motor, rr_motor, lf_motor, rf_motor)
        self.physics_controller.drive(speed, rotation, tm_diff)
:returns: State of the remote object
dataset/ETHPy150Open robotpy/pyfrc/samples/physics-4wheel/src/physics.py/PhysicsEngine.update_sim--crossover with--dataset/ETHPy150Open dnanexus/dx-toolkit/src/python/dxpy/bindings/dxanalysis.py/DXAnalysis._get_state