CCAux  2.20.0.0
CCAux API reference
Functions
FirmwareUpgrade functions

Functions

EXTERN_C CCAUXDLL_API FIRMWAREUPGHANDLE CCAUXDLL_CALLING_CONV GetFirmwareUpgrade (void)
 
EXTERN_C CCAUXDLL_API void CCAUXDLL_CALLING_CONV FirmwareUpgrade_release (FIRMWAREUPGHANDLE)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startFpgaUpgrade (FIRMWAREUPGHANDLE, const char_t *filename, bool blocking)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startFpgaVerification (FIRMWAREUPGHANDLE, const char_t *filename, bool blocking)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startSSUpgrade (FIRMWAREUPGHANDLE, const char_t *filename, bool blocking)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startSSVerification (FIRMWAREUPGHANDLE, const char_t *filename, bool blocking)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startFrontUpgrade (FIRMWAREUPGHANDLE, const char_t *filename, bool blocking)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startFrontVerification (FIRMWAREUPGHANDLE, const char_t *filename, bool blocking)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startIOMCUUpgrade (FIRMWAREUPGHANDLE, const char_t *filename, bool blocking, uint8_t index)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startIOMCUVerification (FIRMWAREUPGHANDLE, const char_t *filename, bool blocking, uint8_t index)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startDMCUUpgrade (FIRMWAREUPGHANDLE, const char_t *filename, bool blocking, uint8_t index)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startDMCUVerification (FIRMWAREUPGHANDLE, const char_t *filename, bool blocking, uint8_t index)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_getUpgradeStatus (FIRMWAREUPGHANDLE, UpgradeStatus *status, bool blocking)
 
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_shutDown (FIRMWAREUPGHANDLE)
 

Detailed Description

Functions in the FirmwareUpgrade class

Function Documentation

◆ FirmwareUpgrade_getUpgradeStatus()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_getUpgradeStatus ( FIRMWAREUPGHANDLE  ,
UpgradeStatus status,
bool  blocking 
)

Gets the status of an upgrade operation. The upgrade status is common for all upgrade and verification methods.

Supported Platform(s): XL, XL5, XM, XM9, XS, XA, VC, VA, VS, VI2, V700, Yukon, V510, V710, V1000, V1200

Parameters
statusThe current status of the upgrade operation.
blockingWhether or not the function should wait until a new status event has been reported. If blocking is set to false, the function will return immediately with the current status.
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

◆ FirmwareUpgrade_release()

EXTERN_C CCAUXDLL_API void CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_release ( FIRMWAREUPGHANDLE  )

Delete the FirmwareUpgrade object.

Supported Platform(s): XL, XL5, XM, XM9, XS, XA, VC, VA, VS, VI2, V700, Yukon, V510, V710, V1000, V1200

Returns
-

Example Usage:

FirmwareUpgrade_release(pFirmwareUpgrade);
EXTERN_C CCAUXDLL_API void CCAUXDLL_CALLING_CONV FirmwareUpgrade_release(FIRMWAREUPGHANDLE)

◆ FirmwareUpgrade_shutDown()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_shutDown ( FIRMWAREUPGHANDLE  )

Shut down the operating system.

Supported Platform(s): XL, XL5, XM, XM9, XS, XA, VC, VA, VS, VI2, V700, Yukon, V510, V710, V1000, V1200

Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

◆ FirmwareUpgrade_startDMCUUpgrade()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_startDMCUUpgrade ( FIRMWAREUPGHANDLE  ,
const char_t filename,
bool  blocking,
uint8_t  index 
)

Start an upgrade of the display microprocessor. After a display upgrade, the system should be shut down. The Display will not work until a fresh startup has been performed.

Supported Platform(s): Yukon, V510, V710, V1000, V1200

Parameters
filenamePath and filename to the .hex file to program.
blockingWhether or not the function should wait until completion. If blocking is set to false, the function will return immediately. One must then call fpgaUpgradeStatus to get the status of the upgrade operation. If blocking is set to true, the function will return when the operation is complete. This might take a few minutes.
indexDevice can has more than one Display MCU. This is the index which device to upgrade
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

◆ FirmwareUpgrade_startDMCUVerification()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_startDMCUVerification ( FIRMWAREUPGHANDLE  ,
const char_t filename,
bool  blocking,
uint8_t  index 
)

Start a verification of the display microprocessor. Verifies the display microprocessor against the file to program. This could be useful if verification during programming fails.

