public RTC_Controller(string I2Cbus, int SQW_pin_n,
                              IPinFunctionPolicy i2c_pin_policy)
        {
            i2c_pin_policy.SetPinAlternate();
            clock   = DS1307.CreateDevice(I2Cbus);
            SQW_pin = GpioController.GetDefault().OpenPin(SQW_pin_n);
            SQW_pin.SetDriveMode(GpioPinDriveMode.Input);

            Sync_clocks();
            Enable_SQW();
        }
 protected virtual void Dispose(bool disposing)
 {
     SQW_pin.Dispose();
 }