BASIL_NETWORKS


Banner_Txt_I2C_Protocol

 

HomeABOUTPRODUCTSSERVICESSUPPORTCONTACTARTICLESBLOG
SystemsPeripheralsInstrumentsResearchNetworksSoftwareProgrammersOEM
IBPD-I2C CtrlrIBPD-I2C SlaveIBPD-SPI CtrlrIBPD-SPI-SlaveMore Protocols
 
I2C Main MenuI2C ProgrammersI2C Device DatabaseI2C Device DebugI2C GPIO DebugI2C Hex Block DebugI2C Program DeviceI2C Cmd File ConfigureI2C  Directories
 

Banner_I2C_CLADS_CommandFileConfiguration

The Command File Configure dialog allows the user to program and execute the functions within the IBPD System in Command Line Mode and is one of the CLADS features.  The Command File Configure Dialog will be unique for each protocol and will be part of the protocols dialogs.  The CLADS allows the user to create unique commands for a custom application that the user has compiled.   This allows the incorporation of the IBPD System into any real time environment.

The Command Line Argument (CLA) File is the main file that is the used in the Command Line mode.  The system is organized in step by step functionality and is allowed to ignore those functions that are omitted in the list of command line arguments incorporated in the CLA file.  This feature is useful for background operations with third party programs or user designed programs for those unique interface requirements during the product development process.  When the Command File is Configured and Saved it creates two files, UserFilename.CMD that is essential to the IBPD System and a header file with the same name UserFilename.h.  The format of these files are detailed on this page.  The header file contains a standard C language string array of the user commands created in the Command File Configure dialog shown below.  These user generated commands give added flexibility to the IBPD System allowing access for third party programs to communicate and access data results of the selected protocol.  This allows the user to gain real time operation and obtain results from memory with minimum debug overhead.

Developers are always analyzing COTS vs In-house build and control when developing products.  With complexity of software features required in today's product development arena many of the COTS fixed function programs do not meet the special needs of the developer.  Many times several program applications have to be purchased and many times fall short of development requirements only to add more time to the development.  BASIL Networks over the years has experienced which inspired us to create the IBPD system focused on the developer.  Running the IBPD System in Command Line Argument Mode allows hands free repeated operations through a Command Line Argument file that is considered a recipe of commands for the IBPD System dialogs.  In developing the CLA file we realized that this system is applicable to many third part programs so we extended it further to a Command Line Argument Development System (CLADS) which we will explain as we go through the configuration process.  The processing of a Command Line Argument in C, C++ etc. is so well documented on the web with a simple search, however BASIL Networks also offers a command Line Arguments processing code snippet in standard C that may be added to a Windows or Linux development environment to save time for program development.  It is the same Parser that is used in the IBPD System..

The Command Line Mode for the IBPD System is a simple three step process:

    1. Configure the Command File (*.cmd). This Dialog

    2. Configure the Command Line Argument File  (*.cla).  A default list of commands for the IBPD I²C Protocol are automatically loaded.  The user may also load a User set of commands for User applications and turn off the IBPD System I²C command set.

    3. Create the shortcut for the IBPD System with the CLA file attached.

 

Since we have not explained where the actual Command Line Argument Commands are generated we have incorporated a CLA Command editing tool for this very purpose.  The CLA Command Dialog gives the user complete control for developing a set of commands for applications that allow Command Mode operations.  CLA commands may be created for any Compiler, Macro Assembler, third party API like MatLab, 7-Zip applications and saved in a user specified CLA Command (CLC) file for future use in generating CLA files and shortcuts.  There are two types of command Line argument support, In-Line that function like GCC, MASM, CL, msdev, devenv type compilers and assemblers and File type that allow a single file name that contains the recipe file of commands.  The IBPD System supports both and allows the command line arguments/switches to be created in a line by line form for easy editing. This will be shown following this page.

 

 

I2C_CLADS_CommandFileConfig_Dialog

 

[1]Create / Edit Command File  Main Menu

    Edit Descriptor - This function allows the user to edit the User Field Descriptors to help identify the command used in the associated field.  If these fields are used they will be compared with the Command & Control functions assigned in the database.  The user should check the spelling to insure they are correct in the selected fields.

    Review Descriptors - This function allows the user to view the field descriptors and make any corrections required before saving the descriptors. These descriptors are place in the command file and are assigned to them only.  Each command file has its own set of user defined commands.

    Update Descriptors - This function will update the descriptors for the command file.

    Make/Edit CLA File - Make A Command Line Argument file for this command file.

    Save Command List File - This allows the user to save the command file list for future additions and editing.

    MAIN MENU - Return to the Calling program.  Throughout the IBPD-100 dialogs navigation is reduced to essential links for the user convenience.  The Return buttons will return you to the previous calling program and not necessarily to the MAIN Startup dialog.

 

[2]Command Files List

