An optional tower light kit is available for the ATECCGEN2 rack. The tower light can be controlled using the SetTowerLightAsync() method. Each tower light segment can be independently controlled using the TowerLight enum. TowerLightRed, TowerLightAmber, TowerLightGreen, TowerLightBlue, and TowerLightWhite control the LED segments and TowerLightBuzz controls the tower light buzzer. TowerLightAll provides the option to switch off all segments.

Controlling Tower Lights

IAteCoreSession ateCoreSession; 
try 
{ 
	// To create an object of IAteCoreSession. 
	ateCoreSession = await AteCoreSession.CreateAteCoreSessionAsync(hostname, password); 
 
	// Reset Tower Light before turn on any Tower Light 
	await ateCoreSession.SetTowerLightAsync(TowerLight.TowerLightAll, false); 
 
	// Examples of setting Tower Light based on conditions 
	if (failure conditions such as an emergency stop or machine fault)  
	{ 
		// Turned On Tower Light Red 
		await ateCoreSession.SetTowerLightAsync(TowerLight.TowerLightRed, true); 
	} 
	else if (warnings such as over-temperature or over-pressure conditions) 
	{ 
		// Turned On Tower Light Amber 
		await ateCoreSession.SetTowerLightAsync(TowerLight.TowerLightAmber, true); 
	} 
	else if (normal machine or process operation) 
	{ 
		// Turned On Tower Light Green 
		await ateCoreSession.SetTowerLightAsync(TowerLight.TowerLightGreen, true); 
	} 
	else if (external help request, scheduling or maintenance personnel assistance) 
	{ 
		// Turned On Tower Light Blue 
		await ateCoreSession.SetTowerLightAsync(TowerLight.TowerLightBlue, true); 
	} 
	else if (user-defined conditions, machine is running on a custom user-defined command set) 
	{ 
		// Turned On Tower Light White 
		await ateCoreSession.SetTowerLightAsync(TowerLight.TowerLightWhite, true); 
	} 
} 
catch(Exception ex) 
{ 
	Console.WriteLine(ex.Message); //Print the exception message. 
} 
finally 
{ 
	if (ateCoreSession != null) 
	{ 
		// To close the session. 
		ateCoreSession.Dispose(); 
	} 
}