Skip to content

Commit

Permalink
added alternative offset option degNCP to slewStart
Browse files Browse the repository at this point in the history
  • Loading branch information
Florian Briegel committed Oct 23, 2024
1 parent 46b76b2 commit e485fa2
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions python/lvmtan/BasdaMoccaTrajCluPythonServiceWorker.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,12 +111,13 @@ async def _stopMovement(self):
command.fail(error=e)


def _sid_mpiaMocon(self, target, polyN=1, seg_time=1, time=None):
def _sid_mpiaMocon(self, target, polyN=1, seg_time=1, time=None, degNCP=0.0):
if not time:
time = astropy.time.Time.now()
traj = self.sid.mpiaMocon(self.geoloc,
target,
None,
degNCP=degNCP,
deltaTime=seg_time,
homeIsWest=self.homeIsWest,
homeOffset=self.homeOffset,
Expand Down Expand Up @@ -164,7 +165,7 @@ def addOffset(seg, offset:int):
# create buffer
rc = self._chat(1, 220, self.device_module, self.derot_buffer, 0)

traj = self._sid_mpiaMocon(target, polyN=self.seg_min_num_current, seg_time=self.seg_time_current)
traj = self._sid_mpiaMocon(target, polyN=self.seg_min_num_current, seg_time=self.seg_time_current, degNCP=self.degNCP)

traj_start = astropy.time.Time.now()
for i in range(self.seg_min_num_current+1):
Expand Down Expand Up @@ -199,7 +200,7 @@ def addOffset(seg, offset:int):
pass

# N_LOG(f"offCur: {offset_in_steps} offAdd: {self.seg_offset_add}")
traj = self._sid_mpiaMocon(target, seg_time=self.seg_time_current, time = traj_next_seg_time)
traj = self._sid_mpiaMocon(target, seg_time=self.seg_time_current, time = traj_next_seg_time, degNCP=self.degNCP)
if self.seg_offset_add:
traj=addOffset(traj[0], self.seg_offset_add)
I_LOG(f"Changed traj: {traj}")
Expand Down Expand Up @@ -303,6 +304,7 @@ async def _slewStop(self):
@click.option("--offset_angle", type=float, default=0.0, show_default=True, help="Derotation offset in degree (9000 motor steps/sky degree).",)
@click.option("--seg_time", type=int, default=None, help="Time of one trajectory segment in sec.",)
@click.option("--seg_min_num", type=int, default=None, help="Minimal number of trajectory segments in buffer.",)
@click.option("--degNCP", type=float, default=0.0, help="Alternative derotation offset in degree.",)
@BasdaCluPythonServiceWorker.wrapper
async def slewStart(
self,
Expand All @@ -312,10 +314,12 @@ async def slewStart(
offset_angle: float,
seg_time: int,
seg_min_num: int,
degNCP: float,
):
"""Start slew"""
self.seg_time_current = seg_time if seg_time else self.seg_time_default
self.seg_min_num_current = seg_min_num if seg_min_num else self.seg_min_num_default
self.degNCP = degNCP

I_LOG(f"start slew now {ra} {dec} offset_ang: {offset_angle} traj_segment_time: { self.seg_time_current} traj_seg_min_num: {self.seg_min_num_current} site: {self.site}")

Expand All @@ -328,7 +332,7 @@ async def slewStart(
targ = astropy.coordinates.SkyCoord(ra=ra, dec=dec, unit=(u.hourangle, u.deg))
target = Target(targ)

traj = self._sid_mpiaMocon(target)
traj = self._sid_mpiaMocon(target, degNCP=self.degNCP)
position = traj[0][2] + offset_in_steps
self.positive_direction = (traj[0][2] - traj[1][2]) < 0
U1_LOG(f"{traj} {self.positive_direction}")
Expand All @@ -352,7 +356,7 @@ async def slewStart(
self.service.moveAbsoluteWait()

now = astropy.time.Time.now()
traj = self._sid_mpiaMocon(target, time=now)
traj = self._sid_mpiaMocon(target, time=now, degNCP=self.degNCP)
position_current = traj[0][2] + offset_in_steps
abs_positioning_compensation = position_current - position
U9_LOG(f"{traj} {abs_positioning_compensation}")
Expand Down

0 comments on commit e485fa2

Please sign in to comment.