Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion ptest/cases/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,5 @@
from .reboot_utility import Reboot
from .quake_power_cycling import QuakePowerCycling
from .piksi_near_field import PiksiFaultNearField
from .piksi_near_field_2 import PiksiFaultNearField2
from .piksi_near_field_2 import PiksiFaultNearField2
from .propsystem_firing import PropFiringCase
4 changes: 4 additions & 0 deletions ptest/cases/base/dual_sat_case.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,3 +121,7 @@ def cycle(self):
# device.scrape_uplink()
if device.enable_auto_dbtelem:
device.dbtelem()
def rs(self, name, print=False):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be good to note that we are designating follower to be the satellite that matters in this environment and the fact that we can only rs follower states

return self.follower.rs(name, print=print)
def print_rs(self, name):
return self.follower.rs(name, print=True)
31 changes: 31 additions & 0 deletions ptest/cases/propsystem_firing.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
from .utils import Enums, TestCaseFailure
import time

from .mission import (
DualSatNearFieldCase
)

class PropFiringCase(DualSatNearFieldCase):

def __init__(self, *args, **kwargs): #allows for interaction with the terminal during ptesting
super().__init__(*args, **kwargs)
self.debug_to_console = True

def run(self):
self.follower.ws("prop.threshold_firing_pressure", 10)
propNum = self.rs("prop.state")
self.print_rs("orbit.control.valve1")
while(propNum != 7):
self.print_rs("prop.state")
propNum = self.rs("prop.state")
self.print_rs("orbit.control.valve1")
self.print_rs("orbit.valid")
self.print_rs("rel_orbit.state")
self.print_rs("prop.cycles_until_firing")
#self.ws("prop.state", 6) #get prop state into await firing mode
self.print_rs("orbit.control.J_ecef")
self.print_rs("prop.state")
self.print_rs("orbit.control.valve1")
self.print_rs("prop.cycles_until_firing")
self.print_rs("pan.state")
self.cycle()
25 changes: 25 additions & 0 deletions ptest/configs/hootl_hitl.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"seed" : 0,
"devices" : [
{
"name": "FlightControllerLeader",
"run_mode": "native",
"pio_target": "fsw_native_follower_autotelem",
"http_port" : 8089,
"imei": "412222222",
"scrape_uplinks": false,
"enable_auto_dbtelem": false
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not that this really matters, but this case works fine with telemetry on the hootl designated unit? I think I remember some issues with this

},
{
"name": "FlightControllerFollower",
"run_mode": "teensy",
"port": "/dev/cu.usbmodem48717401",
"baud_rate": 1152000,
"http_port": 8088,
"imei": "",
"scrape_uplinks": false,
"enable_auto_dbtelem": false
}
],
"radios" : [ ]
}