mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-18 06:33:33 +08:00
ver command ready including hwcmp which replaces hw_ver, removed hw_ver
updated all scripts to use new ver hwcmp command q
This commit is contained in:
@@ -1,73 +0,0 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* Copyright (c) 2014 PX4 Development Team. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name PX4 nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/**
|
||||
* @file hw_ver.c
|
||||
*
|
||||
* Show and test hardware version.
|
||||
*/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <version/version.h>
|
||||
|
||||
__EXPORT int hw_ver_main(int argc, char *argv[]);
|
||||
|
||||
int
|
||||
hw_ver_main(int argc, char *argv[])
|
||||
{
|
||||
if (argc >= 2) {
|
||||
if (!strcmp(argv[1], "show")) {
|
||||
printf(HW_ARCH "\n");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
if (!strcmp(argv[1], "compare")) {
|
||||
if (argc >= 3) {
|
||||
int ret = strcmp(HW_ARCH, argv[2]) != 0;
|
||||
if (ret == 0) {
|
||||
printf("hw_ver match: %s\n", HW_ARCH);
|
||||
}
|
||||
exit(ret);
|
||||
|
||||
} else {
|
||||
errx(1, "not enough arguments, try 'compare PX4FMU_1'");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
errx(1, "expected a command, try 'show' or 'compare'");
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
############################################################################
|
||||
#
|
||||
# Copyright (c) 2014 PX4 Development Team. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in
|
||||
# the documentation and/or other materials provided with the
|
||||
# distribution.
|
||||
# 3. Neither the name PX4 nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
#
|
||||
# Show and test hardware version
|
||||
#
|
||||
|
||||
MODULE_COMMAND = hw_ver
|
||||
SRCS = hw_ver.c
|
||||
|
||||
MODULE_STACKSIZE = 1024
|
||||
|
||||
MAXOPTIMIZATION = -Os
|
||||
+21
-43
@@ -34,28 +34,22 @@
|
||||
/**
|
||||
* @file ver.c
|
||||
*
|
||||
* Version command, unifies way of showing versions of HW, SW, Build, gcc
|
||||
* Version command, unifies way of showing versions of HW, SW, Build, GCC
|
||||
* In case you want to add new version just extend version_main function
|
||||
*
|
||||
* External use of the version functions is possible, include "vercmd.h"
|
||||
* and use functions from header with prefix ver_
|
||||
*
|
||||
* @author Vladimir Kulla <ufon@kullaonline.net>
|
||||
*/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <version/version.h>
|
||||
|
||||
#include "ver.h"
|
||||
#include <systemlib/err.h>
|
||||
|
||||
// string constants for version commands
|
||||
static const char sz_ver_hw_str[] = "hw";
|
||||
static const char sz_ver_hwcmp_str[]= "hwcmp";
|
||||
static const char sz_ver_git_str[] = "git";
|
||||
static const char sz_ver_date_str[] = "date";
|
||||
static const char sz_ver_bdate_str[] = "bdate";
|
||||
static const char sz_ver_gcc_str[] = "gcc";
|
||||
static const char sz_ver_all_str[] = "all";
|
||||
|
||||
@@ -65,10 +59,10 @@ static void usage(const char *reason)
|
||||
printf("%s\n", reason);
|
||||
}
|
||||
|
||||
printf("usage: version {hw|hwcmp|git|date|gcc|all}\n\n");
|
||||
printf("usage: ver {hw|hwcmp|git|bdate|gcc|all}\n\n");
|
||||
}
|
||||
|
||||
void ver_githash(int bShowPrefix)
|
||||
static void ver_githash(int bShowPrefix)
|
||||
{
|
||||
if (bShowPrefix == 1) {
|
||||
printf("FW git-hash: ");
|
||||
@@ -76,7 +70,7 @@ void ver_githash(int bShowPrefix)
|
||||
printf("%s\n", FW_GIT);
|
||||
}
|
||||
|
||||
void ver_hwarch(int bShowPrefix)
|
||||
static void ver_hwarch(int bShowPrefix)
|
||||
{
|
||||
if (bShowPrefix == 1) {
|
||||
printf("HW arch: ");
|
||||
@@ -84,37 +78,22 @@ void ver_hwarch(int bShowPrefix)
|
||||
printf("%s\n", HW_ARCH);
|
||||
}
|
||||
|
||||
void ver_date(int bShowPrefix)
|
||||
static void ver_bdate(int bShowPrefix)
|
||||
{
|
||||
if (bShowPrefix == 1) {
|
||||
printf("Build date: ");
|
||||
printf("Build datetime: ");
|
||||
}
|
||||
printf("%s %s\n", __DATE__, __TIME__);
|
||||
}
|
||||
|
||||
void ver_gcclong(int bShowPrefix)
|
||||
static void ver_gcclong(int bShowPrefix)
|
||||
{
|
||||
if (bShowPrefix == 1) {
|
||||
printf("GCC used (long): ");
|
||||
//printf("Built with GCC : %d.%d.%d\n", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__);
|
||||
printf("GCC toolchain: ");
|
||||
}
|
||||
printf("%s\n", __VERSION__);
|
||||
}
|
||||
|
||||
void ver_gccshort(int bShowPrefix)
|
||||
{
|
||||
if (bShowPrefix == 1) {
|
||||
printf("GCC used (short): ");
|
||||
|
||||
}
|
||||
printf("%d.%d.%d\n", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__);
|
||||
}
|
||||
|
||||
int ver_gccnum()
|
||||
{
|
||||
return (__GNUC__ * 1000) + (__GNUC_MINOR__ * 100) + __GNUC_PATCHLEVEL__;
|
||||
}
|
||||
|
||||
__EXPORT int ver_main(int argc, char *argv[]);
|
||||
|
||||
int ver_main(int argc, char *argv[])
|
||||
@@ -124,37 +103,36 @@ int ver_main(int argc, char *argv[])
|
||||
// first check if there are at least 2 params
|
||||
if (argc >= 2) {
|
||||
if (argv[1] != NULL) {
|
||||
if (!strncmp(argv[1], sz_ver_hw_str, strlen(sz_ver_hw_str))) {
|
||||
if (!strncmp(argv[1], sz_ver_hw_str, sizeof(sz_ver_hw_str))) {
|
||||
ver_hwarch(0);
|
||||
ret = 0;
|
||||
}
|
||||
else if (!strncmp(argv[1], sz_ver_hwcmp_str, strlen(sz_ver_hwcmp_str))) {
|
||||
else if (!strncmp(argv[1], sz_ver_hwcmp_str, sizeof(sz_ver_hwcmp_str))) {
|
||||
if (argc >= 3 && argv[2] != NULL) {
|
||||
// compare 3rd parameter with HW_ARCH string, in case of match, return 0
|
||||
ret = strcmp(HW_ARCH, argv[2]) != 0;
|
||||
ret = strncmp(HW_ARCH, argv[2], strlen(HW_ARCH));
|
||||
if (ret == 0) {
|
||||
printf("hw_ver match: %s\n", HW_ARCH);
|
||||
printf("hwver match: %s\n", HW_ARCH);
|
||||
}
|
||||
} else {
|
||||
errx(1, "not enough arguments, try 'version hwcmp PX4FMU_1'");
|
||||
errx(1, "Not enough arguments, try 'ver hwcmp PX4FMU_V2'");
|
||||
}
|
||||
}
|
||||
else if (!strncmp(argv[1], sz_ver_git_str, strlen(sz_ver_git_str))) {
|
||||
else if (!strncmp(argv[1], sz_ver_git_str, sizeof(sz_ver_git_str))) {
|
||||
ver_githash(0);
|
||||
ret = 0;
|
||||
}
|
||||
else if (!strncmp(argv[1], sz_ver_date_str, strlen(sz_ver_date_str))) {
|
||||
ver_date(0);
|
||||
else if (!strncmp(argv[1], sz_ver_bdate_str, sizeof(sz_ver_bdate_str))) {
|
||||
ver_bdate(0);
|
||||
ret = 0;
|
||||
}
|
||||
else if (!strncmp(argv[1], sz_ver_gcc_str, strlen(sz_ver_gcc_str))) {
|
||||
else if (!strncmp(argv[1], sz_ver_gcc_str, sizeof(sz_ver_gcc_str))) {
|
||||
ver_gcclong(0);
|
||||
ret = 0;
|
||||
}
|
||||
else if (!strncmp(argv[1], sz_ver_all_str, strlen(sz_ver_all_str))) {
|
||||
printf("Pixhawk version info\n");
|
||||
else if (!strncmp(argv[1], sz_ver_all_str, sizeof(sz_ver_all_str))) {
|
||||
ver_hwarch(1);
|
||||
ver_date(1);
|
||||
ver_bdate(1);
|
||||
ver_githash(1);
|
||||
ver_gcclong(1);
|
||||
ret = 0;
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
/****************************************************************************
|
||||
*
|
||||
* Copyright (c) 2012-2014 PX4 Development Team. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name PX4 nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/**
|
||||
* @file vercmd.h
|
||||
*
|
||||
* Version command, unifies way of showing versions of hW, sW, build, gcc
|
||||
* Mainly used from nsh-console, shall replace also hw_arch command
|
||||
*
|
||||
* External use: possible, include "vercmd.h" and use "ver_xx" functions
|
||||
*
|
||||
* Extension: possible, just add new else-if to version_main function
|
||||
*
|
||||
* @author Vladimir Kulla <ufon@kullaonline.net>
|
||||
*/
|
||||
|
||||
#ifndef VERCMD_H_
|
||||
#define VERCMD_H_
|
||||
|
||||
|
||||
void ver_githash(int bShowPrefix);
|
||||
|
||||
void ver_hwarch(int bShowPrefix);
|
||||
|
||||
void ver_date(int bShowPrefix);
|
||||
|
||||
void ver_gcclong(int bShowPrefix);
|
||||
void ver_gccshort(int bShowPrefix);
|
||||
int ver_gccnum();
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* VERCMD_H_ */
|
||||
Reference in New Issue
Block a user