u
This commit is contained in:
5
cmd/server/web/dist/index.html
vendored
5
cmd/server/web/dist/index.html
vendored
@@ -7,10 +7,11 @@
|
|||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">
|
||||||
<script type="module" crossorigin src="/assets/index-DfHlyr4L.js"></script>
|
<script type="module" crossorigin src="/assets/index-BqlArLJ0.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-oYZfaWiS.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-Bl7hatTL.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -119,7 +119,6 @@ func (dm *DeviceManager) Initialize() error {
|
|||||||
dm.flexRadio = flexradio.New(
|
dm.flexRadio = flexradio.New(
|
||||||
dm.config.Devices.FlexRadio.Host,
|
dm.config.Devices.FlexRadio.Host,
|
||||||
dm.config.Devices.FlexRadio.Port,
|
dm.config.Devices.FlexRadio.Port,
|
||||||
dm.config.Devices.FlexRadio.InterlockName,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Set callback for immediate frequency changes (no waiting for update cycle)
|
// Set callback for immediate frequency changes (no waiting for update cycle)
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ type Client struct {
|
|||||||
|
|
||||||
type Status struct {
|
type Status struct {
|
||||||
Heading int `json:"heading"`
|
Heading int `json:"heading"`
|
||||||
|
TargetHeading int `json:"target_heading"`
|
||||||
Connected bool `json:"connected"`
|
Connected bool `json:"connected"`
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -211,6 +212,11 @@ func (c *Client) parseStatus(response string) *Status {
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
status.Heading = heading
|
status.Heading = heading
|
||||||
}
|
}
|
||||||
|
targetStr := response[19:22]
|
||||||
|
targetHeading, err := strconv.Atoi(strings.TrimSpace(targetStr))
|
||||||
|
if err == nil {
|
||||||
|
status.TargetHeading = targetHeading
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return status
|
return status
|
||||||
|
|||||||
@@ -53,7 +53,6 @@
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
hasTarget = true; // Mark that we have a target
|
hasTarget = true; // Mark that we have a target
|
||||||
// Subtract 10 degrees to compensate for rotator momentum
|
|
||||||
const adjustedHeading = (targetHeading + 360) % 360;
|
const adjustedHeading = (targetHeading + 360) % 360;
|
||||||
await api.rotator.setHeading(adjustedHeading);
|
await api.rotator.setHeading(adjustedHeading);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|||||||
@@ -164,14 +164,6 @@
|
|||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<h2>Ultrabeam VL2.3</h2>
|
<h2>Ultrabeam VL2.3</h2>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
{#if interlockConnected && interlockState}
|
|
||||||
<div class="interlock-badge" style="border-color: {interlockColor}; color: {interlockColor}">
|
|
||||||
{interlockState === 'READY' ? '🔓 TX OK' :
|
|
||||||
interlockState === 'NOT_READY' ? '🔒 TX Block' :
|
|
||||||
interlockState === 'PTT_REQUESTED' ? '⏳ PTT' :
|
|
||||||
interlockState === 'TRANSMITTING' ? '📡 TX' : '❓'}
|
|
||||||
</div>
|
|
||||||
{/if}
|
|
||||||
<span class="status-dot" class:disconnected={!connected}></span>
|
<span class="status-dot" class:disconnected={!connected}></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -353,18 +345,6 @@
|
|||||||
gap: 12px;
|
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 {
|
h2 {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
|
|||||||
Reference in New Issue
Block a user