using System; using System.Collections; using System.Text; using System.Threading; using System.Diagnostics; using GHIElectronics.TinyCLR.Devices.Storage; using GHIElectronics.TinyCLR.IO; using System.IO; using GHIElectronics.TinyCLR.Devices.I2c; using GHIElectronics.TinyCLR.Pins; namespace TinyCLRApplication1 { class Program { private const double MilliampsPerCount = 0.5; private const double VoltsPerCount = 0.025; static void Main() { Debug.WriteLine("Program Started"); byte[] LTC2946_ADIN_MSB_REG = { 0x28 }; byte[] LTC2946_CONTROLA_REGISTER = { 0x00 }; byte[] LTC2946_DELTA_SENSE_MSB_REG = { 0x14 }; byte[] LTC2946_VIN_MSB_REG = { 0x1E }; byte[] byteArray1X = new byte[1]; byte[] byteArray2X = new byte[2]; var settings = new I2cConnectionSettings(0xDE >> 1); //The slave's address. settings.BusSpeed = I2cBusSpeed.StandardMode; var controller = I2cController.FromName(UC2550.I2cBus.I2c2); var device = controller.GetDevice(settings); device.WriteRead(LTC2946_VIN_MSB_REG, byteArray2X); double voltage = double.NaN; voltage = VoltsPerCount * ((byteArray2X[0] << 4) | (byteArray2X[1] >> 4)); var sd = StorageController.FromName(@"GHIElectronics.TinyCLR.NativeApis.STM32F4.SdCardStorageController\0"); var drive = FileSystem.Mount(sd.Hdc); var file = new FileStream($@"{drive.Name}Test2.txt", FileMode.OpenOrCreate); var bytes = Encoding.UTF8.GetBytes(DateTime.UtcNow.ToString() + Environment.NewLine); file.Write(bytes, 0, bytes.Length); file.Flush(); var filesOnRoot = Directory.GetFiles(drive.Name); FileSystem.Flush(sd.Hdc); } } }