diff --git a/src/teleoperation/backend/consumers.py b/src/teleoperation/backend/consumers.py
index eb9ab9941..8b3ce733e 100644
--- a/src/teleoperation/backend/consumers.py
+++ b/src/teleoperation/backend/consumers.py
@@ -35,6 +35,7 @@
Spectral,
ScienceThermistors,
HeaterData,
+ NetworkBandwidth,
)
from mrover.srv import EnableAuton, AdjustMotor, ChangeCameras, CapturePanorama
from sensor_msgs.msg import NavSatFix, Temperature, RelativeHumidity, JointState
@@ -124,6 +125,9 @@ def connect(self):
)
self.science_spectral = rospy.Subscriber("/science_spectral", Spectral, self.science_spectral_callback)
self.cmd_vel = rospy.Subscriber("/cmd_vel", Twist, self.cmd_vel_callback)
+ self.network_bandwidth = rospy.Subscriber(
+ "/network_bandwidth", NetworkBandwidth, self.network_bandwidth_callback
+ )
# Services
self.laser_service = rospy.ServiceProxy("enable_arm_laser", SetBool)
@@ -604,6 +608,9 @@ def drive_status_callback(self, msg):
def cmd_vel_callback(self, msg):
self.send(text_data=json.dumps({"type": "cmd_vel", "linear_x": msg.linear.x, "angular_z": msg.angular.z}))
+ def network_bandwidth_callback(self, msg):
+ self.send(text_data=json.dumps({"type": "network_bandwidth", "tx": msg.tx, "rx": msg.rx}))
+
def gps_fix_callback(self, msg):
self.send(
text_data=json.dumps(
diff --git a/src/teleoperation/frontend/src/components/AutonTask.vue b/src/teleoperation/frontend/src/components/AutonTask.vue
index dfb187730..ef2bd310d 100644
--- a/src/teleoperation/frontend/src/components/AutonTask.vue
+++ b/src/teleoperation/frontend/src/components/AutonTask.vue
@@ -3,8 +3,8 @@
Auton Dashboard
-
+
+
@@ -68,6 +68,7 @@ import OdometryReading from './OdometryReading.vue'
import JoystickValues from './JoystickValues.vue'
import DriveControls from './DriveControls.vue'
import MastGimbalControls from './MastGimbalControls.vue'
+import NetworkBandwidth from './NetworkBandwidth.vue'
import { quaternionToMapAngle } from '../utils.js'
import { defineComponent } from 'vue'
@@ -84,7 +85,8 @@ export default defineComponent({
OdometryReading,
JoystickValues,
DriveControls,
- MastGimbalControls
+ MastGimbalControls,
+ NetworkBandwidth
},
data() {
@@ -241,7 +243,8 @@ h2 {
}
.comms {
- margin-right: 5px;
+ position: absolute;
+ right: 25%;
}
.helpscreen {
diff --git a/src/teleoperation/frontend/src/components/DMESTask.vue b/src/teleoperation/frontend/src/components/DMESTask.vue
index 9db855615..ebb1a4598 100644
--- a/src/teleoperation/frontend/src/components/DMESTask.vue
+++ b/src/teleoperation/frontend/src/components/DMESTask.vue
@@ -4,6 +4,7 @@
ES GUI Dashboard
DM GUI Dashboard
+
@@ -69,6 +70,7 @@ import MotorsStatusTable from './MotorsStatusTable.vue'
import OdometryReading from './OdometryReading.vue'
import DriveControls from './DriveControls.vue'
import MastGimbalControls from './MastGimbalControls.vue'
+import NetworkBandwidth from './NetworkBandwidth.vue'
import { quaternionToMapAngle } from '../utils.js'
let interval: number
@@ -86,6 +88,7 @@ export default defineComponent({
OdometryReading,
DriveControls,
MastGimbalControls,
+ NetworkBandwidth,
},
props: {
@@ -267,6 +270,11 @@ export default defineComponent({
transform: translateX(-50%);
}
+.comms {
+ position: absolute;
+ right: 25%;
+}
+
.map {
grid-area: map;
}
diff --git a/src/teleoperation/frontend/src/components/ISHTask.vue b/src/teleoperation/frontend/src/components/ISHTask.vue
index 08e46c76a..bda866699 100644
--- a/src/teleoperation/frontend/src/components/ISHTask.vue
+++ b/src/teleoperation/frontend/src/components/ISHTask.vue
@@ -2,8 +2,8 @@
ISH Dashboard
-
+
+
@@ -44,13 +44,11 @@
+
\ No newline at end of file
diff --git a/src/teleoperation/frontend/src/components/SATask.vue b/src/teleoperation/frontend/src/components/SATask.vue
index f381f72d4..1aaab95df 100644
--- a/src/teleoperation/frontend/src/components/SATask.vue
+++ b/src/teleoperation/frontend/src/components/SATask.vue
@@ -2,8 +2,8 @@
SA Dashboard
-
+
+
@@ -100,11 +100,9 @@ import DriveMoteusStateTable from './DriveMoteusStateTable.vue'
import MotorsStatusTable from './MotorsStatusTable.vue'
import LimitSwitch from './LimitSwitch.vue'
import CalibrationCheckbox from './CalibrationCheckbox.vue'
-// import CommReadout from "./CommReadout.vue";
-// import MCUReset from "./MCUReset.vue";
-import MotorAdjust from './MotorAdjust.vue'
import OdometryReading from './OdometryReading.vue'
import SAArmControls from './SAArmControls.vue'
+import NetworkBandwidth from './NetworkBandwidth.vue'
import { disableAutonLED, quaternionToMapAngle } from '../utils.js'
import { mapState, mapActions } from 'vuex'
@@ -123,11 +121,9 @@ export default {
SAArmControls,
LimitSwitch,
CalibrationCheckbox,
- // CommReadout,
- // MCUReset,
- MotorAdjust,
OdometryReading,
- MotorsStatusTable
+ MotorsStatusTable,
+ NetworkBandwidth
},
data() {
return {
@@ -227,7 +223,8 @@ export default {
}
.comms {
- margin-right: 5px;
+ position: absolute;
+ right: 25%;
}
.helpscreen {