//***************************************************************************************** //----------------------------------------------------------------------------------------- #endregion //***************************************************************************************** //***************************************************************************************** /// <summary> /// Initialise le bus de communication avec la carte de gestion de l'heure. /// </summary> //----------------------------------------------------------------------------------------- public static async Task <bool> Initialize() { //------------------------------------------------------------------------------------- ConnectionTick.Snapshot(); if (!Initializing && I2cCardDevice == null && !DevicePresenceException) { //--------------------------------------------------------------------------------- Initializing = true; //--------------------------------------------------------------------------------- //--------------------------------------------------------------------------------- try { //----------------------------------------------------------------------------- var QuerySyntaxString = I2cDevice.GetDeviceSelector("I2C1"); var DeviceIds = await DeviceInformation.FindAllAsync(QuerySyntaxString); I2cConnectionSettings ConnSettings = new I2cConnectionSettings(0x68); ConnSettings.BusSpeed = I2cBusSpeed.FastMode; ConnSettings.SharingMode = I2cSharingMode.Shared; I2cCardDevice = await I2cDevice.FromIdAsync(DeviceIds[0].Id, ConnSettings); ReadTime(); //----------------------------------------------------------------------------- } //--------------------------------------------------------------------------------- catch (FileNotFoundException) { I2cCardDevice = null; DevicePresenceException = true; } //--------------------------------------------------------------------------------- catch { } //--------------------------------------------------------------------------------- finally { Initializing = false; } //--------------------------------------------------------------------------------- } //------------------------------------------------------------------------------------- //------------------------------------------------------------------------------------- return(true); //------------------------------------------------------------------------------------- }