                      
                   TMK1553B v4.10  QNX 6.x
                
             (    IBM PC AT
              c     26765.52-87).
                   (   tmkguide.doc).

       TMK1553B      
 26765.52-87 (MIL-STD-1553B)  QNX 6.x  
 tmk1553b.

          ,   
,      tmk1553b.   
          
 ,    tmkconfig.

     API  TMK1553B  QNX 6.x   
    TMKLL4  MS-DOS.   
 ,     ,   
   .       
  

#include "qnx6tmk.c"

      C/C++  qnx6tmk.c, 
       TMKLL4   
TMK1553B.

             TmkOpen: 

DWORD TmkOpen();

          
.       . 

         TMK1553B    TmkClose:

void TmkClose();

      ,   ,    
tmk1553b,         0  7.
     ,   
tmkconfig,       : 

int tmkconfig(int tmkNumber);

         tmk1553b   
        ,   
    tmkconfig ,     
    .    tmkconfig 
 .      -   
    ,     .

       ,    ,   
 tmkdone:

int tmkdone(int tmkNumber);

        ,  
 ALL_TMKS,     ,  
.

          tmkconfig   (  
  )      
 TMKLL4  MS-DOS, ..      
 (  tmkselect),       
,     .

       tmkguide.doc, tmkref.doc.

         TMKLL4   TMK1553B   
   : bcdefintnorm, bcdefintexc, bcdefintx, 
bcdefintsig, rtdefintcmd, rtdefinterr, rtdefintdata, mtdefintx, 
mtdefintsig, bcrestore, rtrestore, mtrestore, tmksave, tmkrestore, 
tmkdefirq, tmkundefirq.

  tmk1553b      .
     -  32- ,   
 31          , .. 
 0     0,  1 -    1  ..

          
    tmkwaitevents:

DWORD tmkwaitevents(DWORD mask, DWORD wait);

 mask -     ,  .   
     ,   
 ,         
   .      
tmkwaitevents   ,      
 wait,     0   .
  0      (, 
 ,  ,   0,   
 ).    wait   ,  
        .
          , 
   .

              
,  .     tmkgetevd:

void tmkgetevd(TTmkEventData *pEvD);

        TTmkEventData, 
     :

typedef struct
{
  int nInt;
  unsigned short wMode;
  union
  {
    struct
    {
      unsigned short wResult;
      unsigned short wAW1;
      unsigned short wAW2;
    } bc;
    struct
    {
      unsigned short wBase;
      unsigned short wResultX;
    } bcx;
    struct
    {
      unsigned short wStatus;
      unsigned short wCmd;
    } rt;
    struct
    {
      unsigned short wBase;
      unsigned short wResultX;
    } mt;
    struct
    {
      unsigned short wStatus;
    } mrt;
  };
} TTmkEventData;

              , 
   !      
      .  
    ,    
TMKLL4  MS-DOS    tmk1553b  QNX 6.x.  
       
  TMKLL4  :

bcdefintnorm   wMode=BC_MODE, nInt=1,   bc.wResult;
bcdefintexc    wMode=BC_MODE, nInt=2,   bc.wResult,
               bc.wAW1, bc.wAW2;
bcdefintx      wMode=BC_MODE, nInt=3,   bcx.wResultX,
               bcx.wBase;
bcdefintsig    wMode=BC_MODE, nInt=4,   bcx.wBase;

rtdefintcmd    wMode=RT_MODE, nInt=1,   rt.wCmd;
rtdefinterr    wMode=RT_MODE, nInt=2,   rt.wStatus;
rtdefintdata   wMode=RT_MODE, nInt=3,   rt.wStatus;

mtdefintx      wMode=MT_MODE, nInt=3,   mt.wResultX,
               mt.wBase;
mtdefintsig    wMode=MT_MODE, nInt=4,   mt.wBase.
mtdefintx      wMode

       v2.00      TX6/TE6  
   ().        
   4   ()    
