1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import krpc
- conn = krpc.connect(name='Hello World')
- vessel = conn.space_center.active_vessel
- print(vessel.name)
-
- vessel.auto_pilot.target_pitch_and_heading(90, 90)
- vessel.auto_pilot.engage()
- vessel.auto_pilot.sas = True
- vessel.control.throttle = 1
-
- print('Launching!')
- vessel.control.activate_next_stage()
-
- mean_altitude = conn.get_call(getattr, vessel.flight(), 'mean_altitude')
- expr = conn.krpc.Expression.greater_than(
- conn.krpc.Expression.call(mean_altitude),
- conn.krpc.Expression.constant_double(1000))
- event = conn.krpc.add_event(expr)
- with event.condition:
- event.wait()
-
- print('Gravity turn')
- vessel.auto_pilot.target_pitch_and_heading(60, 90)
-
- fuel_amount = conn.get_call(vessel.resources.amount, 'SolidFuel')
- expr = conn.krpc.Expression.equal(
- conn.krpc.Expression.call(fuel_amount),
- conn.krpc.Expression.constant_float(0.0))
- event = conn.krpc.add_event(expr)
- with event.condition:
- event.wait()
-
- print('Detatching upper stage')
- vessel.control.activate_next_stage()
- vessel.auto_pilot.disengage()
- vessel.auto_pilot.sas = False
-
- srf_altitude = conn.get_call(getattr, vessel.flight(), 'surface_altitude')
- expr = conn.krpc.Expression.less_than(
- conn.krpc.Expression.call(srf_altitude),
- conn.krpc.Expression.constant_double(1000))
- event = conn.krpc.add_event(expr)
- with event.condition:
- event.wait()
-
- print('Deploying chute')
- vessel.control.activate_next_stage()
|