On Raspberry with WiringPi better hardware info is sent with NBIRTH

Fri, 03 Aug 2018 21:58:30 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 03 Aug 2018 21:58:30 +0200
changeset 563
ca2fafcf3294
parent 562
119129969d37
child 564
3fc61dd28656

On Raspberry with WiringPi better hardware info is sent with NBIRTH

thermferm/mqtt.c file | annotate | diff | comparison | revisions
--- a/thermferm/mqtt.c	Fri Aug 03 16:56:55 2018 +0200
+++ b/thermferm/mqtt.c	Fri Aug 03 21:58:30 2018 +0200
@@ -799,7 +799,18 @@
 	payload = xstrcat(payload, Config.uuid);
 	payload = xstrcat(payload, (char *)"\",");
 #ifdef HAVE_WIRINGPI_H
-	payload = xstrcat(payload, (char *)"\"properties\":{\"hardwaremake\":\"Raspberry\",\"hardwaremodel\":\"Unknown\"");
+	/*
+	 * Get the info from the WiringPi libary
+	 */
+	int	model, rev, mem, maker, warranty;
+	piBoardId (&model, &rev, &mem, &maker, &warranty);
+	payload = xstrcat(payload, (char *)"\"properties\":{\"hardwaremake\":\"Raspberry Pi ");
+	payload = xstrcat(payload, (char *)piMakerNames[maker]);
+	payload = xstrcat(payload, (char *)"\",\"hardwaremodel\":\"");
+	payload = xstrcat(payload, (char *)piModelNames[model]);
+	payload = xstrcat(payload, (char *)" rev ");
+	payload = xstrcat(payload, (char *)piRevisionNames[rev]);
+	payload = xstrcat(payload, (char *)"\"");
 #else
 	if (uname(&ubuf) == 0) {
 	    payload = xstrcat(payload, (char *)"\"properties\":{\"hardwaremake\":\"");

mercurial