.       - 
 ,          ,
  ,    4   ,  
.

          :
TMK_DATA rtenable(TMK_DATA rtEnable);
int mrtgetmaxn();
DWORD mrtconfig(int mrtNumber);
int mrtselected();
TMK_DATA mrtgetstate();
void mrtdefbrcsubaddr0();
int mrtreset();

      rtenable,    -  
     .    
       .  
   -400  -400,      
.    rtenable(RT_ENABLE),  
 rtenable(RT_DISABLE).    (RT_ENABLE 
RT_DISABLE)    rtenable(RT_GET_ENABLE).

     ,     rtreset  rtdefaddress 
 .  rtreset     tmkconfig  bcreset 
mtreset,      ,    
  rtenable(RT_DISABLE).    
    rtdefaddress.   rtreset  
 /.

     mrtgetmaxn     . 
       
.    ,     8
 ( 0  7) mrtgetmaxn  7.  tmkgetmaxn 
   .    
     ,   8,  tmkgetmaxn 
    .  ,  
    4 ,  tmkgetmaxn  11.

     mrtconfig    tmkconfig  , 
      .   
    ,   ,    , 
mrtconfig.  mrtconfig   ,  16 
    ,   ,  
16  -  ,   .   (,  
     )    .

          .   
         mrtconfig.   -  
 mrtconfig  ,   tmkconfig   
.  ,        
 , ,      ( 
 rtlock, rtunlock, rtbusy),    
( rtdefmode, rtgetmode, rtdefirqmode, rtgetirqmode), 
  ( rtreset, mrtreset).    
   tmkconfig,       ,
    .  rtreset,    
,         ,  
   ,         
.  mrtreset        
     .

      mrtconfig  tmkconfig  /   
 ,   ,  tmkselect.

     mrtselected       
  .     tmkselected  mrtselected 
      .   tmkselected 
  ,  mrtselected -  .

     mrtreset         
 .

            bcreset  mtreset,  
  ,       
  ,       . 
     bcreset  .  / 
bcreset    .

     mrtgetstate       
(.    ).  rtgetstate, 
      ,    
  ,   .

     mrtdefbrcsubaddr0     
       ,    
   (.    ).  
,        ,    
     ,       
    .

          TA

    rtgetmsgsw(),     
   TA1   .
            
(  0x0800)        (  0x1000).

          
:
  -   "  ":
  rtdefsubaddr(TA_SA_CMD_VECW, TA_SA_CMD_VECW);
  -   "   ":
  rtdefsubaddr(TA_SA_CMD_BITW, TA_SA_CMD_BITW);
  -     ( ""):
  rtdefsubaddr(TA_SA_CMD, TA_SA_CMD);

       TA

       ,    
 ,         
   .
   ,     SABUF_OFF.

         
:
rtallocabuf(SABUF_STD_R0+subaddr, size);
:
subadr -    (   - TA_SA_CMD)
size -  ,     .
     .

        :
rtallocabuf(SABUF_STD_R0+subaddr, GET_MAX_ALLOC);

        :
rtallocabuf(SABUF_STD_R0+subaddr, GET_ALLOC);

        
   ,      
rtlock   .       
  .

            
rtdefbuf(bufnum),   rtdefsubaddr.
   rtgetmsgsw      
.

   ,        .
      ,   
   .
    rtdeflink(link),    
    .  link -   , 
    ""   RT_LINK_IP ( 
       )  RT_LINK_BS ( 
   " ",     ).

   link   rtgetlink.

 ,   ,        
  ,    ,   
rtdeflinkbus(link),    rtdeflink. 

         
 rtgetlinkbus.

        . 
 DOS   ,      
rtgetbufirq.  ,      
TTmkEventData   rt   wBuf,     
   tmkEvD.rt.wBuf,  tmkEvD   tmkgetevd.

(c)  "  ", 1998,2013.