diff options
author | hauptmech <hauptmech@gmail.com> | 2015-01-19 16:50:52 +1300 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2015-01-28 10:20:19 +0100 |
commit | 5444972347606333dd61206011263e4a2e5d83e8 (patch) | |
tree | d309fda7ba918708f5dfbff285cb29bd5ee1d08e /src/systemcmds | |
parent | 4dd06c4c7368e14ae0c5119321095236f7d13fd4 (diff) | |
download | px4-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')
-rw-r--r-- | src/systemcmds/ver/ver.c | 14 |
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"); } |