Now, I'm not exactly a bit wizard myself, but apparently due to a bit mask error in the enableInterrupts
-function in Sodaq_DS3231.cpp, the custom times newer trigger.
//Enable HH/MM/SS interrupt on /INTA pin. All interrupts works like single-shot counter
void Sodaq_DS3231::enableInterrupts(uint8_t hh24, uint8_t mm, uint8_t ss)
{
unsigned char ctReg=0;
ctReg |= 0b00011101;
writeRegister(DS3231_CONTROL_REG, ctReg); //CONTROL Register Address
writeRegister(DS3231_AL1SEC_REG, 0b00000000 | bin2bcd(ss) ); //Clr AM1
writeRegister(DS3231_AL1MIN_REG, 0b00000000 | bin2bcd(mm)); //Clr AM2
writeRegister(DS3231_AL1HOUR_REG, (0b00000000 | (bin2bcd(hh24) & 0b10111111))); //Clr AM3
writeRegister(DS3231_AL1WDAY_REG, 0b10000000 ); //set AM4
}
you don't set the trailing bits to 1 if I'm only setting seconds for example. This came around when I tried to call an interrupt every 10 seconds.
I know it's open source and that I could just fix it for you, but given your lack of a pulse in GH history and the number of other DS3231-libraries around, this issue is more of a warning sign for people who bother to check the page before trying to slap your lib on their duino.