aboutsummaryrefslogtreecommitdiff
path: root/src/systemcmds/ver
diff options
context:
space:
mode:
authorhauptmech <hauptmech@gmail.com>2015-01-19 16:50:52 +1300
committerLorenz Meier <lm@inf.ethz.ch>2015-01-28 10:20:19 +0100
commit5444972347606333dd61206011263e4a2e5d83e8 (patch)
treed309fda7ba918708f5dfbff285cb29bd5ee1d08e /src/systemcmds/ver
parent4dd06c4c7368e14ae0c5119321095236f7d13fd4 (diff)
downloadpx4-firmware-5444972347606333dd61206011263e4a2e5d83e8.tar.gz
px4-firmware-5444972347606333dd61206011263e4a2e5d83e8.tar.bz2
px4-firmware-5444972347606333dd61206011263e4a2e5d83e8.zip
Add call to access the mcu unique id. Expose via the 'ver' command.
This is prep for verifying calibration parameters against the hardware they were gathered on.
Diffstat (limited to 'src/systemcmds/ver')
-rw-r--r--src/systemcmds/ver/ver.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/systemcmds/ver/ver.c b/src/systemcmds/ver/ver.c
index 2ead3e632..087eb52e3 100644
--- a/src/systemcmds/ver/ver.c
+++ b/src/systemcmds/ver/ver.c
@@ -54,6 +54,7 @@ static const char sz_ver_bdate_str[] = "bdate";
static const char sz_ver_gcc_str[] = "gcc";
static const char sz_ver_all_str[] = "all";
static const char mcu_ver_str[] = "mcu";
+static const char mcu_uid_str[] = "uid";
static void usage(const char *reason)
{
@@ -61,7 +62,7 @@ static void usage(const char *reason)
printf("%s\n", reason);
}
- printf("usage: ver {hw|hwcmp|git|bdate|gcc|all|mcu}\n\n");
+ printf("usage: ver {hw|hwcmp|git|bdate|gcc|all|mcu|uid}\n\n");
}
__EXPORT int ver_main(int argc, char *argv[]);
@@ -141,6 +142,17 @@ int ver_main(int argc, char *argv[])
ret = 0;
}
+ if (show_all || !strncmp(argv[1], mcu_uid_str, sizeof(mcu_uid_str))) {
+ uint32_t uid[3];
+
+ mcu_unique_id(uid);
+
+ printf("UID: %X:%X:%X \n",uid[0],uid[1],uid[2]);
+
+ ret = 0;
+ }
+
+
if (ret == 1) {
errx(1, "unknown command.\n");
}