diff --git a/cmd/server/web/dist/index.html b/cmd/server/web/dist/index.html
index a4a477c..b0e5cdf 100644
--- a/cmd/server/web/dist/index.html
+++ b/cmd/server/web/dist/index.html
@@ -1,16 +1,17 @@
-
-
-
-
-
- ShackMaster - F4BPO Shack
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ ShackMaster - F4BPO Shack
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/internal/api/device_manager.go b/internal/api/device_manager.go
index 2c0fda3..dbde011 100644
--- a/internal/api/device_manager.go
+++ b/internal/api/device_manager.go
@@ -119,7 +119,6 @@ func (dm *DeviceManager) Initialize() error {
dm.flexRadio = flexradio.New(
dm.config.Devices.FlexRadio.Host,
dm.config.Devices.FlexRadio.Port,
- dm.config.Devices.FlexRadio.InterlockName,
)
// Set callback for immediate frequency changes (no waiting for update cycle)
diff --git a/internal/devices/rotatorgenius/rotatorgenius.go b/internal/devices/rotatorgenius/rotatorgenius.go
index ee98fc0..a7f2c22 100644
--- a/internal/devices/rotatorgenius/rotatorgenius.go
+++ b/internal/devices/rotatorgenius/rotatorgenius.go
@@ -23,8 +23,9 @@ type Client struct {
}
type Status struct {
- Heading int `json:"heading"`
- Connected bool `json:"connected"`
+ Heading int `json:"heading"`
+ TargetHeading int `json:"target_heading"`
+ Connected bool `json:"connected"`
}
func New(host string, port int) *Client {
@@ -211,6 +212,11 @@ func (c *Client) parseStatus(response string) *Status {
if err == nil {
status.Heading = heading
}
+ targetStr := response[19:22]
+ targetHeading, err := strconv.Atoi(strings.TrimSpace(targetStr))
+ if err == nil {
+ status.TargetHeading = targetHeading
+ }
}
return status
diff --git a/web/src/components/RotatorGenius.svelte b/web/src/components/RotatorGenius.svelte
index 5e4b573..ab52377 100644
--- a/web/src/components/RotatorGenius.svelte
+++ b/web/src/components/RotatorGenius.svelte
@@ -53,7 +53,6 @@
}
try {
hasTarget = true; // Mark that we have a target
- // Subtract 10 degrees to compensate for rotator momentum
const adjustedHeading = (targetHeading + 360) % 360;
await api.rotator.setHeading(adjustedHeading);
} catch (err) {
diff --git a/web/src/components/Ultrabeam.svelte b/web/src/components/Ultrabeam.svelte
index 518b5a5..4ecb926 100644
--- a/web/src/components/Ultrabeam.svelte
+++ b/web/src/components/Ultrabeam.svelte
@@ -164,14 +164,6 @@
@@ -353,18 +345,6 @@
gap: 12px;
}
- .interlock-badge {
- padding: 4px 10px;
- border-radius: 12px;
- border: 2px solid;
- font-size: 11px;
- font-weight: 700;
- text-transform: uppercase;
- letter-spacing: 0.5px;
- background: rgba(0, 0, 0, 0.3);
- transition: all 0.2s;
- }
-
h2 {
margin: 0;
font-size: 20px;