当前位置: 首页 > news >正文

从零开始学习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查看
在这里插入图片描述

相关文章:

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

目录 文章目录 目录摘要1.将PX4源码上传至腾讯工蜂2.从腾讯工蜂克隆源码到本地ubuntu3.如何查看自己源码的版本信息 摘要 本节主要记录从零开始学习PX4源码3(如何上传官网源码到自己的仓库中)及如何查看PX4的固件版本信息,欢迎批评指正! PX4源码版本V1.…...

Docker Compose 启动容器例子

Docker Compose 启动容器例子 Docker Compose 文件 (docker-compose.yml) version: 3.8services:web:image: nginx:latestports:- "8080:80"volumes:- ./html:/usr/share/nginx/htmlnetworks:- webnetdb:image: mysql:latestenvironment:MYSQL_ROOT_PASSWORD: exam…...

守护服务之门:Eureka中分布式认证与授权的实现策略

守护服务之门:Eureka中分布式认证与授权的实现策略 引言 在微服务架构中,服务间的通信安全至关重要。Eureka作为Netflix开源的服务发现框架,虽然本身提供了服务注册与发现的功能,但并不直接提供认证与授权机制。为了实现服务的分…...

核密度估计KDE和概率密度函数PDF(深入浅出)

目录 1. 和密度估计(KDE)核密度估计的基本原理核密度估计的公式核密度估计的应用Python中的KDE实现示例代码 结果解释解释结果 总结 2. 概率密度函数(PDF)概率密度函数(PDF)是怎么工作的:用图画…...

免开steam 脱离steam 进行游戏的小工具

链接:https://pan.baidu.com/s/1k2C8b4jEqKIGLtLZp8YCgA?pwd6666 提取码:6666 我们只需选择游戏根目录 然后输入AppID 点击底部按钮 进行就可以了 关于AppID在:...

深度学习--系统配置流程

Win10系统配置双系统Ubuntu18.04 深度学习台式服务器自装练手1.win10磁盘管理2.下载系统镜像制作U盘3.系统安装4. 安装后的系统设置工作5.配置CUDA环境CUDNN安装 深度学习台式服务器自装练手 写在最前 CUDA最高支持11.4 显卡3060 1.win10磁盘管理 首先对原有磁盘进行分区整理…...

把Docker的虚拟磁盘文件移动到别的盘符

今天清理C盘空间,发现一个很大的文件 ext4.vhdx 足有 15G 之多,发现这个是Docker的虚拟磁盘文件,于是在网上找到移到它的办法,使用 PowerShell 执行下面命令 查看Docker状态和版本 wsl -l -v 关闭Docker服务 wsl --shutdown …...

Oracle 19c RAC 心跳异常处理

客户机房异常断电后,启动19c集群报错如下 2024-07-05 17:43:27.934 [GIPCD(5964292)]CRS-42216: No interfaces are configured on the local node for interface definition en3(:.*)?:100.100.100.0: available interface definitions are [en0(:.*)?:10.88.0.…...

微信小程序引入自定义子组件报错,在 C:/Users/***/WeChatProjects/miniprogram-1/components/路径下***

使用原生小程序开发时候,会报下面的错误, [ pages/button/button.json 文件内容错误] pages/button/button.json: [“usingComponents”][“second-component”]: “…/…/components/second-child/index”,在 C:/Users/***/WeChatProjects/m…...

【图解大数据技术】流式计算:Spark Streaming、Flink

【图解大数据技术】流式计算:Spark Streaming、Flink 批处理 VS 流式计算Spark StreamingFlinkFlink简介Flink入门案例Streaming Dataflow Flink架构Flink任务调度与执行task slot 和 task EventTime、Windows、WatermarksEventTimeWindowsWatermarks 批处理 VS 流式…...

启动完 kubelet 日志显示 failed to get azure cloud in GetVolumeLimits, plugin.host: 1

查看 kubelet 日志组件命令 journalctl -xefu kubelet 文字描述问题 Jul 09 07:45:17 node01 kubelet[1344]: I0709 07:45:17.410786 1344 operation_generator.go:568] MountVolume.SetUp succeeded for volume "default-token-mfzqf" (UniqueName: "ku…...

C语言基础and数据结构

C语言程序和程序设计概述 程序:可以连续执行的一条条指令的集合 开发过程:C源程序(.c文件) --> 目标程序(.obj二进制文件,目标文件) --> 可执行文件(.exe文件) -->结果 在任何机器上可以运行C源程序生成的 .exe 文件 没有安装C语言集成开发环境,不能编译C语言程…...

【超万卡GPU集群关键技术深度分析 2024】_构建10万卡gpu集群的技术挑战

文末有福利! 1. 集群高能效计算技术 随着大模型从千亿参数的自然语言模型向万亿参数的多模态模型升级演进,超万卡集群吸需全面提升底层计算能力。 具体而言,包括增强单芯片能力、提升超节点计算能力、基于 DPU (Data Processing Unit) 实现…...

RuntimeError: CUDA error: invalid device ordinal

RuntimeError: CUDA error: invalid device ordinal 报错分析:可能原因1:设置CUDA_VISIBLE_DEVICES的问题解决办法: 可能原因2:硬件或驱动原因解决方法: 参考资料 报错分析: 如果你在运行代码时报错&#…...

如何在Qt中添加文本

在Qt中添加文本通常涉及到使用几种不同的Qt控件,具体取决于你想要在何处以及以何种方式显示文本。以下是一些常见的方法: 1. 使用QLabel显示文本 QLabel是Qt中用于显示文本或图片的简单控件。你可以通过构造函数或setText()方法设置其显示的文本。 #i…...

解决打印PDF文本不清楚的处理办法

之前打印PDF格式的电子书,不清晰,影响看书的心情,有时看到打印的书的质量,根本不想看,今天在打印一本页数不多,但PDF格式的书感觉也不太清楚,我想应该有办法解决,我使用的是解决福昕…...

【Cesium开发实战】火灾疏散功能的实现,可设置火源点、疏散路径、疏散人数

Cesium有很多很强大的功能,可以在地球上实现很多炫酷的3D效果。今天给大家分享一个可自定义的火灾疏散人群的功能。 1.话不多说,先展示 火灾疏散模拟 2.设计思路 根据项目需求要求,可设置火源点、绘制逃生路线、可设置逃生人数。所以点击火…...

imx6ull/linux应用编程学习(16)emqx ,mqtt创建连接mqtt.fx

在很多项目中都需要自己的私人服务器,以保证数据的隐私性,这里我用的是emqx。 1.进入emqx官网 EMQX:用于物联网、车联网和工业物联网的企业级 MQTT 平台 点击试用cloud 申请成功后可得:(右边的忽略) 进入…...

Debezium系列之:验证mysql、mariadb等兼容mysql协议数据库账号权限

Debezium系列之:验证mysql、mariadb等兼容mysql协议数据库账号权限 一、数据库需要开启binlog二、创建账号和账号需要赋予的权限三、账号具有权限查看日志信息四、验证账号权限五、验证账号能否执行show master status六、验证数据库是否开启binlog一、数据库需要开启binlog …...

Vue.js学习笔记(五)抽奖组件封装——转盘抽奖

基于VUE2转盘组件的开发 文章目录 基于VUE2转盘组件的开发前言一、开发步骤1.组件布局2.布局样式3.数据准备 二、最后效果总结 前言 因为之前的转盘功能是图片做的,每次活动更新都要重做UI和前端,为了解决这一问题进行动态配置转盘组件开发,…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色&#xf…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...