autoverse-cli 0.16.2__tar.gz → 0.16.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/PKG-INFO +1 -1
  2. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/pyproject.toml +1 -1
  3. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/autoverse_cli.egg-info/PKG-INFO +1 -1
  4. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/app_version.py +1 -1
  5. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/avrs.py +1 -0
  6. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/race_cloud.py +6 -3
  7. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/race_cloud_util.py +21 -8
  8. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/misc.py +10 -0
  9. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/LICENSE +0 -0
  10. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/README.md +0 -0
  11. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/setup.cfg +0 -0
  12. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/autoverse_cli.egg-info/SOURCES.txt +0 -0
  13. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/autoverse_cli.egg-info/dependency_links.txt +0 -0
  14. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/autoverse_cli.egg-info/entry_points.txt +0 -0
  15. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/autoverse_cli.egg-info/requires.txt +0 -0
  16. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/autoverse_cli.egg-info/top_level.txt +0 -0
  17. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/__init__.py +0 -0
  18. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/argparse_help.py +0 -0
  19. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/can_tool.py +0 -0
  20. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/can_tool_util.py +0 -0
  21. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/cfg.py +0 -0
  22. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/launcher.py +0 -0
  23. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/launcher_util.py +0 -0
  24. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/race_cloud_bridge_can.py +0 -0
  25. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/race_cloud_cfg_util.py +0 -0
  26. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/race_cloud_fwd_api.py +0 -0
  27. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/change_camera.py +0 -0
  28. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/code_booz.py +0 -0
  29. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/demo.py +0 -0
  30. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/dump_sim_config.py +0 -0
  31. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/environment.py +0 -0
  32. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/fault_injection.py +0 -0
  33. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/get_object_config.py +0 -0
  34. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/list_sim_objects.py +0 -0
  35. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/log_path.py +0 -0
  36. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/move_to_landmark.py +0 -0
  37. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/npc.py +0 -0
  38. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/request.py +0 -0
  39. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/reset_to_track.py +0 -0
  40. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/restart.py +0 -0
  41. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/scenario_control.py +0 -0
  42. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/spawn_object.py +0 -0
  43. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/teleport.py +0 -0
  44. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/toggle_hud.py +0 -0
  45. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/vd.py +0 -0
  46. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/vehicle_input.py +0 -0
  47. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/requests/vehicle_replay.py +0 -0
  48. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/simconfig.py +0 -0
  49. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/simconfig_util.py +0 -0
  50. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/tests.py +0 -0
  51. {autoverse_cli-0.16.2 → autoverse_cli-0.16.4}/src/avrs/util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: autoverse-cli
3
- Version: 0.16.2
3
+ Version: 0.16.4
4
4
  Summary: The Autoverse CLI
5
5
  Author-email: Dan Kamrath <dan.kamrath@autonomalabs.com>
