AM1805 rtc - Error while trying the example sketch

I am trying to use the AM1805 rtc on the tracker eval board. I have seen some posts saying that i should not use the AB1805 library since it has those built in the board! I tried to run the minimal sketch in the example folder but I get the following error

Polling for available serial device…
Opening serial monitor for com port: “COM5”
Serial monitor opened successfully:
0000062000 [app.ab1805] INFO: setWDT -1
0000062051 [app.ab1805] ERROR: failed to write regAddr=1b stat=3

I don’t quite understand what I’m doing wrong here. I was wonder if someone could point me in the right direction!

Difficult to do without knowing what you do - maybe share some code?

It’s recommended that you do not use the AM1805 with Tracker Edge as the Tracker Edge firmware uses it for RTC, Wake, and Watchdog. You’d have to be careful to not conflict with any built-in functionality.

The reason that the AB1805_RK library examples don’t work with the Tracker SoM (or eval board or Tracker One) is that the AM1805 is connected to the secondary I2C bus.

Examples use:

AB1805 ab1805(Wire);

You need to change them to:

AB1805 ab1805(Wire1);

This is my code. Im trying to put the tracker to sleep and wake it up using interrupt and read the pulses and then go back to sleep

#include "Particle.h"
#define PulseInput D7
int Pulse;
volatile int counter;
SYSTEM_THREAD(ENABLED);
SYSTEM_MODE(MANUAL);
SerialLogHandler logHandler;
AB1805 rtc(Wire1);    // this gives me an error,  identifier "AB1805" is undefined
// setup() runs once, when the device is first turned on.
void setup() {
  // Put initialization like pinMode and begin functions here.
  pinMode(PulseInput, INPUT_PULLDOWN);
  Serial.begin(9600);
  while (!Serial){}
  waitFor(Serial.isConnected, 15000);
  delay(1000);
  attachInterrupt(PulseInput, Pulse_Interrupt, RISING);
}
// loop() runs over and over again, as quickly as it can execute.
void loop() {
  // The core of your code will likely live here.
  //ab1805.loop();
  interrupts();
  Pulse = digitalRead(PulseInput);
  //digitalWrite(FlowLED, HIGH);
  Serial.println(Pulse);
}
void Pulse_Interrupt(){
  ++counter;
  return;
}

I did but that is giving me an error

So i found out that i need the tracker.h header file from the tracker-edge file from github. but when i tried to add that to my current project folder im still not able to add it without getting an error.

What error(s) exactly?

So when i include the AB1805_RK library and when i run the code i get “NO RTC TIMER”, but if i dont include the library i get identifier “AB1805” undefined, and thats from the AB1805 rtc(Wire1) line. It on the code i posted above

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.