Here’s a revised version of your text for clarity and readability:
I have a T404M board and want to use Tracker Edge v19. I selected the Asset Tracker/Monitor One as the target platform in Particle Workbench and set the Device OS version to 6.1.1. The code compiles without any issues.
However, after the Tracker::instance().init() line, the program stops running (I tested this by adding logs before and after this line). What could be causing this issue? Are there additional configurations or steps needed?
And no any modification on Downloaded V19 Firmware from Particle
i Get Bellow log:
0000005953 [ModelGauge] INFO: read original OCV: 180, 219
0000005954 [ModelGauge] INFO: verify model access unlocked: success
0000006264 [ModelGauge] INFO: load model successfully
0000006586 [ModelGauge] INFO: model verify success
Can you tell me the best versions of DeviceOS and Edge-Tracker that work well together? Is DeviceOS 6.1.1 and Edge-Tracker 19 a good choice for the T404M Particle Module?
The model verify success occurs when the fuel gauge chip is checked, however that is probably not what is failing.
I'd add more debug statements in Tracker::init() to see where it's actually getting stuck. Also add some debugging statements to make sure it's not trying to access TrackerOne peripherals, which you probably don't have.
In Tracker.cpp, in the init() method you'll see the code to get the model and variant, and configure the device appropriately.
You probably won't want to try to reprogram the variant in the OTP area of the nRF52 MCU. but you could.
Instead, since you're customizing Tracker Edge anyway, just add your own code to handle configuring for your carrier board in init().
As a test, just add a default case before EdgePlatform::TrackerModel::eEVAL so that will be used for your base Tracker SoM and see if you get past the spot where it's getting stuck.
I tested Firmware V18 and V19 with DeviceOS 6.1.1, but both versions have issues and do not run correctly on the device. However, when I tested Firmware V18 with DeviceOS 3.3.0, it worked fine.
Could you please tell me the best combination of Firmware and DeviceOS versions for the T404M board? Additionally, can you provide a compiled version of this combination for testing with my board?
To use Tracker Edge v19 on 6.1.1 on a Tracker SoM (not a Tracker One or Tracker SoM eval board), you may need to create a custom configuration class. However, the easiest solution is to just add a default case in Tracker.cpp, line 589.
EdgePlatform::instance().init(_model, _variant);
switch (EdgePlatform::instance().getModel()) {
case EdgePlatform::TrackerModel::eTRACKER_ONE:
_platformConfig = new TrackerOneConfiguration();
_commonCfgData = _platformConfig->get_common_config_data();
break;
default: // <- Add this line
case EdgePlatform::TrackerModel::eEVAL:
_platformConfig = new TrackerEvalConfiguration();
_commonCfgData = _platformConfig->get_common_config_data();
break;
}
For a bare Tracker SoM, the model will not be one of the two cases listed here, which causes the configuration class to be uninitialized, which does not work. Adding the default case uses the Tracker SoM eval board configuration, which should work in most cases.