从零开始学习PX4源码3(如何上传官网源码到自己的仓库中)

目录

文章目录

  • 目录
  • 摘要
  • 1.将PX4源码上传至腾讯工蜂
  • 2.从腾讯工蜂克隆源码到本地ubuntu
  • 3.如何查看自己源码的版本信息

摘要

本节主要记录从零开始学习PX4源码3(如何上传官网源码到自己的仓库中)及如何查看PX4的固件版本信息,欢迎批评指正!


PX4源码版本V1.14.2
Ubuntu系统18.04


1.将PX4源码上传至腾讯工蜂

  1. 下载官网源码,这里主要以V1.14.2为例,执行下面命令,注意要记得翻墙,如何翻墙可以查看我的apm教程内容。
git clone -b v1.14.2 https://github.com/PX4/PX4-Autopilot.git --recursive

在这里插入图片描述在这里插入图片描述
等待接收完成:持续时间大概3-5分钟完成
在这里插入图片描述
执行编译命令,看是否下载完全!!!

make px4_fmu-v3_default

在这里插入图片描述


可以看出可以完成编译,说明上面固件没有问题。那么下面我们需要首先创建自己的腾讯工蜂仓库地址,按照下面操作


1.创建腾讯工蜂管理仓库
在这里插入图片描述
2.执行上传工作

#1.在PX4-Autopilot目录下首先执行查看远程仓库在哪
git remote -v
#2.移除远端仓库
git remote rm origin
#3.增加本地PX4-Autopilot固件的远程仓库地址
git remote add origin
#4.继续查看当前远程仓库在哪,正常的话此时PX4-Autopilot的远程仓库的地址已经变成了自己的仓库。
git remote -v
#5.切换分支
git checkout -b main
#6.推送本地源码到分支
#这个命令用于将本地分支推送到远程仓库,并且通过 --set-upstream(或简写为 -u)参数,
#可以同时建立本地分支与远程分支之间的关联。这意味着以后在本地分支上执行 git pull 或 #git push 时,Git 将会自动关联到远程分支,并执行相应的操作。这样可以避免每次推送或拉
#取时都需要手动指定远程分支的名称。将本地分支与(新创建或者现有的)远程分支关联起来
git push --set-upstream origin main
#7.上传代码到远程仓库git add .
git commit -m “2024-7-12:上传本地PX4-Autopilot_V1.14.2到自己的腾讯工蜂仓库”
git push origin main 作者:超维空间科技 https://www.bilibili.com/read/cv27472120/?jump_opus=1 出处:bilibili

到这里:在腾讯工蜂上可以看到提交的代码,到这里不要高兴的太早,还需要继续验证2的内容。

2.从腾讯工蜂克隆源码到本地ubuntu

执行下面命令从腾讯工蜂克隆代码到本地:

git clone git@git.code.tencent.com:XXX_Airlines/XXX_PX4_AutoPilot_V1.14.2.git

然后执行编译会直接报错误:
然后执行编译会直接报错误:
然后执行编译会直接报错误:
主要原因PX4有版本信息检测,因此我们需要执行增加版本信息的命令

git tag v1.14.2

上面这种方式每次都需要打标签,因此建议直接修改源码,固定版本名称,在上传上去,后面在克隆下来直接编译就不会报错误。
从下面路径找到:

/home/xx/Desktop/tst_px4/PX4-Autopilot/src/lib/version
uint32_t px4_firmware_version(void)
{return version_tag_to_number("v1.14.2");
}
uint32_t px4_firmware_vendor_version(void)
{return version_tag_to_vendor_version_number("v1.14.2");
}

修改上面两行代码即可。

3.如何查看自己源码的版本信息

这里顺便说下如何查看当前源码的版本信息:
1.通过命令查看

git describe --tag

在这里插入图片描述

2.通过git查看
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/871331.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql-联合查询

一.联合查询的概念 .对于unio查询,就是把多次查询的结果合并起来,形成一个新的查询果集。 SELECT 字段列表 FROM 表A... UNION[ALL] SELECT 字段列表 FROM 表B..., 二.将薪资低于5000的员工,和年龄大于50岁的员工全部查询出来 select * from emp where salary&…

使用 Apache Pulsar 构建弹性可扩展的事件驱动应用

本视频来自 2024 Apache Pulsar 欧洲峰会,由 David Kjerrumgaard, 《Pulsar in Action》书作者给大家带来的《使用 Apache Pulsar 构建弹性可扩展的事件驱动应用》分享。 嘉宾|David Kjerrumgaard,Apache Pulsar Committer,《Pul…

总结单例模式的写法

一、单例模式的概念 1.1 单例模式的概念 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。就是当前进程确保一个类全局只有一个实例。 1.2 单例模式的优…

基于php+mysql的简单图书管理系统(附源码)