Supported Platform(s): Yukon, V510, V710, V1000, V1200

Parameters
filenamePath and filename to the .hex file to verify against.
blockingWhether or not the function should wait until completion. If blocking is set to false, the function will return immediately. One must then call getUpgradeStatus to get the status of the operation. If blocking is set to true, the function will return when the operation is complete. This might take a few minutes.
indexDevice can has more than one Display MCU. This is the index which device to verify
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

◆ FirmwareUpgrade_startFpgaUpgrade()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_startFpgaUpgrade ( FIRMWAREUPGHANDLE  ,
const char_t filename,
bool  blocking 
)

Start an upgrade of the FPGA. After a FPGA upgrade, the system should be shut down. Full functionality of the system cannot be guaranteed until a fresh startup has been performed.

Supported Platform(s): XL, XM, XS, XA, VS

Parameters
filenamePath and filename to the .mcs file to program.
blockingWhether or not the function should wait until completion. If blocking is set to false, the function will return immediately. One must then call getUpgradeStatus to get the status of the upgrade operation. If blocking is set to true, the function will return when the operation is complete. This might take a few minutes.
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

cout << "Upgrading FPGA" << endl;
for (int i = 0; i < max_retries; i++)
{
// Reinitialize upgrade handle
FirmwareUpgrade_release(pFirmwareUpgrade);
pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
err = FirmwareUpgrade_startFpgaUpgrade(pFirmwareUpgrade, path.c_str(), true);
{
cout << "Upgrade Ok" << endl;
break;
}
{
// Reinitialize upgrade handle
FirmwareUpgrade_release(pFirmwareUpgrade);
pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
err = FirmwareUpgrade_startFpgaVerification(pFirmwareUpgrade, path.c_str(), true);
{
cout << "Upgrade Ok" << endl;
break;
}
}
else
{
cout << "Error " << err << " in function startFpgaUpgrade: " << GetErrorStringA(err) << std::endl;
}
}
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startFpgaVerification(FIRMWAREUPGHANDLE, const char_t *filename, bool blocking)
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startFpgaUpgrade(FIRMWAREUPGHANDLE, const char_t *filename, bool blocking)
EXTERN_C CCAUXDLL_API FIRMWAREUPGHANDLE CCAUXDLL_CALLING_CONV GetFirmwareUpgrade(void)
EXTERN_C CCAUXDLL_API char_t const *CCAUXDLL_CALLING_CONV GetErrorStringA(eErr errCode)
@ ERR_SUCCESS
Definition: CCAuxTypes.h:163
@ ERR_VERIFY_FAILED
Definition: CCAuxTypes.h:177

◆ FirmwareUpgrade_startFpgaVerification()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_startFpgaVerification ( FIRMWAREUPGHANDLE  ,
const char_t filename,
bool  blocking 
)

Start a verification of the FPGA. Verifies the FPGA against the file to program. This could be useful if verification during programming fails.

Supported Platform(s): XL, XM, XS, XA, VS

Parameters
filenamePath and filename to the .mcs file to verify against.
blockingWhether or not the function should wait until completion. If blocking is set to false, the function will return immediately. One must then call getUpgradeStatus to get the status of the operation. If blocking is set to true, the function will return when the operation is complete. This might take a few minutes.
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

cout << "Upgrading FPGA" << endl;
for (int i = 0; i < max_retries; i++)
{
// Reinitialize upgrade handle
FirmwareUpgrade_release(pFirmwareUpgrade);
pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
err = FirmwareUpgrade_startFpgaUpgrade(pFirmwareUpgrade, path.c_str(), true);
{
cout << "Upgrade Ok" << endl;
break;
}
{
// Reinitialize upgrade handle
FirmwareUpgrade_release(pFirmwareUpgrade);
pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
err = FirmwareUpgrade_startFpgaVerification(pFirmwareUpgrade, path.c_str(), true);
{
cout << "Upgrade Ok" << endl;
break;
}
}
else
{
cout << "Error " << err << " in function startFpgaUpgrade: " << GetErrorStringA(err) << std::endl;
}
}

◆ FirmwareUpgrade_startFrontUpgrade()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_startFrontUpgrade ( FIRMWAREUPGHANDLE  ,
const char_t filename,
bool  blocking 
)

Start an upgrade of the front microprocessor. After a front upgrade, the system should be shut down. The front will not work until a fresh startup has been performed.

Supported Platform(s): XL, XM, XS, XA

