コード例 #1
0
        //*****************************************************************************************

        //-----------------------------------------------------------------------------------------
        #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);
            //-------------------------------------------------------------------------------------
        }