一、模块设计 二、技术选型 IDE:phpstorm mysql:5.1 php:7.3.29 运行工具:phpstudy 三、数据库设计 用户表: CREATE TABLE t_user (id int(11) NOT NULL AUTO_INCREMENT,uname varchar(255) DEFAULT NULL,upass…

C语言的神髓

​​​​​​​ ​​​​​​​

记录些Redis题集(3)

分布式锁 分布式锁是一种用于在分布式系统中实现互斥访问的机制,它可以确保在多个节点、或进程同时访问共享资源。如果没有适当的锁机制,就可能导致数据不一致或并发冲突的问题。 分布式锁需要的介质 需要一个多个微服务节点都能访问的存储介质&#…

matine组件库踩坑日记 --- react

Mantine实践 一 禁忌核心css样式二 添加轮播图扩展组件 一 禁忌核心css样式 import React from react import ReactDOM from react-dom/client import { BrowserRouter } from react-router-dom; import App from ./App.jsx import ./index.css import mantine/core/styles.cs…

RocketMQ~架构了解

简介 RocketMQ 具有高性能、高可靠、高实时、分布式 的特点。它是一个采用 Java 语言开发的分布式的消息系统,由阿里巴巴团队开发,在 2016 年底贡献给 Apache,成为了 Apache 的一个顶级项目。 在阿里内部,RocketMQ 很好地服务了集…

DHCPv6 详情及其报文介绍 - 附配置案例及验证命令(Cisco)

DHCPv6 诞生的原因 IPv6 协议具有地址空间巨大的特点,但同时长达 128 比特的 IPv6 地址又要求高效合理的地址自动分配和管理策略。IPv6 无状态地址配置方式(RFC2462)是目前广泛采用的 IPv6 地址自动配置方式。配置了该协议的主机只需相邻设备…

红日靶场----(三)1.漏洞利用

上期已经信息收集阶段已经完成,接下来是漏洞利用。 靶场思路 通过信息收集得到两个吧靶场的思路 1、http://192.168.195.33/phpmyadmin/(数据库的管理界面) root/root 2、http://192.168.195.33/yxcms/index.php?radmin/index/login&am…

函数(实参以及形参)

实际参数(实参) 实际参数就是在调用函数时传递给函数的具体值。这些值可以是常量、变量、表达式或更复杂的数据结构。实参的值在函数被调用时传递给对应的形参,然后函数内部就可以使用这些值来执行相应的操作。 int main() {int a 0;int b …

一篇文章教你掌握——Pytorch深度学习实践基础

一篇文章教你掌握——Pytorch深度学习实践 1. Overview 概述1.1 Rule-based systems 基于规则的系统1.2 Classic machine learning 经典机器学习1.3 Representation learning 表征学习1.4 Brief history of neural networks 神经网络简史 2. 配置环境2.1 安装Anaconda2.2 创建虚…

奥利奥广告策略解析「扭一扭、舔一舔、泡一泡」广告为何深入人心?

作为一个多年的广告人,我认为奥利奥的「扭一扭、舔一舔、泡一泡」广告策略非常巧妙。今天可以从专业的角度来分析分析一下,大概应该有三大原因吧。 品牌识别度与记忆点: “扭一扭、舔一舔、泡一泡”这句广告语简洁易记,富有节奏…

网关、DHCP协议、ip地址、子网掩码简单介绍

参考文章:https://baike.baidu.com/item/%E7%BD%91%E5%85%B3/98992?frge_ala https://baike.baidu.com/item/DHCP%E6%9C%8D%E5%8A%A1%E5%99%A8/9956953?fromModulelemma_inlink https://blog.csdn.net/weixin_58783105/article/details/135041342 https://blog.cs…

TreeMap----源码分析

源码分析&#xff1a; 通过查看源码可以知道其实现以及继承。 public class TreeMap<K,V>extends AbstractMap<K,V>implements NavigableMap<K,V>, Cloneable, java.io.Serializable{} 在开头其定义了一些成员变量&#xff0c;在底层因为TreeMap是呈现红黑…

ZGC的流程图

GC标记过程 1、初始标记 扫描所有线程栈的根节点&#xff0c;然后再扫描根节点直接引用的对象并进行标记。这个阶段需要停顿所有的应用线程&#xff08;STW&#xff09;&#xff0c;但由于只扫描根对象直接引用的对象&#xff0c;所以停顿时间很短。停顿时间高度依赖根节点的数…

我的AI音乐梦:ChatGPT帮我做专辑

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;AI篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来ChatGPT帮我做音乐专辑 嘿&#xff0c;朋友们&#xff01; 想象一下&#xff0c;如果有个超级聪明的机器人能帮你写…

d3dcompiler_47.dll缺失怎么修复,一步步分析d3dcompiler_47.dll文件

d3dcompiler_47.dll缺失怎么修复&#xff1f;快速教大家解决出现d3dcompiler_47.dll问题的方法&#xff0c;一步步教大家快速有效的将丢失的d3dcompiler_47.dll如何修复。 一步步修复d3dcompiler_47.dll分析 1. 重新安装受影响的程序 如果是特定程序报告缺少d3dcompiler_47.d…

游戏缺失steam_api64.dll的多种解决方法,分享几种靠谱的方法

在使用电脑进行游戏的过程中&#xff0c;可能会出现“找不到steam_api.dll&#xff0c;无法继续执行代码”的提示&#xff0c;导致游戏无法正常运行。对于这样的情况&#xff0c;我们需要采取一定的措施进行修复。本文将为您提供相关的解决方案。 一、找不到steam_api.dll对电脑…

python-28-零基础自学python-json存数据、读数据,及程序合并

学习内容&#xff1a;《python编程&#xff1a;从入门到实践》第二版 知识点&#xff1a; import json引入、 try-except-else return def函数、打开文件、 练习内容&#xff1a; 练习10-11&#xff1a;喜欢的数 编写一个程序&#xff0c;提示用户输入喜欢的数&#xff…