Parameters
filenamePath and filename to the .hex file to program.
blockingWhether or not the function should wait until completion. If blocking is set to false, the function will return immediately. One must then call fpgaUpgradeStatus to get the status of the upgrade operation. If blocking is set to true, the function will return when the operation is complete. This might take a few minutes.
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

cout << "Upgrading front" << endl;
for (int i = 0; i < max_retries; i++)
{
// Reinitialize upgrade handle
FirmwareUpgrade_release(pFirmwareUpgrade);
pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
err = FirmwareUpgrade_startFrontUpgrade(pFirmwareUpgrade, path.c_str(), true);
{
cout << "Upgrade Ok" << endl;
break;
}
{
// Reinitialize upgrade handle
FirmwareUpgrade_release(pFirmwareUpgrade);
pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
err = FirmwareUpgrade_startFrontVerification(pFirmwareUpgrade, path.c_str(), true);
{
cout << "Upgrade Ok" << endl;
break;
}
}
else
{
cout << "Error " << err << " in function startFrontUpgrade: " << GetErrorStringA(err) << std::endl;
}
}
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startFrontUpgrade(FIRMWAREUPGHANDLE, const char_t *filename, bool blocking)
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startFrontVerification(FIRMWAREUPGHANDLE, const char_t *filename, bool blocking)

◆ FirmwareUpgrade_startFrontVerification()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_startFrontVerification ( FIRMWAREUPGHANDLE  ,
const char_t filename,
bool  blocking 
)

Start a verification of the front microprocessor. Verifies the front microprocessor against the file to program. This could be useful if verification during programming fails.

Supported Platform(s): XL, XM, XS, XA

Parameters
filenamePath and filename to the .hex file to verify against.
blockingWhether or not the function should wait until completion. If blocking is set to false, the function will return immediately. One must then call getUpgradeStatus to get the status of the operation. If blocking is set to true, the function will return when the operation is complete. This might take a few minutes.
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

cout << "Upgrading front" << endl;
for (int i = 0; i < max_retries; i++)
{
// Reinitialize upgrade handle
FirmwareUpgrade_release(pFirmwareUpgrade);
pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
err = FirmwareUpgrade_startFrontUpgrade(pFirmwareUpgrade, path.c_str(), true);
{
cout << "Upgrade Ok" << endl;
break;
}
{
// Reinitialize upgrade handle
FirmwareUpgrade_release(pFirmwareUpgrade);
pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
err = FirmwareUpgrade_startFrontVerification(pFirmwareUpgrade, path.c_str(), true);
{
cout << "Upgrade Ok" << endl;
break;
}
}
else
{
cout << "Error " << err << " in function startFrontUpgrade: " << GetErrorStringA(err) << std::endl;
}
}

◆ FirmwareUpgrade_startIOMCUUpgrade()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_startIOMCUUpgrade ( FIRMWAREUPGHANDLE  ,
const char_t filename,
bool  blocking,
uint8_t  index 
)

Start an upgrade of the i/o microprocessor. After a display upgrade, the system should be shut down. The Display will not work until a fresh startup has been performed.

Supported Platform(s): Yukon, V510, V710

Parameters
filenamePath and filename to the .hex file to program.
blockingWhether or not the function should wait until completion. If blocking is set to false, the function will return immediately. One must then call fpgaUpgradeStatus to get the status of the upgrade operation. If blocking is set to true, the function will return when the operation is complete. This might take a few minutes.
indexDevice can has more than one I/O MCU. This is the index which device to upgrade
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

◆ FirmwareUpgrade_startIOMCUVerification()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_startIOMCUVerification ( FIRMWAREUPGHANDLE  ,
const char_t filename,
bool  blocking,
uint8_t  index 
)

Start a verification of the i/o microprocessor. Verifies the display microprocessor against the file to program. This could be useful if verification during programming fails.

Supported Platform(s): Yukon, V510, V710

Parameters
filenamePath and filename to the .hex file to verify against.
blockingWhether or not the function should wait until completion. If blocking is set to false, the function will return immediately. One must then call getUpgradeStatus to get the status of the operation. If blocking is set to true, the function will return when the operation is complete. This might take a few minutes.
indexDevice can has more than one I/O MCU. This is the index which device to verify
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

◆ FirmwareUpgrade_startSSUpgrade()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_startSSUpgrade ( FIRMWAREUPGHANDLE  ,
const char_t filename,
bool  blocking 
)

