TMXR: Properly accept ticks rather than instructions in coschedule APIs
This commit is contained in:
parent
7db2dc10de
commit
180b03107e
2 changed files with 7 additions and 7 deletions
10
sim_tmxr.c
10
sim_tmxr.c
|
@ -3902,10 +3902,10 @@ return tmxr_clock_coschedule_tmr (uptr, 0, interval);
|
||||||
|
|
||||||
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
|
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
|
||||||
|
|
||||||
t_stat tmxr_clock_coschedule_tmr (UNIT *uptr, int32 tmr, int32 interval)
|
t_stat tmxr_clock_coschedule_tmr (UNIT *uptr, int32 tmr, int32 ticks)
|
||||||
{
|
{
|
||||||
TMXR *mp = (TMXR *)uptr->tmxr;
|
TMXR *mp = (TMXR *)uptr->tmxr;
|
||||||
int32 ticks = (interval + (sim_rtcn_tick_size (tmr)/2))/sim_rtcn_tick_size (tmr);/* Convert to ticks */
|
int32 interval = ticks * sim_rtcn_tick_size (tmr);
|
||||||
|
|
||||||
#if defined(SIM_ASYNCH_MUX)
|
#if defined(SIM_ASYNCH_MUX)
|
||||||
if ((!(uptr->dynflags & UNIT_TM_POLL)) ||
|
if ((!(uptr->dynflags & UNIT_TM_POLL)) ||
|
||||||
|
@ -3939,15 +3939,15 @@ if (mp) {
|
||||||
return _sim_activate (uptr, soon);
|
return _sim_activate (uptr, soon);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sim_debug (TIMER_DBG_MUX, &sim_timer_dev, "scheduling %s after interval %d instructions\n", sim_uname (uptr), interval);
|
sim_debug (TIMER_DBG_MUX, &sim_timer_dev, "coscheduling %s after interval %d ticks\n", sim_uname (uptr), ticks);
|
||||||
return sim_clock_coschedule_tmr (uptr, tmr, ticks);
|
return sim_clock_coschedule_tmr (uptr, tmr, ticks);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
t_stat tmxr_clock_coschedule_tmr_abs (UNIT *uptr, int32 tmr, int32 interval)
|
t_stat tmxr_clock_coschedule_tmr_abs (UNIT *uptr, int32 tmr, int32 ticks)
|
||||||
{
|
{
|
||||||
sim_cancel (uptr);
|
sim_cancel (uptr);
|
||||||
return tmxr_clock_coschedule_tmr (uptr, tmr, interval);
|
return tmxr_clock_coschedule_tmr (uptr, tmr, ticks);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Generic Multiplexer attach help */
|
/* Generic Multiplexer attach help */
|
||||||
|
|
|
@ -282,8 +282,8 @@ t_stat tmxr_activate_after (UNIT *uptr, uint32 usecs_walltime);
|
||||||
t_stat tmxr_activate_after_abs (UNIT *uptr, uint32 usecs_walltime);
|
t_stat tmxr_activate_after_abs (UNIT *uptr, uint32 usecs_walltime);
|
||||||
t_stat tmxr_clock_coschedule (UNIT *uptr, int32 interval);
|
t_stat tmxr_clock_coschedule (UNIT *uptr, int32 interval);
|
||||||
t_stat tmxr_clock_coschedule_abs (UNIT *uptr, int32 interval);
|
t_stat tmxr_clock_coschedule_abs (UNIT *uptr, int32 interval);
|
||||||
t_stat tmxr_clock_coschedule_tmr (UNIT *uptr, int32 tmr, int32 interval);
|
t_stat tmxr_clock_coschedule_tmr (UNIT *uptr, int32 tmr, int32 ticks);
|
||||||
t_stat tmxr_clock_coschedule_tmr_abs (UNIT *uptr, int32 tmr, int32 interval);
|
t_stat tmxr_clock_coschedule_tmr_abs (UNIT *uptr, int32 tmr, int32 ticks);
|
||||||
t_stat tmxr_change_async (void);
|
t_stat tmxr_change_async (void);
|
||||||
t_stat tmxr_locate_line_send (const char *dev_line, SEND **snd);
|
t_stat tmxr_locate_line_send (const char *dev_line, SEND **snd);
|
||||||
t_stat tmxr_locate_line_expect (const char *dev_line, EXPECT **exp);
|
t_stat tmxr_locate_line_expect (const char *dev_line, EXPECT **exp);
|
||||||
|
|
Loading…
Add table
Reference in a new issue