CYCLONE-User-Manual.pdf - 第75页

User Manual For Cyclone LC Programmers 75 8.2.4.3 Cyclone Connecting / Disconnecting Calls 8.2.4.3.1 connectT oCyclone uint32_t connectToCyclone(char *nameIpOrPortIdentifier) ; This function opens a session with a Cyclon…

100%1 / 149
User Manual For Cyclone LC Programmers 74
functions available in the library. This routine must be called before any of the other routines
can be called.
8.2.4.2.2 unloadLibrary
void unloadLibrary(void);
This function unloads the DLL loaded with loadLibrary( ). This call should be made before the
application starts to unload itself.
8.2.4.2.3 enumerateAllPorts
void enumerateAllPorts(void);
This function performs all necessary initialization in order to successfully communicate with a
Cyclone. The function is called once before the first call to “connectToCyclone”.
8.2.4.2.4 disconnectFromAllCyclones
void disconnectFromAllCyclones(void);
This function closes all open Cyclones (if any) and frees all dynamic memory used by the DLL. The
function is called before the user application is closed.
8.2.4.2.5 version
char *version(void);
This call returns a pointer to a null-terminated string that contains the version number of the DLL.
8.2.4.2.6 queryNumberOfAutodetectedCyclones
uint32_t *queryNumberOfAutodetectedCyclones(void);
This function returns the number of Cyclones connected locally on USB and on your local network.
8.2.4.2.7 queryInformationOfAutodetectedCyclone
char *queryInformationOfAutodetectedCyclone(int32_t autodetectIndex, int32_t
informationType);
@returnvalue True if the load was successful, false otherwise.
@returnvalue A pointer to a null-terminated string containing the version number of the DLL.
@returnvalue The number of Cyclones.
@parameter
autodetectIndex
Specifies the index of the detected Cyclone by the function
queryNumberOfAutodetectedCyclones()
User Manual For Cyclone LC Programmers 75
8.2.4.3 Cyclone Connecting / Disconnecting Calls
8.2.4.3.1 connectToCyclone
uint32_t connectToCyclone(char *nameIpOrPortIdentifier) ;
This function opens a session with a Cyclone and tests the connection. The handle returned by
this function is passed as a parameter to other functions provided by the DLL. If you connect to a
Cyclone that already has a handle, the same handle is returned. If there is a failure contacting the
Cyclone, the function returns a 0.
Note that the DLL does not support multiple Cyclones connected via the serial port. If you require
more than one Cyclone to use a serial port connection, PEmicro recommends using the RS232
communication protocols.
8.2.4.3.2 connectToMultipleCyclones
bool connectToMultipleCyclones(char *nameIpOrPortIdentifierArray,
multipleCycloneHandleArrayPtrType cycloneHandleArrayPointer, int32_t
*numberOfCycloneOpensAttempted);
This function returns a array of handles to opened Cyclones from a null-terminated String of
comma delimited identifiers.
@parameter
informationType
Specifies the property of the Cyclone to return. The possible values
are:
CycloneInformationation_IP_Address
CycloneInformation_Name
CycloneInformation_Generic_port_number
@returnvalue
A pointer to a null-terminated string containing the property value of
the specified Cyclone.
@parameter
nameIPOrPortIdentifier
A pointer to a null-terminated string which uniquely identifies the
Cyclone connected to the host PC.
If identifying by IP address, the string should be in the format of
xxx.xxx.xxx.xxx, where xxx = 0…255.
If identifying by name, the string should contain the name of the
Cyclone.
If identifying by port and the Cyclone is connected by USB, the
string should be USB# where # is 1…8. If the Cyclone is
connected by Ethernet, the string should be in the format of
xxx.xxx.xxx.xxx, where xxx = 0…255.
If the Cyclone is connected by Serial, the string should be
COM1.
@returnvalue
The handle to the opened Cyclone unit. A return value of 0
indicates a failure to connect to the specified Cyclone unit.
User Manual For Cyclone LC Programmers 76
8.2.4.3.3 setLocalMachineIpNumber
void setLocalMachineIpNumber(char* ipNumber);
If a PC has multiple network interface cards, this function sets the IP address of the network card
to use communicate with the Cyclones. This is called prior to calling any other functions.
8.2.4.4 Controlling Cyclone Programming
8.2.4.4.1 startImageExecution
bool startImageExecution(uint32_t cycloneHandle, uint32_t imageId);
@parameter nameIpOrPortIdentifierArray
A null terminated string containing one or more
Cyclone identifiers (name, IP address, or port
number) delimited by commas.
Example: USB1,209.1.10.2,Orion,COM1
If identifying by IP address, the string should be
in the format of xxx.xxx.xxx.xxx, where xxx =
0…255.
If identifying by port and the Cyclone is
connected by USB, the string should be USB#
where # is 1…8.
If the Cyclone is connected by Serial, the string
should be COM1.
@parameter
multipleCycloneHandleArrayPtrType
A pointer to an array of Cyclone handles. Each
element of the array corresponds to the position
of the identifier in the previous parameter. If the
function connected to the Cyclone, the value of
the array element would correspond to its
handle otherwise it will be 0.
@parameter
numberOfCycloneOpensAttempted
This value will be modified with the number of
Cyclones that the function attempted to open. It
is also the size of the
multipleCycloneHandleArrayPtrType structure.
@returnvalue
True if every Cyclone was identified and has a
valid handle.
False if there were any errors identifying or
connecting to any of the Cyclones.
@parameter ipNumber
A pointer to a null-terminated character string in the format
xxx.xxx.xxx.xxx, where xxx = 0…255, representing the IP address of
the network card.