6
6
  License: # End-User License Agreement (EULA) of the Autonoma AutoVerse CLI
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "autoverse-cli"
3
- version = "0.16.2"
3
+ version = "0.16.4"
4
4
  dependencies = [
5
5
  "boto3",
6
6
  "cantools"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: autoverse-cli
3
- Version: 0.16.2
3
+ Version: 0.16.4
4
4
  Summary: The Autoverse CLI
5
5
  Author-email: Dan Kamrath <dan.kamrath@autonomalabs.com>
6
6
  License: # End-User License Agreement (EULA) of the Autonoma AutoVerse CLI
@@ -2,7 +2,7 @@ import http.client
2
2
  import json
3
3
 
4
4
  def get_app_version():
5
- return '0.16.2'
5
+ return '0.16.4'
6
6
 
7
7
  def check_app_is_latest():
8
8
  pass
@@ -125,6 +125,7 @@ def main():
125
125
  AvrsToggleHudRequest(sps, cfg)
126
126
  AvrsGetObjectConfigRequest(sps, cfg)
127
127
  AvrsGetSimVersionRequest(sps, cfg)
128
+ AvrsGetExitSimRequest(sps, cfg)
128
129
  AvrsPingRequest(sps, cfg)
129
130
  AvrsConfigureSimLodRequest(sps, cfg)
130
131
  AvrsSpawnObjectRequest(sps, cfg)
@@ -331,9 +331,12 @@ class AvrsRaceCloud(AvrsApiRequest):
331
331
  logger.info('enabling qos for slot {} with ip {}'.format(slot, args.ip))
332
332
  enable_peer_qos(slot, args.ip)
333
333
  logger.info('connecting vcans for incoming connection')
334
- connect_peer_vcan(slot, args.ip, 0)
335
- connect_peer_vcan(slot, args.ip, 1)
336
- connect_peer_vcan(slot, args.ip, 2)
334
+ out = connect_peer_vcan(slot, args.ip, 0)
335
+ logger.info('connected first vcan result: {} {}'.format(out.out, out.err))
336
+ out = connect_peer_vcan(slot, args.ip, 1)
337
+ logger.info('connected second vcan result: {} {}'.format(out.out, out.err))
338
+ out = connect_peer_vcan(slot, args.ip, 2)
339
+ logger.info('connected second vcan result: {} {}'.format(out.out, out.err))
337
340
 
338
341
  # go ahead and restart forwarding script here
339
342
  # stop it if its already running
@@ -27,6 +27,10 @@ BASH_KILL_PROCESS_SCRIPT = '''
27
27
  done
28
28
  '''
29
29
 
30
+ BASH_KILL_BY_LAUNCH_SCRIPT = '''
31
+ ps -x | grep "{launch_phrase}" | awk '{{ print $1 }}' | xargs -L1 kill
32
+ '''
33
+
30
34
  DEFAULT_RMW_QOS = '''
31
35
  <?xml version="1.0" encoding="UTF-8" ?>
32
36
  <profiles xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles">
@@ -94,10 +98,10 @@ DISABLE_PEER_QOS_SCRIPT = '''
94
98
  sed -i -E "s,(<Peer address=')(.+)('/>)<!--(PEER$PEER_ID-->),<!--\\1PEER$PEER_ID\\3\\4,g" $CYCLONE_PATH
95
99
 
96
100
  VCAN_NAME=vcan$PEER_ID
97
- if [[ -e $VCAN_NAME.lock ]]; then
98
- echo "stopping existing cannelloni connection with pid $(cat $VCAN_NAME.lock)"
99
- kill $(cat $VCAN_NAME.lock)
100
- rm $VCAN_NAME.lock
101
+ if [[ -e $VCAN_NAME.vcanlock ]]; then
102
+ echo "stopping existing cannelloni connection with pid $(cat $VCAN_NAME.vcanlock)"
103
+ kill $(cat $VCAN_NAME.vcanlock)
104
+ rm $VCAN_NAME.vcanlock
101
105
  fi
102
106
  '''
103
107
 
@@ -120,8 +124,8 @@ CONNECT_PEER_VCAN_SCRIPT = '''
120
124
  REMOTE_PORT={remote_port}
121
125
  LOCAL_PORT={local_port}
122
126
  VCAN_NAME={vcan_name}
123
- LOCK_FILE=$HOME/.$VCAN_NAME.lock
124
- LOG_FILE="$HOME/.$VCAN_NAME.log"
127
+ LOCK_FILE="$HOME/.$VCAN_NAME.vcanlock"
128
+ LOG_FILE="$HOME/.$VCAN_NAME.vcanlog"
125
129
  if [[ -z $VCAN_NAME ]]; then
126
130
  VCAN_NAME=vcan$PEER_ID
127
131
  fi
@@ -177,6 +181,10 @@ def bash_kill_process(pname):
177
181
  return run_process(['bash', '-c',
178
182
  BASH_KILL_PROCESS_SCRIPT.format(**{'pname': pname})])
179
183
 
184
+ def bash_kill_process_by_launch_command(launch_command):
185
+ return run_process(['bash', '-c',
186
+ BASH_KILL_BY_LAUNCH_SCRIPT.format(**{'launch_phrase': launch_command})])
187
+
180
188
  # start an exectuable in the background, sending output to a file
181
189
  # stored at root with its name
182
190
  def start_exe(exe_path):
@@ -302,11 +310,16 @@ def get_local_instance_ip():
302
310
  return '127.0.0.1'
303
311
 
304
312
  def reset_race_cloud_connection():
313
+ logger = logging.getLogger('avrs')
314
+ logger.info('resetting connection')
305
315
  reset_rmw_qos()
306
316
  reset_rmw_cyclone_qos()
317
+ logger.info('removing vcanlog and vcanlock files')
307
318
  run_process(['bash', '-c', 'rm ~/.simslot*']) # remove slot reservations
308
- run_process(['bash', '-c', 'rm ~/.vcan*']) # remove lock files
309
- bash_kill_process('cannelloni')
319
+ run_process(['bash', '-c', 'rm ~/.*.vcanlog*']) # remove slot reservations
320
+ run_process(['bash', '-c', 'rm ~/.*.vcanlock']) # remove lock files
321
+ logger.info('stopping race-cloud bridge-can')
322
+ bash_kill_process_by_launch_command('avrs race-cloud bridge-can')
310
323
 
311
324
  def try_get_open_slot(team_name, ip):
312
325
  logger = logging.getLogger('avrs')
@@ -10,6 +10,16 @@ class AvrsGetSimVersionRequest(AvrsApiRequest):
10
10
  return {
11
11
  }
12
12
 
13
+ class AvrsGetExitSimRequest(AvrsApiRequest):
14
+ def __init__(self, parser, cfg):
15
+ AvrsApiRequest.__init__(self, parser, cfg, 'ExitSim', 0)
16
+ psr = parser.add_parser('exit-sim', help='exit the currently running simulator')
17
+ psr.set_defaults(func=self.send_request)
18
+
19
+ def get_request_body(self, args):
20
+ return {
21
+ }
22
+
13
23
  class AvrsPingRequest(AvrsApiRequest):
14
24
  def __init__(self, parser, cfg):
15
25
  AvrsApiRequest.__init__(self, parser, cfg, 'GetVersion', 0)
File without changes
File without changes
File without changes