Start an upgrade of the System Supervisor microprocessor (SS). After an SS upgrade, the system must be shut down. The SS handles functions for shutting down of the computer. In order to shut down after an upgrade, shut down the OS and then toggle the power. The backlight will still be on after the OS has shut down.

Supported Platform(s): XL, XL5, XM, XM9, XS, XA, VC, VA, VS, VI2, V700, Yukon, V510, V710, V1000, V1200

Parameters
filenamePath and filename to the .hex file to program.
blockingWhether or not the function should wait until completion. If blocking is set to false, the function will return immediately. One must then call fpgaUpgradeStatus to get the status of the upgrade operation. If blocking is set to true, the function will return when the operation is complete. This might take a few minutes.
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

cout << "Upgrading SS" << endl;
for (int i = 0; i < max_retries; i++)
{
// Reinitialize upgrade handle
FirmwareUpgrade_release(pFirmwareUpgrade);
pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
err = FirmwareUpgrade_startSSUpgrade(pFirmwareUpgrade, path.c_str(), true);
{
cout << "Upgrade Ok" << endl;
break;
}
{
// Reinitialize upgrade handle
FirmwareUpgrade_release(pFirmwareUpgrade);
pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
err = FirmwareUpgrade_startSSVerification(pFirmwareUpgrade, path.c_str(), true);
{
cout << "Upgrade Ok" << endl;
break;
}
}
else
{
cout << "Error " << err << " in function startSSUpgrade: " << GetErrorStringA(err) << std::endl;
}
}
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startSSUpgrade(FIRMWAREUPGHANDLE, const char_t *filename, bool blocking)
EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV FirmwareUpgrade_startSSVerification(FIRMWAREUPGHANDLE, const char_t *filename, bool blocking)

◆ FirmwareUpgrade_startSSVerification()

EXTERN_C CCAUXDLL_API eErr CCAUXDLL_CALLING_CONV CrossControl::FirmwareUpgrade_startSSVerification ( FIRMWAREUPGHANDLE  ,
const char_t filename,
bool  blocking 
)

Start a verification of the System Supervisor microprocessor (SS). Verifies the SS against the file to program. This could be useful if verification during programming fails.

Supported Platform(s): XL, XL5, XM, XM9, XS, XA, VC, VA, VS, VI2, V700, Yukon, V510, V710, V1000, V1200

Parameters
filenamePath and filename to the .hex file to verify against.
blockingWhether or not the function should wait until completion. If blocking is set to false, the function will return immediately. One must then call getUpgradeStatus to get the status of the operation. If blocking is set to true, the function will return when the operation is complete. This might take a few minutes.
Returns
error status. 0 = ERR_SUCCESS, otherwise error code. See the enum eErr for details.

Example Usage:

cout << "Upgrading SS" << endl;
for (int i = 0; i < max_retries; i++)
{
// Reinitialize upgrade handle
FirmwareUpgrade_release(pFirmwareUpgrade);
pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
err = FirmwareUpgrade_startSSUpgrade(pFirmwareUpgrade, path.c_str(), true);
{
cout << "Upgrade Ok" << endl;
break;
}
{
// Reinitialize upgrade handle
FirmwareUpgrade_release(pFirmwareUpgrade);
pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
err = FirmwareUpgrade_startSSVerification(pFirmwareUpgrade, path.c_str(), true);
{
cout << "Upgrade Ok" << endl;
break;
}
}
else
{
cout << "Error " << err << " in function startSSUpgrade: " << GetErrorStringA(err) << std::endl;
}
}

◆ GetFirmwareUpgrade()

EXTERN_C CCAUXDLL_API FIRMWAREUPGHANDLE CCAUXDLL_CALLING_CONV CrossControl::GetFirmwareUpgrade ( void  )

Factory function that creates instances of the FirmwareUpgrade object.

Supported Platform(s): XL, XL5, XM, XM9, XS, XA, VC, VA, VS, VI2, V700, Yukon, V510, V710, V1000, V1200

Returns
FIRMWAREUPGHANDLE to an allocated FirmwareUpgrade object. The returned handle needs to be deallocated using the FirmwareUpgrade_release(FIRMWAREUPGHANDLE) method when it's no longer needed. Returns NULL if it fails to allocate memory.

Example Usage:

FIRMWAREUPGHANDLE pFirmwareUpgrade = GetFirmwareUpgrade();
assert(pFirmwareUpgrade != NULL);
void * FIRMWAREUPGHANDLE
Definition: FirmwareUpgrade.h:37