Skip to content

Commit

Permalink
Merge pull request #132 from hmakelin/fix-docs-dead-links
Browse files Browse the repository at this point in the history
Fix dead links in documentation
  • Loading branch information
hmakelin authored Aug 8, 2024
2 parents 6d933be + f525051 commit dc5c7f2
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 15 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ You will need to have the [Docker Compose plugin][2] and [NVIDIA Container Toolk

## Install GISNav CLI

The GISNav CLI (`gnc`) is a Docker Compose wrapper that significantly simplifies building and deploying GISNav's Docker Compose services.
The GISNav CLI (`gnc`) is a Docker Compose wrapper that significantly simplifies building and deploying GISNav's Docker Compose services. It is packaged as a Debian distributable.

Create the Debian package yourself and install `gnc` from it using the following commands:
Create the Debian distributable and install `gnc` from it using the following commands:

```bash
git clone https://github.com/hmakelin/gisnav.git
Expand Down Expand Up @@ -80,7 +80,7 @@ listener sensor_gps
```

> **Note**
> The `gisnav` service will by default will send uORB messages to PX4 via the
> The `gisnav` service will by default send uORB messages to PX4 via the
> micro-ROS agent which bypasses the GPS driver so you will not see the GPS
> status with commands like `gps status`.
Expand All @@ -97,7 +97,7 @@ gnc stop
# Documentation

See the [latest developer documentation][6] for information on how to setup a local environment for GISNav development,
for code examples and API documentation, and for contribution guidelines.
for code examples and API documentation, and integration examples.

[6]: https://hmakelin.github.io/gisnav

Expand Down
14 changes: 9 additions & 5 deletions debian/gisnav/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,15 @@ $(BUILD_DIR)/etc/systemd:
@mkdir -p $@
@cp -r etc/systemd/ $@

# We need to copy .git to make git describe work for the docs (docs are built
# with git version string). pre-commit might also need the .git folder.
# TODO: only copy over a shallow copy of git repo - we do not need entire history
# nor all branches
$(BUILD_DIR)/etc/gisnav: $(BUILD_DIR)/etc/gisnav/ros $(BUILD_DIR)/etc/gisnav/docker $(BUILD_DIR)/etc/gisnav/docs
@dest=debian/gisnav/$@ && \
mkdir -p $@ && \
touch $(BUILD_DIR)/COLCON_IGNORE && \
cd ${REPO_ROOT_PATH}; rsync -av --exclude-from='.gitignore' Makefile .pre-commit-config.yaml LICENSE.md README.md pyproject.toml $$dest
cd ${REPO_ROOT_PATH}; rsync -av --exclude-from='.gitignore' Makefile .pre-commit-config.yaml LICENSE.md README.md pyproject.toml .git $$dest

$(BUILD_DIR)/etc/gisnav/ros:
@dest=debian/gisnav/$@ && \
Expand All @@ -97,8 +101,8 @@ $(BUILD_DIR)/etc/gisnav/docker:
cd ${REPO_ROOT_PATH}; rsync -av --exclude-from='.gitignore' docker/ $$dest
@echo -e "\033[1;33;40mWarning! Check the file list above that no unintended files were copied over to the distributable.\033[0m"

# TODO package.json needed for gisnav image build to go through - try to
# refactor it out (need better defined gisnav image)
$(BUILD_DIR)/etc/gisnav/docs:
@mkdir -p $@/vitepress
@echo "{}" > $@/vitepress/package.json
@dest=debian/gisnav/$@ && \
mkdir -p $@ && \
touch $(BUILD_DIR)/COLCON_IGNORE && \
cd ${REPO_ROOT_PATH}; rsync -av --exclude-from='.gitignore' docs/ $$dest
6 changes: 4 additions & 2 deletions docker/mavros/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,9 @@ RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | b

COPY Makefile .pre-commit-config.yaml LICENSE.md README.md pyproject.toml /opt/colcon_ws/src/gisnav/

# .git needed to make pre-commit work -> initialize a blank repo
RUN git init
# .git needed to make pre-commit and git describe work
# TODO: solve this in a better way - we have an unnecessarily large git
# history in the container
COPY .git /opt/colcon_ws/src/gisnav/.git

ENTRYPOINT ["/entrypoint.sh"]
1 change: 1 addition & 0 deletions docs/vitepress/docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ export default withMermaid({
{ text: 'GISNode', link: '/reference/public/gis_node' },
{ text: 'StereoNode', link: '/reference/public/stereo_node' },
{ text: 'PoseNode', link: '/reference/public/pose_node' },
{ text: 'TwistNode', link: '/reference/public/twist_node' },
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion docs/vitepress/docs/deploy-with-docker-compose.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The interdependencies between different services are hard-coded into the Docker

### Mock GPS demo

To deploy the [mock GPS demonstration](/README) introduced locally without using the Makefile, follow the below steps to create, start, and shutdown the required containers. These steps simply repeat what the `demo` Makefile recipe would do.
To deploy the [mock GPS demonstration](/sitl-local) introduced locally without using the Makefile, follow the below steps to create, start, and shutdown the required containers. These steps simply repeat what the `demo` Makefile recipe would do.

#### Build images

Expand Down
2 changes: 1 addition & 1 deletion docs/vitepress/docs/install-locally.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ as the workspace might not play nicely with the virtual environment.

GISNav's Python dependencies are divided into [core](./glossary#core-core-functionality), [extended](./glossary#extension-extended-functionality), and development dependencies. You must at least install the core dependencies.

- If you know you are not going to use a specific extension such as `NMEANode`, you can skip installing the corresponding Python [extra](/glossary#extra). `NMEANode` is required for the [mock GPS demo](/README) and enables downstream integration of GISNav as a secondary GPS device via the NMEA protocol.
- If you know you are not going to use a specific extension such as `NMEANode`, you can skip installing the corresponding Python [extra](/glossary#extra). `NMEANode` is required for the [mock GPS demo](/sitl-local) and enables downstream integration of GISNav as a secondary GPS device via the NMEA protocol.

- The development dependencies are required for various development tasks such as generating documentation and running tests. You do not need to install them if you do not plan to do any development work on GISNav.

Expand Down
4 changes: 2 additions & 2 deletions docs/vitepress/docs/setup-gis-server.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Setup GIS Server

GISNav uses an onboard GIS server as a source for high-resolution orthoimagery and digital elevation models (DEM) for the approximate global position of the vehicle. This page describes how to setup a self-hosted GIS server. If you are [running the mock GPS demo](/README), you can
GISNav uses an onboard GIS server as a source for high-resolution orthoimagery and digital elevation models (DEM) for the approximate global position of the vehicle. This page describes how to setup a self-hosted GIS server. If you are [running the mock GPS demo](/sitl-local), you can
simply use the provided `mapserver` [Docker Compose service](/deploy-with-docker-compose).

## Overview
Expand All @@ -12,7 +12,7 @@ The DEM is optionally used to input ground elevation z-coordinates to the Perspe

You should probably self-host an onboard GIS server with public domain orthoimagery because in a realistic scenario, the GIS should be embedded onboard and not depend on an internet connection. For development, it may sometimes be more convenient to proxy an existing commercial tile-based endpoint.

Because the [mock GPS demo](/README) uses NAIP imagery, in this section we will briefly describe how to obtain NAIP data in case you want to build your own GIS service.
Because the [mock GPS demo](/sitl-local) uses NAIP imagery, in this section we will briefly describe how to obtain NAIP data in case you want to build your own GIS service.

::: info Tile-based endpoints
Commercial web-based map services are often [tile-based](https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames) because it is more efficient to serve pre-rendered tiles than to render unique rasters for each individual requested bounding box. You will need a WMS proxy if you decide to go with a tile-based endpoint.
Expand Down

0 comments on commit dc5c7f2

Please sign in to comment.