uBlox 开源项目使用教程

uBlox 开源项目使用教程

ublox Arduino and CMake library for communicating with uBlox GPS receivers. ublox 项目地址: https://gitcode.com/gh_mirrors/ubl/ublox

1. 项目目录结构及介绍

bolderflight/ublox/
├── docs/
├── examples/
│   ├── arduino/
│   └── cmake/
├── img/
├── src/
├── .gitignore
├── .gitlab-ci.yml
├── CHANGELOG.md
├── CMakeLists.txt
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── keywords.txt
└── library.properties

目录结构介绍

  • docs/: 包含项目的文档文件。
  • examples/: 包含项目的示例代码,分为 Arduino 和 CMake 两个子目录。
    • arduino/: Arduino 平台的示例代码。
    • cmake/: CMake 平台的示例代码。
  • img/: 包含项目相关的图片文件。
  • src/: 包含项目的源代码文件。
  • .gitignore: Git 忽略文件配置。
  • .gitlab-ci.yml: GitLab CI 配置文件。
  • CHANGELOG.md: 项目更新日志。
  • CMakeLists.txt: CMake 构建配置文件。
  • CONTRIBUTING.md: 贡献指南。
  • LICENSE.md: 项目许可证。
  • README.md: 项目说明文件。
  • keywords.txt: Arduino 库的关键词文件。
  • library.properties: Arduino 库的属性文件。

2. 项目启动文件介绍

Arduino 平台

在 Arduino 平台下,项目的启动文件通常是 examples/arduino/ublox_example/ublox_example.ino。这个文件是一个 Arduino 的草图文件,包含了与 uBlox GPS 接收器通信的示例代码。

CMake 平台

在 CMake 平台下,项目的启动文件通常是 examples/cmake/ublox_example.cc。这个文件是一个 C++ 源文件,包含了与 uBlox GPS 接收器通信的示例代码。

3. 项目配置文件介绍

CMakeLists.txt

CMakeLists.txt 是 CMake 构建系统的配置文件,用于定义项目的构建规则和依赖关系。以下是该文件的主要内容:

cmake_minimum_required(VERSION 3.5)
project(ublox)

# 设置编译选项
set(CMAKE_CXX_STANDARD 11)

# 添加源文件
add_library(ublox src/ublox.cc)

# 添加头文件路径
target_include_directories(ublox PUBLIC ${CMAKE_SOURCE_DIR}/src)

# 添加示例可执行文件
add_executable(ublox_example examples/cmake/ublox_example.cc)
target_link_libraries(ublox_example ublox)

library.properties

library.properties 是 Arduino 库的属性文件,用于定义库的基本信息。以下是该文件的主要内容:

name=ublox
version=1.0.0
author=Bolder Flight Systems
maintainer=Bolder Flight Systems
sentence=Arduino and CMake library for communicating with uBlox GPS receivers
paragraph=This library communicates with uBlox GNSS receivers using the UBX protocol.
category=Communication
url=https://github.com/bolderflight/ublox
architectures=*

.gitignore

.gitignore 文件用于指定 Git 版本控制系统忽略的文件和目录。以下是该文件的部分内容:

# 忽略构建目录
build/

# 忽略 Arduino IDE 生成的文件
*.ino.cpp
*.ino.o

# 忽略 CMake 生成的文件
CMakeCache.txt
CMakeFiles/

通过以上介绍,您可以更好地理解和使用 bolderflight/ublox 开源项目。

ublox Arduino and CMake library for communicating with uBlox GPS receivers. ublox 项目地址: https://gitcode.com/gh_mirrors/ubl/ublox

Computer graphics have a very long and interesting history. Many APIs or custom approaches to the generation of 2D or 3D images have come and gone. A landmark in this history was the invention of OpenGL, one of the first graphics libraries, which allowed us to create real-time, high-performance 3D graphics, and which was available for everyone on multiple operating systems. It is still developed and widely used even today. And this year we can celebrate its 25th birthday! But many things have changed since OpenGL was created. The graphics hardware industry is evolving very quickly. And recently, to accommodate these changes, a new approach to 3D graphics rendering was presented. It took the form of a low-level access to the graphics hardware. OpenGL was designed as a high-level API, which allows users to easily render images on screen. But this high-level approach, convenient for users, is difficult for graphics drivers to handle. This is one of the main reasons for restricting the hardware to show its full potential. The new approach tries to overcome these struggles–it gives users much more control over the hardware, but also many more responsibilities. This way application developers can release the full potential of the graphics hardware, because the drivers no longer block them. Low-level access allows drivers to be much smaller, much thinner. But these benefits come at the expense of much more work that needs to done by the developers. The first evangelist of the new approach to graphics rendering was a Mantle API designed by AMD. When it proved that low-level access can give considerable performance benefits, other companies started working on their own graphics libraries. One of the most notable representatives of the new trend were Metal API, designed by Apple, and DirectX 12, developed by Microsoft. But all of the above libraries were developed with specific operating systems and/or hardware in mind. There was no open and multiplatform standard such as OpenGL. Until last year. Year 2016 saw the release of the Vulkan API, developed by Khronos consortium, which maintains the OpenGL library. Vulkan also represents the new approach, a low-level access to the graphics hardware, but unlike the other libraries it is available for everyone on multiple operating systems and hardware platforms–from high-performance desktop computers with Windows or Linux operating systems, to mobile devices with Android OS. And as it is still being very new, there are few resources teaching developers how to use it. This book tries to fill this gap.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

史霁蔷Primrose

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值