
                     
     TMK1553B v4.08  Microsoft Windows 98/ME/2000/XP/Vista/7
                
            (    IBM PC AT
   c     26765.52-87    52070-2003).
              (    1553docs.zip).

       TMK1553B      
 26765.52-87    52070-2003 (MIL-STD-1553B)  Microsoft Windows 
98/ME/2000/XP/7    1553bwdm.sys.   
      Windows. 
 32-       Driver\drv32\ ,  
 64-  -   Driver\drv64\ .  PnP ( PCI ) 
       
 ,    ISA   PnP   
   .

            
 ,       ,  
  tmkconfig.

     API  TMK1553B  Microsoft Windows   
    TMKLL4  MS-DOS.   
 ,     ,   
   .       
  

#include "wdmtmkv2.cpp"

      C/C++  wdmtmkv2.cpp, 
       TMKLL4   
TMK1553B.

             TmkOpen: 

DWORD TmkOpen();

          
.       . 
     CreateFile   
,   GetLastError.

         TMK1553B    TmkClose:

void TmkClose();

      ,   ,    Windows,
        0  8.  
    ,    tmkconfig, 
      : 

int tmkconfig(int tmkNumber);

        Windows     
      ,      
  tmkconfig ,       
   .    tmkconfig  
 .      -   
    ,     TMK_BAD_NUMBER. 

       ,    ,   
 tmkdone:

int tmkdone(int tmkNumber);

        ,  
 ALL_TMKS,     ,  
.

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

            tmkguide.doc 
tmkref.doc.

          API Windows    
EM_MASK  DI_MASK,         
 ERAO_MASK, MEO_MASK, IB_MASK, TO_MASK, EM_MASK, EBC_MASK, DI_MASK, 
ELN_MASK, G1_MASK, G2_MASK    'S_' 
.   : S_ERAO_MASK, S_MEO_MASK, S_IB_MASK, 
S_TO_MASK, S_EM_MASK, S_EBC_MASK, S_DI_MASK, S_ELN_MASK, S_G1_MASK, 
S_G2_MASK.

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

       TMK1553B        
  Win32.       
 (handle)       
   tmkdefevent,      
   Win32,    Win32 API 
CreateEvent:

void tmkdefevent(HANDLE hEvent, BOOL fEventSet);

  hEvent    .  
 fEventSet  TRUE     
  TMK1553B   SetEvent,   FALSE -  
 PulseEvent.

!       fEventSet 
 (  TRUE).  ,  
 ResetEvent    tmkdefevent.

              
,  ,   .   
  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  Microsoft Windows.  
       
  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

       ,      
   (     ),   
   tmkgetevd     ,   
 TTmkEventData       (
   TTmkEventData   nInt=0  ). 
    .  ,    
      tmkgetevd   
;         tmkgetevd 
  ,        .

       v2.00,      TX6/TE6 
   (), ,    v4.00,   
    TA1-PCI-32RT.       
    (4  TX6/TE6, 31  TA1-PCI-32RT) 
  ()     .     
  -   ,     
     ,   ,    
4  31   ,   .

       TX6/TE6       4  
  m_TMK.exe.

          :
TMK_DATA rtenable(TMK_DATA rtEnable);
int mrtgetmaxn();
DWORD mrtconfig(int mrtNumber);
int mrtselected();
TMK_DATA mrtgetstate();
void mrtdefbrcsubaddr0();
int mrtdefbrcpage(TMK_DATA mrtBrcPage);
TMK_DATA mrtgetbrcpage();
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    TX6/TE6   
       ,   
   (.     TX6/TE6). 
 ,        ,  
       ,      
      .  ,  
         
       ,    
    ,       .

     mrtdefbrcpage    TA1-PCI-32RT    
      ,      
 (.     TA1-PCI32-RT).   
     rtdefpage(0).  ,  
         
       ,    
    ,       .

(c)  "  ", 1998,2011.
