Ejemplo n.º 1
0
/**
 * Maps the specified key to the specified value in this table.
 * The key can not be NULL.
 * The value can be retrieved by calling the get method with a key that is equal to the original key.
 * @param keyName the key
 * @param value the value
 */
void SmartDashboard::PutData(std::string key, Sendable *data)
{
	if (data == NULL)
	{
		//TODO wpi_setWPIErrorWithContext(NullParameter, "value");
		return;
	}
    ITable* dataTable = m_table->GetSubTable(key);
    dataTable->PutString("~TYPE~", data->GetSmartDashboardType());
    data->InitTable(dataTable);
    m_tablesToData[dataTable] = data;
}
Ejemplo n.º 2
0
/**
 * Initialize all the LiveWindow elements the first time we enter LiveWindow mode.
 * By holding off creating the NetworkTable entries, it allows them to be redefined
 * before the first time in LiveWindow mode. This allows default sensor and actuator
 * values to be created that are replaced with the custom names from users calling
 * addActuator and addSensor.
 */
void LiveWindow::InitializeLiveWindowComponents()
{
	for (std::map<LiveWindowSendable *, LiveWindowComponent>::iterator it =
			m_components.begin(); it != m_components.end(); ++it)
	{
		LiveWindowSendable *component = it->first;
		LiveWindowComponent c = it->second;
		std::string subsystem = c.subsystem;
		std::string name = c.name;
		m_liveWindowTable->GetSubTable(subsystem)->PutString("~TYPE~",
				"LW Subsystem");
		ITable *table = m_liveWindowTable->GetSubTable(subsystem)->GetSubTable(
				name);
		table->PutString("~TYPE~", component->GetSmartDashboardType());
		table->PutString("Name", name);
		table->PutString("Subsystem", subsystem);
		component->InitTable(table);
		if (c.isSensor)
		{
			m_sensors.push_back(component);
		}
	}
}