public void PublishVisualisationData(VisualisationData vd) { I2CSlaveData.SI2CVizData data; data.EnvironmentStatus = vd.EnvironmentStatus; data.GameState = (byte)vd.GameStateInt; data.InternalState = (byte)vd.InternalStateInt; data.PotentialScore = (ushort)vd.PotentialScore; data.Score = (ushort)vd.Score; data.TotalGameSecs = (ushort)vd.TotalGameSecs; data.RemainingSecs = (ushort)vd.RemainingSecs; data.RemainingQuestionSecs = (byte)vd.RemainingQuestionSecs; // Broadcast to all the devices on the bus and send them all the good news. var i2cDevice = I2cDevice.Create(new I2cConnectionSettings(busId: 1, deviceAddress: m_cBroadcastAddr)); var sm = new I2CSlaveDevice(i2cDevice); try { sm.SendVisualisationData(data); } catch { } sm.Dispose(); }
private void CheckBus() { SI2CVizData data; data.EnvironmentStatus = 0; data.GameState = 0; data.InternalState = 0; data.PotentialScore = 0; data.Score = 0; data.TotalGameSecs = 0; data.RemainingSecs = 0; data.RemainingQuestionSecs = 0; Console.WriteLine("======================================================================"); Console.WriteLine("I2C Bus report"); Console.WriteLine("--------------"); Console.WriteLine("Status Address Device"); Console.WriteLine("------ ------- ------"); foreach (I2CSlaveData slave in m_PotentialSlaves) { var i2cDevice = I2cDevice.Create(new I2cConnectionSettings(busId: 1, deviceAddress: slave.m_Address)); var sm = new I2CSlaveDevice(i2cDevice); try { sm.SendVisualisationData(data); slave.m_bOnline = true; Console.WriteLine("OK " + slave.m_Address.ToString() + " " + slave.m_Name); } catch { Console.WriteLine("NOT OK! " + slave.m_Address.ToString() + " " + slave.m_Name); } sm.Dispose(); } Console.WriteLine("======================================================================"); }