This is a list of command (*.CMD) files the user has saved for future recall and editing.  This list is a user generated list loaded by (3) and shown in (4).  The list is stored in the default directory setup by the user.  Each protocol incorporates this dialog since each Command File is different for each protocol.

[3]Load CMD File List

Load/select a list file and load the command files it holds into the listbox.  IF the Active field is blank a browser will appear for the user to navigate through their system for a List file to load.

[4]List of Command Files

This is a user generated list of command files for a selected(*.lst) file the user saved earlier.  The use may save this list in a different file if it has been edited or just update the list file.   Single clicking on a line in the listbox will select the command file for viewing and editing.  The listbox will hold up to 128 Command Files per list.

[5]CMD File to Edit / Create

This is the Command File that is currently being displayed.  The *.cmd file also includes a user comment during its creation that may be viewed by clicking on the Edit/View File Comment button.  If this is blank and the user clicks the New/Update Cmd File button a browser will pop-up for the user to create a filename to store the configuration data entered in the dialog.  The user may also add this file to the Command File listbox and save the list for later review and editing.

[6]Data File

This is the data file that is used to program the device.

[7]Data File Associated Parameters

These are parameters used by the IBPD System which associates the data file with the proper programmer and part number from the user databases.  The are several user Field Descriptors and data fields that the user may use for added control that the IBPD Stsrem I²C protocol controller will respond to as well as a comment section that the user may enter comments about the Command File functions and use.  The creation data, last modified dates and file size are included on the dialog and in the CMD file as a reference.

[8]Xfer Data From Database - This function allows the user to transfer the selected part and parameters to the Command File and insures that the part exists in the database and is available on the system. This transfers the database file the part is located in and the bus protocol required to program the part.  If the user has selected a device programmer the Device ID is also transferred, else No Programmer Selected is displayed.  This insures that the proper programming device and the devices data file are all matched for automatic programming.

[9]Help Menu

This page - Each dialogs help page is included in the loading of the program.  We also have the same help on-line.  IF the system has been upgraded we will post the files for that upgrade and allow the user to either upgrade or maintain their current version level.

[10]Status Last Command Executed

Typical status field of the last executed function pertaining to the dialog displayed.

 

 

I2C_Command_File_Structure

 

The functional block left shows the content of the command file.  In order to execute command line mode effectively the system employs several file structures to allow the required data to be accessed before any dialogs are actually visible to the user.

There are two sections to the Command File Structure.

  1. Command File Information - this pertains to the Command File itself.  This data tells about the Command Files creation date and last modification data.  Included also is a Product ID to insure the right product has been selected. If this field is blank no test are performed on the field.. This field is part of the Database structure and the data is created when the part is created in the database.
     
  2. Programming Device Information - This information is primary to programming the device. It contains information on to either write to the device or read from the device, the command codes for the device to perform the selected functions from the databases Command & Control section for the selected device.   These are entered in the six user fields in the Command File dialog.  The data fields are:

      Data Filename - This is the data filename that will write the data to the device or read the data from the device and store it to this file.  If it is a read device then the user must enter the full path and filename.  If it a write to the device the browse button will allow the user to browse the system for the data file.

      Programming Device Assigned - This is the actual device that will communicate with the device.  It is recommended that the device be connected to the system and tested prior to running the Command File.  If the programming device fails to communicate with the device or fails to initialize an error message will pop up regardless of the flags to suppress. messages.  The suppress messages are only for completion of tasks per section  when in full dialog mode. or may be displayed by clearing the message flag when generating the shortcut.

      Part number - This is the part number to be programmed from a user Device Database.  The device database directory and filename should have permissions set to allow the IBPD-100 user access.

      BUS Protocol Type - This field is checked with the Programmer for a match. If it does not match an error message is displayed.

      User Field Commands - These are the commands the user creates for their own use to be used in a user developed application that allows third party functionality before the IBPD-100 is called through the CLA.  The user is responsible for identifying these commands if this file is used in a user application before running the IBPD-100.  This allows the user to setup user controlled system and or device parameters prior to calling the IBPD-100.  The file is automatically created each time you create a command file (*.cmd) and is the same as the command filename except the extension is *.h.  Both files are located in the default CMD directory. Example of files created is shown below.

      Command Filename = 24C02C_EEPROM.cmd,
      Header Filename  = 24C02C_EEPROM.h.

      char  UserCmds [ ]          = { "UserCmd1",  "UserCmd2",  "UserCmd3",  "UserCmd4",  "UserCmd5",  "UserCmd6" };
      char  UserCmdsDesc [ ] = { "UserDesc1", "UserDesc2", "UserDesc3", "UserDesc4", "UserDesc5", "UserDesc6" }

      Command File User Comments - This is a very important user area that allows the user to describe the use of the created command file.  This is the opportunity for the user to describe the command & Control functions for the device.

 

Copyright© 1990-2018 BASIL Networks, PLLC. All rights reserved
webmaster