Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The following table compares the major CIF-API functions with the CIFX-API functions.


CIF-API

CIFX-API

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Open the driver */
sRet = DevOpenDriver(usBoardNumber);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Open the driver */
lRet = xDriverOpen(.............);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Read Firmware information field */
sRet = DevGetInfo( usBoardNumber,
                               
              /* DeviceNumber        */    
                              
                   GET_FIRMWARE_INFO,
                   
          /* InfoArea            */
                              
                   sizeof(FIRMWAREINFO),
                   
       /* Size of bytes to read */
                              
                   &abInfo[0])
) != DRV_NO_ERROR ) {  /* Pointer to user buffer
;                /* Pointer to user buffer */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Read Firmware information field */
lRet = xChannelInfo(...............................);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Signal board, application is running */
sRet = DevSetHostState( usBoardNumber,
              
        /* DeviceNumber        */
                                       
                        HOST_READY,
                 
           /* Mode                */
   
                                    
                     0L);
                                 
                  /* Pointer to user buffer */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Signal host is ready */
lRet = xChannelHostState(..........);

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Switch BUS on  */
lRet = xChannelBusState( ..CIFX_BUS_ON.....);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Read mailbox information */
sRet = DevGetMBXState( usBoardNumber,      
           
   /* DeviceNumber        */
         
                              
              &usDevState,
                      
           /* Buffer for device state */
                    
                   
   &usHostState);
                    
         /* Buffer for host state */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Read mailbox information */
lRet = xChannelMBXState(................);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Write parameters to communication board */
sRet = DevPutTaskParameter( usBoardNumber,
       
       /* Device number             */ 
                 
                              
           1,
                              
                   /* Protokoll task number     */
                 
                              
           sizeof(aParameter),
  
  /* Lenght of bytes           */
                 
                              
           &aParameter );
         
       /* Pointer to data  buffer   */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Write parameters to communication board */
=> No function available, only via "RCX_SET_CONFIG_REQUEST" command packet
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Reset board so it can take the parameters */
sRet = DevReset( usBoardNumber,
                          
                  /* Device number          */
                            
                 WARMSTART,
                              
                      /* Reset mode, Warmstart  */
                            
                 8000L);
                                        
                         /* Timeout  8000 ms       */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Reset board */
lRet = xChannelReset(.....................);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Read a message from the receive mailbox */
sRet = DevGetMessage usBoardNumber,
                  
           /* Device Number             */
                                        
                        sizeof(tMessage),
                 
        /* Users buffer size         */
                                        
                        (MSG_STRUC *)&tMessage,  /* Pointer to user buffer    */
                                         5000L
                        5000L );                
               
 /* Timeout                   */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Read a packet from the receive mailbox */
lRet xChannelGetPacket(........................);
ATTENTION: CIFX packet are using a different structur
("RCX_PACKET_HEADER" / "RCX_PACKET")
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Write a message to the send mailbox */
sRet = DevPutMessage usBoardNumber,
                    
           /* Device Number             */
              
                         
          (MSG_STRUC *)&tMessage,
  
  /* Pointer to user buffer    */
                                        
                        5000L );
                                  
                 /* Timeout                   */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Write a message to the send mailbox */
lRet xChannelPutPacket(........................);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Read and write I/O data */
sRet = DevExchangeIO ( usBoardNumber,      /* Device Number   */
                                       
                       0,
                            
                        /* usSendOffset    */ 
 
                                    
                     4,
                            
                        /* usSendSize      */
 
                                     
                      &tIOSendData[0],          /* *pvSendData     */
 
                                      0,                             /* usReceiveOffset
                      0,                        /* usReceiveOffset */
 
                                    
                     4,
                            
                        /* usReceiveSize   */
 
                                    
                     &tIORecvData[0],          /* *pvReceiveData  */
 
                                    
                     100L );
                   
                   /* ulTimeout       */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Read the I/O input data area */
lRet = xChannelIORead(..............);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Write the I/O output data area */
lRet = xChannelIOWrite(................);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Signal board, application is not running */
sRet = DevSetHostState( usBoardNumber,
               
           /* DeviceNumber        */
         
                             
               HOST_NOT_READY,          /* Mode                */
         
                             
               0L);
                                   
                     /* Pointer to user buffer */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Shut off BUS communication */
lRet = xChannelBusState( ..CIFX_BUS_OFF..);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Signal application not running */
lRet = xChannelHostState(.............................);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Close communication */
sRet = DevExitBoard( usBoardNumber); /* Device number  */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Close communication channel */
lRet = xChannelClose(................................);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Close Driver */
sRet = DevCloseDriver(0);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Close Driver */
lRet = xDriverClose()