Tracker one compile error

Hi
I have used the following code with Particle Electron Asset Tracker before. But when compiling for Tracker One i get the following error. When I try with firmware version 3.0 or below, code compiles and flashes, but the event doesn’t get triggered.

device firmware 3.2.0

Have you tried searching the forum for this issue?
When you experience an error chances are that someone before you did so too :wink:

3 Likes

Thanks for that. I see that it is the exact same error as I got. But I am not clear of the solution. Do I have to edit the cpp file to return true or is there any other thing I have to do?

Regards

Either you alter a local copy of the library or you go with Rick’s suggestion in the post immediately following mine - which was also the solution for that thread :wink:

Neither library can be used on the Tracker One. You should instead start by using the Tracker Edge firmware, which includes all of the libraries you need.

Both the Electron AssetTracker and AssetTrackerRK libraries assume the GNSS is connected by serial, and that’s not the case for the Tracker SoM/Tracker One. The GNSS is connected to the SPI bus, and also requires setting other GPIO to the correct state for it to boot.

Hi
I will use the AssetTrackerrk thanks.

But now I can’t do a simple publish :frowning: :frowning:

Please see the below images. The publish works during setup and for about two loops. But then it doesn’t work. I cannot see anything wrong in the code as well.

Appreciate your help…


2

The code you pasted is not the same code that is in the event log, because the log shows the event data being “loop” not an incrementing counter.

Almost certainly the problem is in how you’re rate limiting. The code above looks correct, though the long variables should be declared unsigned long

Note how the two events with loop have the same timestamp - they did not go out 30 seconds apart. Also, you can send 4 events at a speed greater than one per second, but any after that will be throttled.

I’d guess there is a bug in your rate limiting code causing it to send on every loop, and because of that you’re continuously violating the rate limit, causing no events to go out after the initial 4.

Thanks @rickkas7

With the publishing, the issue was every time i flash using web IDE, it gets over written by the default firmware. I marked as development device and it is working.

Can you help me with the tracker-edge firmware?

I downloaded the zip, but don’t know how to flash it to the device. Is there a way I can do this via Web IDE itself? In firmware section in Particle console, it shows tracker-edge-17@3.2.0.bin and it flashes the v17 firmware when I add the device to the product but I don’t know if this is correct or not.

Appreciate your patience with me.

Regards

Hi @rickkas7

I am happy to say that I have flahed the Tracker One with the trcker-edge firmware.

Now I need to publish the coordinates periodically. With the attached code when the tracker is not moving, the callback function is called every one hour and when moving around every 10 minutes.

Where can I change this time durations?

tracker.cpp

in tracker_location.cpp

You’d want to change these settings via the tracker dashboard (not in code).

1 Like

@ScruffR Thanks! But still the callback function is called in long intervals while moving. I don’t mind long intervals while not moving. But need faster updates when on the move. Below are my settings. Any other advise is much appreciated!

(the Tracker belongs to one product. Doesn’t belong to a group and marked as for development)

image

Hi

I found these two and played around, but doesn’t seem to work as well.

#define TRACKER_LOCATION_INTERVAL_MIN_DEFAULT_SEC (60)

#define TRACKER_LOCATION_INTERVAL_MAX_DEFAULT_SEC (60)

Not sure what you’re saying here. Is it marked as dev device or not?
If it is it won’t obey to the fleet settings (IIRC).

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