feat(sat): PstRotator can point the antenna too
It handles azimuth and elevation, and a great many stations already run it in front of a controller OpsLog has never heard of. For those, OpsLog talking to the controller itself would be a second program fighting PstRotator over the same cable — so it hands over the bearing instead, and lets PstRotator turn the mast. Both kinds sit behind one small interface, chosen in Settings. Neither is more correct than the other: the right one is whichever the station already has working. The 450° overlap is deliberately NOT applied on the PstRotator path. PstRotator knows which machine is on the other end and does its own; two programs each deciding to go the long way round is exactly how an antenna unwinds in the middle of a pass. Position queries are asked at most every three seconds rather than on every tick. A PstRotator query binds a socket and waits up to a second and a half, and many setups answer nothing at all — so one silence is enough and it stops asking, reporting the commanded position instead and saying that is what it is.
This commit is contained in:
@@ -603,7 +603,10 @@ const en: Dict = {
|
||||
'satset.autoTle': 'Fetch fresh elements at startup when they are more than three days old',
|
||||
'satset.rotor': 'Azimuth / elevation rotator',
|
||||
'satset.rotEnable': 'Point a rotator at the satellite while tracking',
|
||||
'satset.rotHint': 'EasyComm II — what SatPC32, Gpredict and Hamlib speak, so any controller that works with those works here. This is a separate machine from your HF rotator: having both is normal.',
|
||||
'satset.rotHint': 'Either OpsLog drives the controller itself over EasyComm II — what SatPC32, Gpredict and Hamlib speak — or it hands the bearing to PstRotator, which many stations already run. Use PstRotator if you have it: two programs on one cable is one too many. Whichever it is, this is a separate machine from your HF rotator, and having both is normal.',
|
||||
'satset.rotType': 'Driven by', 'satset.rotEasycomm': 'OpsLog (EasyComm II)', 'satset.rotPst': 'PstRotator',
|
||||
'satset.rotPstPort': 'UDP port',
|
||||
'satset.rotPstHint': 'PstRotator handles azimuth and elevation and already knows your controller, so OpsLog sends it the bearing and lets it turn the mast. Its UDP port is in PstRotator under Setup ▸ TCP/UDP Server — the default is 12000. Nothing else here applies: the rotator’s range and its overlap are PstRotator’s business.',
|
||||
'satset.rotLink': 'Connection', 'satset.rotSerial': 'Serial (COM)', 'satset.rotTcp': 'Network (TCP)',
|
||||
'satset.rotHost': 'Address', 'satset.rotPort': 'Port', 'satset.rotCom': 'COM port', 'satset.rotBaud': 'Baud',
|
||||
'satset.rotRange': 'Rotator range', 'satset.rotMinEl': 'Start above (°)', 'satset.rotStep': 'Move by (°)',
|
||||
@@ -1187,7 +1190,10 @@ const fr: Dict = {
|
||||
'satset.autoTle': 'Récupérer des éléments frais au démarrage quand ils ont plus de trois jours',
|
||||
'satset.rotor': 'Rotor azimut / élévation',
|
||||
'satset.rotEnable': 'Pointer un rotor vers le satellite pendant le suivi',
|
||||
'satset.rotHint': 'EasyComm II — le langage de SatPC32, Gpredict et Hamlib : tout contrôleur qui fonctionne avec eux fonctionne ici. C’est une machine distincte de votre rotor HF : avoir les deux est normal.',
|
||||
'satset.rotHint': 'Soit OpsLog pilote le contrôleur lui-même en EasyComm II — le langage de SatPC32, Gpredict et Hamlib — soit il transmet le cap à PstRotator, que beaucoup de stations font déjà tourner. Utilisez PstRotator si vous l’avez : deux programmes sur un même câble, c’est un de trop. Dans les deux cas, c’est une machine distincte du rotor HF, et avoir les deux est normal.',
|
||||
'satset.rotType': 'Piloté par', 'satset.rotEasycomm': 'OpsLog (EasyComm II)', 'satset.rotPst': 'PstRotator',
|
||||
'satset.rotPstPort': 'Port UDP',
|
||||
'satset.rotPstHint': 'PstRotator gère azimut et élévation et connaît déjà votre contrôleur : OpsLog lui envoie le cap et le laisse tourner le pylône. Son port UDP se trouve dans PstRotator sous Setup ▸ TCP/UDP Server — 12000 par défaut. Rien d’autre ici ne s’applique : la course du rotor et son recouvrement sont l’affaire de PstRotator.',
|
||||
'satset.rotLink': 'Connexion', 'satset.rotSerial': 'Série (COM)', 'satset.rotTcp': 'Réseau (TCP)',
|
||||
'satset.rotHost': 'Adresse', 'satset.rotPort': 'Port', 'satset.rotCom': 'Port COM', 'satset.rotBaud': 'Bauds',
|
||||
'satset.rotRange': 'Course du rotor', 'satset.rotMinEl': 'Démarrer au-dessus de (°)', 'satset.rotStep': 'Déplacer par (°)',
|
||||
|
||||
Reference in New Issue
Block a user