Programmatically tell appart Boron 2G/3G and LTE-M models

boron
Tags: #<Tag:0x00007fe21b16d758>

#1

Hello,

We currently have PLATFORM_IDs such as PLATFORM_BORON, PLATFORM_XENON and PLATFORM_ARGON allowing us to differentiate between the different 3rd gen particle device. Is there a way I can differentiate between Boron 2G/3G devices and Boron LTE-M device (i.e. are there PLATFORM_BORON_2G3G and PLATFORM_BORON_LTEM equalivents)


#2

These are the defined platforms

Hence I’d say no, there is no platform ID for that.
I guess you’d have to detect the technology at runtime via a Cellular.command(), but I’d have to leave that to someone else.


#3

@ScruffR thanks!

I guess I’ll have to dig through the cryptic AT commands :expressionless:


#4

@slacker89 - I think the command you’re looking for is AT+CGMM\r\n - or you can just grab the command direct from cellular helper.

(eg.):

bool CellularHelperClass::isLTE() const {
	return getModel().startsWith("SARA-R4");
}

(SARA-R4 specifies an LTE device)

String CellularHelperClass::getModel() const {
CellularHelperStringResponse resp;

Cellular.command(responseCallback, (void *)&resp, DEFAULT_TIMEOUT, "AT+CGMM\r\n");

return resp.string;
}

#5

@marekparticle thanks! Let me give this a go on my side. I’ll reply when I have results.