Having correctly configured the top-level Multi API-DLL using Multi API-DLL Functions, the functions in this section can be used to initialize and configure each FPA individually (and itâs API-DLL instance).
Generic functions read and write the API-DLLâs configuration, access status messages and can instruct the FPA to power or reset the target device. The functions described in this section require that each FPA already be opened using F OpenInstancesAndFPAs.
After the following functions have been used to configure each FPA correctly for its target device, use Data Buffer Functions to determine what code should be written during programming. Finally, Encapsulated functions can perform the process of programming, writing, erasing, verifying, etc., according to the aforementioned settings.
1. F Initialization
1.1. General Description
Initialize FPA after it has been successfully opened using F OpenInstancesAndFPAs. F Initialization performs the following tasks:
all internal data is cleared and set to default values,
USB driver is initialized if has not been initialized before.
Select which FPA to initialize, using the function F Set FPA index with desired parameter (0- all, 1-64 for individual FPA). After successful initialization, call F ConfigFileLoad to read settings from file, or configure settings manually using the function F Set Config Value By Name.
For backwards compatibility, F Initialization will call F OpenInstancesAndFPAs(*# *) if no instances are currently opened, and perform initialization on FPA 1. If F OpenInstancesAdFPAs was already invoked successfully then initialization is performed on the selected FPA index from the function F Set FPA index.
Default config file used to perform initialization is config.ini (Use F Use Config INI(FALSE) to disable automatic load of config.ini).
1.2. Syntax
INT_X F_Initialization( void );
1.3. Input
none.
Select FPA to perform operation on using F Set FPA index, index 1 to 64.Use index 0 to perform operation on all FPAs (if results differ, use F LastStatus to get individual results).
1.4. Output
INT X : result of operation
FALSE (0) : failed
TRUE (1) : succeeded
4 : Programming adapter not detected
FPA UNMATCHED RESULTS (-1 or 0xFFFFFFFF) : Result of operation inconsistent across all selected FPAs, refer to F LastStatus
â¢
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range
â¢
2. F Use Config INI
2.1. General Description
Configure F Initialization to use (default) or skip config.ini file. When skipping config.ini it is necessary to use ConfigFileLoad or F Set Config Value By Name functions to configure the adapter.
2.2. Syntax
INT_X F_Use_Config_INI(BYTE use);
2.3. Input
BYTE use : 1 to use config.ini, 0 to skip
Select FPA to perform operation on using F Set FPA index, index 1 to 64.Use index 0 to perform operation on all FPAs (if results differ, use F LastStatus to get individual results).
2.4. Output
INT X : result of operation
FALSE (0) : failed
TRUE (1) : succeeded
FPA UNMATCHED RESULTS (-1 or 0xFFFFFFFF) : Result of operation inconsistent across all selected FPAs, refer to F LastStatus
â¢
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range
â¢
3. F Get Config Name List
3.1. General Description
Iterate over configuration parameter names, starting from index 0. Increase index until return is null character. Will return a pointer to a character array with name of parameter or null character once index is too high.
Requires the target FPA to be opened using F OpenInstancesAndFPAs and initialized using F Initialization.
3.2. Syntax
char * F_Get_Config_Name_List( INT_X index );
3.3. Input
INT X : configuration parameter index, starting from zero. Increment until return value is null character.
Select FPA to perform operation on using F Set FPA index, index 1 to 64.
3.4. Output
char * : configuration parameter name
a valid character array pointer containing name of configuration parameter (do not free after use)
â¢
null character : end of parameter list
ââ : invalid fpa index, cannot be zero
4. F Get Config Value By Name
4.1. General Description
Access the current FPAâs configuration. Use F Get Config Name List to get configuration param- eter names, then use them as input to this function. Select input type to validate name, and get current, minimum, maximum, and default values.
Because normal return values from this function can be any value, from 0 to 0xFFFFFFFF, it is important to pick a correct fpa index (use F Check FPA index to validate) and validate the configuration parameter name first (using CONFSEL VALIDATE), before retrieving the current, minimum, maximum or default values. Unless all FPAs are to be configured identically, avoid using FPA index 0 to prevent confusion in results (when results donât match using FPA index 0 (all FPAs) the result is simply FPA UNMATCHED RESULTS (-1)).
Requires the target FPA to be opened using F OpenInstancesAndFPAs and initialized using F Initialization.
4.2. Syntax
unsigned int F_Get_Config_Value_By_Name(char *name, INT_X type);
4.3. Input
char * name : parameter name INT X type : select action
CONFSEL VALIDATE (0) : returns TRUE if name was found in configuration list
CONFSEL VALUE (1) : returns current value of configuration parameter
CONFSEL MIN (2) : returns minimum value that this configuration parameter can have
CONFSEL MAX (3) : returns maximum value that this configuration parameter can have
CONFSEL DEFAULT (4) : returns default value for this configuration parameter if not set by user/file
â¢
Select FPA to perform operation on using F Set FPA index, index 1 to 64.Use index 0 to perform operation on all FPAs (if results differ, use F LastStatus to get individual results).
4.4. Output
unsigned int : depends on input
FALSE (0) : failed name validation (CONFSEL VALIDATE)
TRUE (1) : successful name validation (CONFSEL VALIDATE)
any : actual parameter value, minimum and maximum bounds, and default value if not set by user/file (CONFSEL VALUE, CONFSEL MIN, CONFSEL MAX, CONFSEL DEFAULT)
â¢
-1 or 0xFFFFFFFF : name not found (avoid this by using CONFSEL VALIDATE first)
FPA UNMATCHED RESULTS (-1 or 0xFFFFFFFF) : Result of operation inconsistent across all selected FPAs, refer to F LastStatus(avoid this by not using FPA index 0)
â¢
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range(avoid this by using F Check FPA index first)
â¢
5. F Set Config Value By Name
5.1. General Description
Set the current FPAâs configuration. Use F Get Config Name List to get configuration param- eter names, then use them as input to this function. New value for configuration parameter will be trimmed by minimum and maximum values allowed for this parameter. If not initial- ized, this parameter will have a default value. Double check parameters after configuration using F Get Config Value By Name.
Requires the target FPA to be opened using F OpenInstancesAndFPAs and initialized using F Initialization.
5.2. Syntax
INT_X F_Set_Config_Value_By_Name(char *name, unsigned int newValue);
5.3. Input
char * name : parameter name
unsigned int newValue : assign new configuration parameter value (will be trimmed by min/max if necessary)
Select FPA to perform operation on using F Set FPA index, index 1 to 64.Use index 0 to perform operation on all FPAs (if results differ, use F LastStatus to get individual results).
5.4. Output
INT X : result of operation
FALSE (0) : parameter name not found
TRUE (1) : name found and parameter value changed
FPA UNMATCHED RESULTS (-1 or 0xFFFFFFFF) : Result of operation inconsistent across all selected FPAs, refer to F LastStatus
â¢
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range
â¢
6. F Get Device Info
6.1. General Description
Get information about selected microcontroller.
6.2. Syntax
INT_X F_Get_Device_Info( INT_X index );
6.3. Input
INT X : select type of information to receive
DEVICE NAME (0) : get character 0, increase index up to 19 to get last character
DEVICE VENDOR INDEX (30) : Vendor Index (superset of all supported MCUs, i.e. com- pany name)
â¢
DEVICE FAMILY INDEX (20) : Family Index (subset of MCU vendor, index 30)
DEVICE GROUP INDEX (21) : Group Index (subset of MCU family, index 20)
DEVICE NAME INDEX (22) : Name Index (subset of MCU group, index 21)
DEVICE GROUP (23) : Obsolete
DEVICE FLASH START ADDR (24) : Flash Start Address, i.e. 0x00000
DEVICE FLASH END ADDR (25) : Flash End Address, i.e. 0x1FFFF
DEVICE OTP START ADDR (26) : OTP Start Address, i.e. 0x400FE1E0
DEVICE OTP END ADDR (27) : OTP End Address, i.e. 0x400FE1EF
DEVICE RAM START ADDR (28) : RAM Start Address, i.e. 0x20000000
DEVICE RAM END ADDR (29) : RAM Start Address, i.e. 0x20010000 Select FPA to perform operation on using F Set FPA index, index 1 to 64.
6.4. Output
INT X : value dependent on input parameter
any : based on input parameter
-1 (0xFFFFFFFF) : invalid input parameter
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range
â¢
7. F Set MCU Name
7.1. General Description
Set target microcontroller name. A list of acceptable names can be obtained using the functions F Set MCU Family Group and F Get MCU Name list.
7.2. Syntax
INT_X F_Set_MCU_Name( char *MCU_name );
7.3. Input
char * : Exact name of target microcontroller.
Select FPA to perform operation on using F Set FPA index, index 1 to 64.Use index 0 to perform operation on all FPAs (if results differ, use F LastStatus to get individual results).
7.4. Output
INT X : microcontroller index if successful
microcontroller index if input name was found and set, index is greater than or equal to zero (0)
â¢
-1 (0xFFFFFFFF) : name not found (avoid by getting list of proper names using F Get MCU Name list)
â¢
FPA UNMATCHED RESULTS (-1 or 0xFFFFFFFF) : Result of operation inconsistent across all selected FPAs, refer to F LastStatus
â¢
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range
â¢
8. F Get MCU Name list
8.1. General Description
Obtain a list of supported vendors, families, groups, and MCUs for the specified FPA. Use this function in conjunction with F Set MCU Family Group to get all supported MCU names. First obtain the names of supported vendors, then select one vendor. Then, for the selected vendor obtain the names of supported families, then select one family, etc.
The MCU names obtained from this function are the exact names used to configure the FPA using the function F Set MCU Name for the target device you want to program.
8.2. Syntax
char * F_Get_MCU_Name_list( INT_X type, INT_X index );
8.3. Input
INT X type : specify which list to get names from
MCU VENDOR LIST (0) : get name of vendors enabled on this FPA
MCU FAMILY LIST (1) : get name of MCU families supported from the selected vendor
MCU GROUP LIST (2) : get name of MCU groups supported from the selected MCU family
MCU NAME LIST (3) : get name of MCU supported from the selected MCU group INT X index : list index starting from zero, increment until returned string is null character.
Select FPA to perform operation on using F Set FPA index, index 1 to 64.
8.4. Output
char * : Name of vendor, family, group, or MCU for the given index.
valid name : if correct parameters provided
ââ : incorrect FPA index provided (avoid using F Check FPA index)
8.5. Example
Refer to F Set MCU Family Group.
9. F Set MCU Family Group
9.1. General Description
Select vendor, family, group and MCU index. Use this function in conjunction with F Get MCU Name list to get all supported MCU names. First obtain the names of supported vendors, then select one vendor. Then, for the selected vendor obtain the names of supported families, then select one family, etc.
Use MCU names to configure the FPA using the function F Set MCU Name. Use this function only to obtain the list of supported MCU names, not to configure the FPA. When NEW MCUs are supported then these indices will change.
9.2. Syntax
INT_X F_Set_MCU_Family_Group( INT_X type, INT_X index );
9.3. Input
INT X type : specify which list to set index for
MCU VENDOR LIST (0) : set vendor index on this FPA
MCU FAMILY LIST (1) : set family index from the selected vendor
MCU GROUP LIST (2) : set group index from selected MCU family
MCU NAME LIST (3) : set MCU index from selected MCU group (use actual INT X index : set list index
Select FPA to perform operation on using F Set FPA index, index 1 to 64.Use index 0 to perform operation on all FPAs (if results differ, use F LastStatus to get individual results).
9.4. Output
INT X : result of operation
FALSE (0) : index parameter out of range
TRUE (1) : index parameter set correctly
FPA UNMATCHED RESULTS (-1 or 0xFFFFFFFF) : Result of operation inconsistent across all selected FPAs, refer to F LastStatus
â¢
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range
â¢
9.5. Example
//C++ and C# are available in the installation package
//that implement this code
//Example from demo included in installation package
//Select one FPA index to perform this sequence on.
//If all FPA are the same then iterating over other FPA indices is not necessary.
//Iterate over supported vendors, then select vendor zero in this case
//Pull-down menu in demo allows user to change selected vendor index void ProgDemoDlg::Init_MCU_Vendor_ComboBox( void )
{
int k;
char *name;
SelMCU_Vendor->ResetContent();//Reset list of vendors k = 0;
Vendor_list_size = 0; do
{
//----------------------------------------------------
name = F_Get_MCU_Name_list( MCU_VENDOR_LIST, k );//get name of vendor at index k if( strlen( name ) == 0 ) break; //reached end of list of vendors
//----------------------------------------------------
if(SelMCU_Vendor)
{
//----------------------------------------------------
SelMCU_Vendor->AddString( name ); //add newly acquired vendor name to GUI list
//----------------------------------------------------
Vendor_list_size++;
}
k++;
}while(1);
//Select vendor zero in demo GUI (will not affect DLL yet) SelMCU_Vendor->SetCurSel(0);
//Select chosen vendor and read supported MCU families OnCbnSelchangeMcuVendor();
}
//Initialize list of supported families for selected vendor void ProgDemoDlg::OnCbnSelchangeMcuVendor( void )
{
Vendor_list_index = SelMCU_Vendor->GetCurSel();
//----------------------------------------------------
//Set vendor to selected index (during initialization this is usually zero) F_Set_MCU_Family_Group( MCU_VENDOR_LIST, Vendor_list_index );
//----------------------------------------------------
Init_MCU_Family_ComboBox();
}
//Iterate over supported families for selected vendor, then select family zero in this case
//Pull-down menu in demo allows user to change selected family index void ProgDemoDlg::Init_MCU_Family_ComboBox( void )
{
int k;
char *name;
SelMCU_Family->ResetContent(); k = 0;
Family_list_size = 0; do
{
//----------------------------------------------------
name = F_Get_MCU_Name_list( MCU_FAMILY_LIST, k ); //get name of family at index k if( strlen( name ) == 0 ) break; //reached end of list of families
//----------------------------------------------------
if(SelMCU_Family)
{
//----------------------------------------------------
SelMCU_Family->AddString( name ); //add newly acquired family name to GUI list
//----------------------------------------------------
Family_list_size++;
}
k++;
}while(1);
//Select family zero in demo GUI (will not affect DLL yet) SelMCU_Family->SetCurSel(0);
//Select chosen family and read supported MCU groups OnCbnSelchangeMcuFamily();
}
//Initialize list of supported groups for selected family void ProgDemoDlg::OnCbnSelchangeMcuFamily( void )
{
Family_list_index = SelMCU_Family->GetCurSel();
//----------------------------------------------------
//Set family to selected index (during initialization this is usually zero) F_Set_MCU_Family_Group( MCU_FAMILY_LIST, Family_list_index );
//----------------------------------------------------
Init_MCU_Group_ComboBox();
}
//Iterate over supported groups for selected family, then select group zero in this case
//Pull-down menu in demo allows user to change selected group index void ProgDemoDlg::Init_MCU_Group_ComboBox( void )
{
int k;
char *name;
SelMCU_Group->ResetContent(); MCU_Group_list_size = 0;
k = 0;
do
{
//----------------------------------------------------
name = F_Get_MCU_Name_list( MCU_GROUP_LIST, k ); //get name of group at index k if( strlen( name ) == 0 ) break; //reached end of list of groups
//----------------------------------------------------
if(SelMCU_Group)
{
//----------------------------------------------------
SelMCU_Group->AddString( name ); //add newly acquired group name to GUI list
//----------------------------------------------------
MCU_Group_list_size++;
}
k++;
}while(1);
//Select group zero in demo GUI (will not affect DLL yet) SelMCU_Group->SetCurSel(0);
//Select chosen group and read supported MCUs OnCbnSelchangeMcuGroup();
}
//Initialize list of supported MCUs for selected group void ProgDemoDlg::OnCbnSelchangeMcuGroup( void )
{
MCU_Group_list_index = SelMCU_Group->GetCurSel();
//----------------------------------------------------
//Set group to selected index (during initialization this is usually zero) F_Set_MCU_Family_Group( MCU_GROUP_LIST, MCU_Group_list_index );
//----------------------------------------------------
Init_MCU_List_ComboBox();
}
//Iterate over supported MCUs for selected group, then select MCU zero in this case
//Pull-down menu in demo allows user to change selected MCU index void ProgDemoDlg::Init_MCU_List_ComboBox( void )
{
int k;
char *name;
SelMCU_List->ResetContent(); MCU_Name_list_size = 0;
k = 0;
do
{
//----------------------------------------------------
name = F_Get_MCU_Name_list( MCU_NAME_LIST, k ); //get name of MCU at index k if( strlen( name ) == 0 ) break; //reached end of list of MCUs
//----------------------------------------------------
if(SelMCU_List)
{
//----------------------------------------------------
SelMCU_List->AddString( name ); //add newly acquired MCU name to GUI list
//----------------------------------------------------
MCU_Name_list_size++;
}
k++;
}while(1);
//Select MCU zero in demo GUI (will not affect DLL yet) SelMCU_List->SetCurSel(0);
//At this point all the MCU names for selected vendor, family, and group have been read.
//Iterate over all vendors, families, groups, and MCU lists to obtain names of all
//supported MCUs. Use the actual MCU names to call function F_Set_MCU_name and configure
//the FPA.
//NOTE: DO NOT RELY ON MCU INDEX TO CONFIGURE ADAPTER, USE ACTUAL MCU NAMES.
//Although calling F_Set_MCU_Family_Group( MCU_NAME_LIST, MCU_index ) will work at this
//point to select the correct MCU the input MCU_index is only referring to the desired
//MCU if vendor, family, and group index are also set correctly. An MCU_index of 5 will
//be two different MCUs depending on the aforementioned parameters. Most importantly,
//when NEW MCUs are added to the list of supported MCUs, these indices will no longer
//be referring to the same MCUs.
//For this reason, it is preferable to use actual MCU names to configure the FPA,
//because it will be more reliable.
}
10. F ReportMessage, F Report Message
10.1. General Description
Get the last report message from the programmer. When any of the DLL functions are called, an output message is usually created. The GUI uses these messages to print to the dialog box. The user application can use these messages to populate its own dialog box. The last report message can be read by user application using these functions.
When these functions are called, then a report message of up to RE- PORT MESSAGE MAX SIZE characters is copied to the character array passed as input parameter, or in the case of the latter function, a pointer to a statically allocated character array is returned with the output message text.
Calling F ReportMessage clears the message buffer. If F ReportMessage is not called, then the report message will collect all reported information up to REPORT MESSAGE MAX SIZE most recent characters.
10.2. Syntax
void F_ReportMessage( char * text ); char* F_Report_Message( void );
10.3. Input
char * text : F ReportMessage, allocated text buffer of up to REPORT MESSAGE MAX SIZE (2000) characters.
Select FPA to perform operation on using F Set FPA index, index 1 to 64.
10.4. Output
char * : F Report Message, pointer to statically allocated character array containing output mes- sage text
11. F GetReportMessageChar
11.1. General Description
Get one character from the report message buffer.
11.2. Syntax
char F_GetReportMessageChar( INT_X index );
11.3. Input
INT X index : character index, starting from 0 to REPORT MESSAGE MAX SIZE - 1. Select FPA to perform operation on using F Set FPA index, index 1 to 64.
11.4. Output
char : character from report message buffer.
12. F DLLTypeVer
12.1. General Description
Get information about DLL software type and version. This function returns integer number with DLL ID and software revision version and copies a text message to the report message buffer about DLL ID and software revision. Text content can read using F ReportMessage, F Report Message, or F GetReportMessageChar functions.
12.2. Syntax
INT_X F_DLLTypeVer( void );
12.3. Input
none.
Select FPA to perform operation on using F Set FPA index, index 1 to 64.
12.4. Output
INT X : (DLL ID) â (0x0FFF & Version)
DLL ID = 0x1000, FlashPro430 - Parallel Port
DLL ID = 0x2000, FlashPro430 - USB
DLL ID = 0x3000, GangPro430 - USB
DLL ID = 0x4000, FlashPro-CC - USB
DLL ID = 0x5000, GangPro-CC - USB
DLL ID = 0xA000, FlashPro2000 - USB
DLL ID = 0xB000, GangPro2000 - USB
DLL ID = 0xE000, FlashPro-ARM - USB
DLL ID = 0xF000, GangPro-ARM - USB
Version = 0x0xyz, version x.yz (i.e. 0x0190 = v 1.90)
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range
â¢
13. F ConfigFileLoad
13.1. General Description
Modify programmerâs configuration according to data taken from specified configuration file. This setup will override previous values and leave omitted parameters untouched. When loaded for the first time, unspecified configuration parameters take on default values as given by F Get Config Value By Name. When calling this function multiple times with different config- uration files, make sure to specify all relevant configuration parameters.
A configuration file can be created using the FlashPro GUI software, or use the functions F Get Config Name List, F Get Config Value By Name to extract a list of configuration names and values. The F Set Config Value By Name function can be used to set configuration parameters instead of F ConfigFileLoad.
Requires the target FPA to be opened using F OpenInstancesAndFPAs and initialized using F Initialization.
13.2. Syntax
INT_X F_ConfigFileLoad( char * filename );
13.3. Input
char * filename : path to configuration file including filename and extension
Select FPA to perform operation on using F Set FPA index, index 1 to 64.Use index 0 to perform operation on all FPAs (if results differ, use F LastStatus to get individual results).
13.4. Output
INT X : result of operation
FALSE (0) : failed
TRUE (1) : succeeded
STATUS OPEN FILE ERROR (535) : could not open file
STATUS CORRUPT CONFIG ERROR (554) : malformed configuration file (missing header, etc.)
â¢
FPA UNMATCHED RESULTS (-1 or 0xFFFFFFFF) : Result of operation inconsistent across all selected FPAs, refer to F LastStatus
â¢
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range
â¢
14. F Power Target
14.1. General Description
Enable power from FPA to target device. For this function to have its desired effect, configuration settings PowerFromFpaEn must be set to 1. If PowerFromFpaEn is set to 0, then power from FPA is always off regardless of this functionâs input parameter.
14.2. Syntax
INT X F Power Target( INT X OnOff );
14.3. Input
INT X : power setting
FALSE (0) : power off
TRUE (1) : power on
Select FPA to perform operation on using F Set FPA index, index 1 to 64.Use index 0 to perform operation on all FPAs (if results differ, use F LastStatus to get individual results).
14.4. Output
INT X : result of operation
FALSE (0) : failed
TRUE (1) : succeeded
FPA UNMATCHED RESULTS (-1 or 0xFFFFFFFF) : Result of operation inconsistent across all selected FPAs, refer to F LastStatus
â¢
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range
â¢
15. F Reset Target
15.1. General Description
Generate short reset pulse on target deviceâs reset line. The length of the reset pulse can be selected using configuration options. The ResetTimeIndex is used to select pre-set times, or for custom setup select the last index and specify ResetPulseTime, and ResetIdleTime.
15.2. Syntax
INT_X F_Reset_Target( void );
15.3. Input
none.
Select FPA to perform operation on using F Set FPA index, index 1 to 64.Use index 0 to perform operation on all FPAs (if results differ, use F LastStatus to get individual results).
15.4. Output
INT X : result of operation
FALSE (0) : failed
TRUE (1) : succeeded
FPA UNMATCHED RESULTS (-1 or 0xFFFFFFFF) : Result of operation inconsistent across all selected FPAs, refer to F LastStatus
â¢
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range
â¢
16. F Get Targets Vcc
16.1. General Description
Get Vcc in millivolts as read from target device.
16.2. Syntax
INT_X F_Get_Targets_Vcc( void )
16.3. Input
none.
Select FPA to perform operation on using F Set FPA index, index 1 to 64.Use index 0 to perform operation on all FPAs (if results differ, use F LastStatus to get individual results).
16.4. Output
INT X : returns target voltage in millivolts
value of zero or greater : voltage in millivolts
FPA UNMATCHED RESULTS (-1 or 0xFFFFFFFF) : Result of operation inconsistent across all selected FPAs, refer to F LastStatus
â¢
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range
â¢
17. F Set fpa io state
17.1. General Description
Set state of the Reset, Vcc and JTAG lines after programming is finished.
17.2. Syntax
INT_X F_Set_fpa_io_state( BYTE jtag, BYTE reset, BYTE VccOn )
17.3. Input
BYTE jtag : set JTAG lines (TMS, TCK, TDI)
DEFAULT JTAG 3ST (0) : JTAG lines set to tri-state
DEFAULT JTAG HI (1) : JTAG lines set to Vcc
DEFAULT JTAG LO (2) : JTAG lines set to GND BYTE reset : set reset line
0 : reset line set to GND
1 : reset line set to Vcc
BYTE VccOn : set Vcc line from adapter
0 : set to tri-state
1 : set to configured Vcc (configuration parameter VccFromFPAin mV)
Select FPA to perform operation on using F Set FPA index, index 1 to 64.Use index 0 to perform operation on all FPAs (if results differ, use F LastStatus to get individual results).
17.4. Output
INT X : result of operation
FALSE (0) : failed
TRUE (1) : succeeded
FPA UNMATCHED RESULTS (-1 or 0xFFFFFFFF) : Result of operation inconsistent across all selected FPAs, refer to F LastStatus
â¢
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range
â¢
18. F Get Sector Size
18.1. General Description
Will return the segment/sector size for memory region that contains given address. This func- tion will access the FPAâs meta-data for the target device specified in configuration options. No communication with target device actually takes place.
18.2. Syntax
INT_X F_Get_Sector_Size( INT_X address );
18.3. Input
INT X address : address contained by segment/sector
Select FPA to perform operation on using F Set FPA index, index 1 to 64.Use index 0 to perform operation on all FPAs (if results differ, use F LastStatus to get individual results).
18.4. Output
INT X : result of operation
FALSE (0) : address out of range
positive number : actual sector size
FPA UNMATCHED RESULTS (-1 or 0xFFFFFFFF) : Result of operation inconsistent across all selected FPAs, refer to F LastStatus(avoid this by not using FPA index 0)
â¢
FPA INVALID NO (-2 or 0xFFFFFFFE) : FPA not opened with F OpenInstancesAndFPAs or index out of range(avoid this by using F Check FPA index first)
â¢