Skip to content

Commit f2b9289

Browse files
committed
Merge branch 'main' into feat/rover_control_board_rewrite
2 parents ed41d7d + 06c87e2 commit f2b9289

File tree

195 files changed

+12707
-1467
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

195 files changed

+12707
-1467
lines changed

.envrc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#! /usr/bin/env bash
22
# use nix direnv to make evaluation faster
3-
if ! has nix_direnv_version || ! nix_direnv_version 3.0.5; then
4-
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.5/direnvrc" "sha256-RuwIS+QKFj/T9M2TFXScjBsLR6V3A17YVoEW/Q6AZ1w=" &>/dev/null
3+
if ! has nix_direnv_version || ! nix_direnv_version 3.0.7; then
4+
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.7/direnvrc" "sha256-bn8WANE5a91RusFmRI7kS751ApelG02nMcwRekC/qzc=" &>/dev/null
55
fi
66

77
use flake . --accept-flake-config

.github/workflows/all.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ jobs:
3232
echo 'nix_conf<<NIX_EOF'
3333
echo 'extra-trusted-substituters = https://roar-qutrc.cachix.org https://ros.cachix.org'
3434
echo 'extra-trusted-public-keys = roar-qutrc.cachix.org-1:ZKgHZSSHH2hOAN7+83gv1gkraXze5LSEzdocPAEBNnA= ros.cachix.org-1:dSyZxI8geDCJrwgvCOHDoAfOm5sV1wCPjBkKL+38Rvo='
35+
echo "extra-trusted-users = $(whoami)"
3536
echo 'NIX_EOF'
3637
} >> "$GITHUB_OUTPUT"
3738
{
@@ -156,7 +157,7 @@ jobs:
156157
with:
157158
nix_conf: ${{ needs.global-vars.outputs.nix_conf }}
158159
- name: Build docs
159-
run: nix build -L .#docs
160+
run: nix build --option sandbox relaxed -L .#docs
160161
# From here, deploying to the website repo
161162
- name: Checkout website repo
162163
if: ${{ (needs.global-vars.outputs.can-push-commits == 'true') && (needs.global-vars.outputs.is-main == 'true') }}

.github/workflows/intersphinx.yaml

Lines changed: 0 additions & 40 deletions
This file was deleted.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,3 +356,6 @@ Icon
356356
Network Trash Folder
357357
Temporary Items
358358
.apdisk
359+
360+
# Temporary Fast-LIO package
361+
/software/ros_ws/src/spark-fast-lio

docs/default.nix

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ let
4848
name = "roar-docs-env";
4949
paths = [
5050
pyEnv
51-
unstable.doxygen12
51+
unstable.doxygen
5252
graphviz
5353
];
5454
};
@@ -60,9 +60,6 @@ let
6060
decompress = callPackage (import ./nix/decompress.nix) { };
6161
cd-docs-source = callPackage (import ./nix/cd-docs-source.nix) { };
6262
figures = callPackage (import ./nix/figures.nix) { };
63-
fetch-inventories = callPackage (import ./nix/fetch-inventories.nix) {
64-
inherit rosDistro cd-docs-source;
65-
};
6663
setup = callPackage (import ./nix/setup.nix) { inherit cd-docs-source figures; };
6764

6865
# create derivation which builds the docs
@@ -94,20 +91,21 @@ let
9491
compressed
9592
decompress
9693
figures
97-
fetch-inventories
9894
setup
9995
;
10096
};
10197

98+
# disable sandboxing so sphinx extensions can grab their internet resources
99+
# (intersphinx, tippy, etc)
100+
__noChroot = true;
101+
102102
# this needs to be set as an environment variable (just passing it as part of the set to mkDerivation)
103103
# for intersphinx config to be sure to use the correct file
104104
ROS_DISTRO = rosDistro;
105105

106106
# make needs to be run from the docs directory, but we need the whole tree for Doxygen generation
107107
# (hence source being the whole project)
108108

109-
# note that (although they should not be present anyway due to doxygen config) the program_listing files are removed to
110-
# doubly ensure that there are no source code leaks
111109
buildPhase = ''
112110
cd docs
113111
@@ -118,18 +116,12 @@ let
118116
# needed to prevent /homeless-shelter from being created
119117
export HOME=$PWD
120118
121-
# this needed because Sphinx does a dumb thing and overrides the "current year" in copyright with SOURCE_DATE_EPOCH
122-
# see https://github.com/sphinx-doc/sphinx/issues/3451#issuecomment-877801728
123-
unset SOURCE_DATE_EPOCH
124119
# make the entire directory writable - allows us to modify the files during the Sphinx build
125120
# (mainly for figures)
126121
chmod -R +w .
127122
128-
# finally build the docs
129-
make html
130-
131-
# failsafe to *ensure* that program listings are removed - we REALLY don't want to leak source code
132-
find -type f -name '*program_listing*' -delete
123+
# finally build the docs, with warnings treated as errors
124+
make html SPHINXOPTS="-W"
133125
'';
134126
# install the docs to $out/html
135127
installPhase = ''

docs/figures-source/can-bus.drawio

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.3.0 Chrome/140.0.7339.249 Electron/38.7.2 Safari/537.36" version="29.3.0">
2+
<diagram name="Page-1" id="g2exdVri8orK8tObtuAY">
3+
<mxGraphModel dx="172" dy="115" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
4+
<root>
5+
<mxCell id="0" />
6+
<mxCell id="1" parent="0" />
7+
<mxCell id="NInH2rMhACqa0SKSmD45-2" parent="1" style="shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;rotation=180;fillColor=none;size=20.000000000000057;rounded=1;arcSize=39;" value="" vertex="1">
8+
<mxGeometry height="70" width="220" x="340" y="120.00000000000001" as="geometry" />
9+
</mxCell>
10+
<mxCell id="NInH2rMhACqa0SKSmD45-1" parent="1" style="shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;rotation=180;fillColor=none;size=20.000000000000057;rounded=1;arcSize=39;" value="" vertex="1">
11+
<mxGeometry height="70" width="220" x="80" y="120" as="geometry" />
12+
</mxCell>
13+
<mxCell id="HleRGLJna6smnX6YRwww-2" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;" value="5" vertex="1">
14+
<mxGeometry height="20" width="20" x="100" y="130" as="geometry" />
15+
</mxCell>
16+
<mxCell id="HleRGLJna6smnX6YRwww-3" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;" value="4" vertex="1">
17+
<mxGeometry height="20" width="20" x="140" y="130" as="geometry" />
18+
</mxCell>
19+
<mxCell id="HleRGLJna6smnX6YRwww-4" edge="1" parent="1" source="HleRGLJna6smnX6YRwww-5" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" target="HleRGLJna6smnX6YRwww-46">
20+
<mxGeometry relative="1" as="geometry">
21+
<Array as="points">
22+
<mxPoint x="250" y="60" />
23+
</Array>
24+
<mxPoint x="554" y="190" as="targetPoint" />
25+
</mxGeometry>
26+
</mxCell>
27+
<mxCell id="HleRGLJna6smnX6YRwww-5" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;" value="3" vertex="1">
28+
<mxGeometry height="20" width="20" x="180" y="130" as="geometry" />
29+
</mxCell>
30+
<mxCell id="HleRGLJna6smnX6YRwww-6" edge="1" parent="1" source="HleRGLJna6smnX6YRwww-7" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;fontColor=#00CC00;strokeColor=#00CC00;" target="HleRGLJna6smnX6YRwww-20">
31+
<mxGeometry relative="1" as="geometry">
32+
<Array as="points">
33+
<mxPoint x="270" y="80" />
34+
</Array>
35+
<mxPoint x="488.28999999999996" y="260" as="sourcePoint" />
36+
<mxPoint x="499" y="200" as="targetPoint" />
37+
</mxGeometry>
38+
</mxCell>
39+
<mxCell id="HleRGLJna6smnX6YRwww-7" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontColor=#00CC00;strokeColor=#00CC00;fillColor=none;" value="2" vertex="1">
40+
<mxGeometry height="20" width="20" x="220" y="130" as="geometry" />
41+
</mxCell>
42+
<mxCell id="HleRGLJna6smnX6YRwww-8" edge="1" parent="1" source="HleRGLJna6smnX6YRwww-9" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeColor=#00CC00;entryX=0.167;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" target="HleRGLJna6smnX6YRwww-23">
43+
<mxGeometry relative="1" as="geometry">
44+
<mxPoint x="300" y="130" as="targetPoint" />
45+
</mxGeometry>
46+
</mxCell>
47+
<mxCell id="HleRGLJna6smnX6YRwww-9" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontColor=#00CC00;strokeColor=#00CC00;fillColor=none;" value="1" vertex="1">
48+
<mxGeometry height="20" width="20" x="260" y="130" as="geometry" />
49+
</mxCell>
50+
<mxCell id="HleRGLJna6smnX6YRwww-10" edge="1" parent="1" source="HleRGLJna6smnX6YRwww-11" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeColor=#FF0000;" target="HleRGLJna6smnX6YRwww-45">
51+
<mxGeometry relative="1" as="geometry">
52+
<Array as="points">
53+
<mxPoint x="220" y="250" />
54+
</Array>
55+
</mxGeometry>
56+
</mxCell>
57+
<mxCell id="HleRGLJna6smnX6YRwww-11" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontColor=#FF0000;strokeColor=#FF0000;fillColor=none;" value="9" vertex="1">
58+
<mxGeometry height="20" width="20" x="120" y="160" as="geometry" />
59+
</mxCell>
60+
<mxCell id="HleRGLJna6smnX6YRwww-12" edge="1" parent="1" source="HleRGLJna6smnX6YRwww-13" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;fontColor=#FF8000;strokeColor=#FF8000;" target="HleRGLJna6smnX6YRwww-22">
61+
<mxGeometry relative="1" as="geometry">
62+
<Array as="points">
63+
<mxPoint x="240" y="230" />
64+
</Array>
65+
</mxGeometry>
66+
</mxCell>
67+
<mxCell id="HleRGLJna6smnX6YRwww-13" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontColor=#FF8000;strokeColor=#FF8000;fillColor=none;" value="8" vertex="1">
68+
<mxGeometry height="20" width="20" x="160" y="160" as="geometry" />
69+
</mxCell>
70+
<mxCell id="HleRGLJna6smnX6YRwww-14" edge="1" parent="1" source="HleRGLJna6smnX6YRwww-15" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;spacing=0;endArrow=none;endFill=0;fontColor=#FF8000;strokeColor=#FF8000;" target="HleRGLJna6smnX6YRwww-21">
71+
<mxGeometry relative="1" as="geometry">
72+
<Array as="points">
73+
<mxPoint x="260" y="210" />
74+
</Array>
75+
<mxPoint x="539" y="330" as="targetPoint" />
76+
</mxGeometry>
77+
</mxCell>
78+
<mxCell id="HleRGLJna6smnX6YRwww-15" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontColor=#FF8000;strokeColor=#FF8000;fillColor=none;" value="7" vertex="1">
79+
<mxGeometry height="20" width="20" x="200" y="160" as="geometry" />
80+
</mxCell>
81+
<mxCell id="HleRGLJna6smnX6YRwww-16" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;" value="6" vertex="1">
82+
<mxGeometry height="20" width="20" x="240" y="160" as="geometry" />
83+
</mxCell>
84+
<mxCell id="HleRGLJna6smnX6YRwww-20" parent="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;horizontal=1;spacing=0;fontColor=#00CC00;" value="CAN Low (A)" vertex="1">
85+
<mxGeometry height="20" width="90" x="275" y="70" as="geometry" />
86+
</mxCell>
87+
<mxCell id="HleRGLJna6smnX6YRwww-21" parent="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;horizontal=1;spacing=0;fontColor=#FF8000;" value="CAN High (A)" vertex="1">
88+
<mxGeometry height="20" width="90" x="275" y="200" as="geometry" />
89+
</mxCell>
90+
<mxCell id="HleRGLJna6smnX6YRwww-22" parent="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;horizontal=1;spacing=0;fontColor=#FF8000;" value="CAN High (B)" vertex="1">
91+
<mxGeometry height="20" width="90" x="275" y="220" as="geometry" />
92+
</mxCell>
93+
<mxCell id="HleRGLJna6smnX6YRwww-23" parent="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;horizontal=1;spacing=0;fontColor=#00CC00;glass=0;shadow=0;" value="CAN Low (B)" vertex="1">
94+
<mxGeometry height="20" width="90" x="275" y="90" as="geometry" />
95+
</mxCell>
96+
<mxCell id="HleRGLJna6smnX6YRwww-25" edge="1" parent="1" source="HleRGLJna6smnX6YRwww-26" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeColor=#00CC00;entryX=0.833;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;" target="HleRGLJna6smnX6YRwww-23">
97+
<mxGeometry relative="1" as="geometry">
98+
<mxPoint x="330" y="120" as="targetPoint" />
99+
</mxGeometry>
100+
</mxCell>
101+
<mxCell id="HleRGLJna6smnX6YRwww-26" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontColor=#00CC00;strokeColor=#00CC00;fillColor=none;" value="1" vertex="1">
102+
<mxGeometry height="20" width="20" x="360" y="130" as="geometry" />
103+
</mxCell>
104+
<mxCell id="HleRGLJna6smnX6YRwww-27" edge="1" parent="1" source="HleRGLJna6smnX6YRwww-28" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeColor=#00CC00;" target="HleRGLJna6smnX6YRwww-20">
105+
<mxGeometry relative="1" as="geometry">
106+
<Array as="points">
107+
<mxPoint x="370" y="80" />
108+
</Array>
109+
<mxPoint x="649" y="200" as="targetPoint" />
110+
</mxGeometry>
111+
</mxCell>
112+
<mxCell id="HleRGLJna6smnX6YRwww-28" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontColor=#00CC00;strokeColor=#00CC00;fillColor=none;" value="2" vertex="1">
113+
<mxGeometry height="20" width="20" x="400" y="130" as="geometry" />
114+
</mxCell>
115+
<mxCell id="HleRGLJna6smnX6YRwww-29" edge="1" parent="1" source="HleRGLJna6smnX6YRwww-30" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;" target="HleRGLJna6smnX6YRwww-46">
116+
<mxGeometry relative="1" as="geometry">
117+
<Array as="points">
118+
<mxPoint x="390" y="60" />
119+
</Array>
120+
<mxPoint x="614" y="190" as="targetPoint" />
121+
</mxGeometry>
122+
</mxCell>
123+
<mxCell id="HleRGLJna6smnX6YRwww-30" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;" value="3" vertex="1">
124+
<mxGeometry height="20" width="20" x="440" y="130" as="geometry" />
125+
</mxCell>
126+
<mxCell id="HleRGLJna6smnX6YRwww-31" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;" value="4" vertex="1">
127+
<mxGeometry height="20" width="20" x="480" y="130" as="geometry" />
128+
</mxCell>
129+
<mxCell id="HleRGLJna6smnX6YRwww-32" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;" value="5" vertex="1">
130+
<mxGeometry height="20" width="20" x="520" y="130" as="geometry" />
131+
</mxCell>
132+
<mxCell id="HleRGLJna6smnX6YRwww-33" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=none;" value="6" vertex="1">
133+
<mxGeometry height="20" width="20" x="380" y="160" as="geometry" />
134+
</mxCell>
135+
<mxCell id="HleRGLJna6smnX6YRwww-34" edge="1" parent="1" source="HleRGLJna6smnX6YRwww-37" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeColor=#FF8000;" target="HleRGLJna6smnX6YRwww-22">
136+
<mxGeometry relative="1" as="geometry">
137+
<Array as="points">
138+
<mxPoint x="400" y="230" />
139+
</Array>
140+
</mxGeometry>
141+
</mxCell>
142+
<mxCell id="HleRGLJna6smnX6YRwww-35" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontColor=#FF8000;strokeColor=#FF8000;fillColor=none;" value="7" vertex="1">
143+
<mxGeometry height="20" width="20" x="420" y="160" as="geometry" />
144+
</mxCell>
145+
<mxCell id="HleRGLJna6smnX6YRwww-36" edge="1" parent="1" source="HleRGLJna6smnX6YRwww-35" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;spacing=0;endArrow=none;endFill=0;strokeColor=#FF8000;" target="HleRGLJna6smnX6YRwww-21">
146+
<mxGeometry relative="1" as="geometry">
147+
<Array as="points">
148+
<mxPoint x="380" y="210" />
149+
</Array>
150+
<mxPoint x="809" y="330" as="targetPoint" />
151+
</mxGeometry>
152+
</mxCell>
153+
<mxCell id="HleRGLJna6smnX6YRwww-37" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontColor=#FF8000;strokeColor=#FF8000;fillColor=none;" value="8" vertex="1">
154+
<mxGeometry height="20" width="20" x="460" y="160" as="geometry" />
155+
</mxCell>
156+
<mxCell id="HleRGLJna6smnX6YRwww-38" edge="1" parent="1" source="HleRGLJna6smnX6YRwww-39" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;strokeColor=#FF0000;" target="HleRGLJna6smnX6YRwww-45">
157+
<mxGeometry relative="1" as="geometry">
158+
<Array as="points">
159+
<mxPoint x="420" y="250" />
160+
</Array>
161+
</mxGeometry>
162+
</mxCell>
163+
<mxCell id="HleRGLJna6smnX6YRwww-39" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontColor=#FF0000;strokeColor=#FF0000;fillColor=none;" value="9" vertex="1">
164+
<mxGeometry height="20" width="20" x="500" y="160" as="geometry" />
165+
</mxCell>
166+
<mxCell id="HleRGLJna6smnX6YRwww-43" parent="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=24;fontStyle=0;spacing=0;" value="Female" vertex="1">
167+
<mxGeometry height="40" width="100" x="100" y="80" as="geometry" />
168+
</mxCell>
169+
<mxCell id="HleRGLJna6smnX6YRwww-44" parent="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=23;spacing=0;" value="Male" vertex="1">
170+
<mxGeometry height="40" width="70" x="455" y="80" as="geometry" />
171+
</mxCell>
172+
<mxCell id="HleRGLJna6smnX6YRwww-45" parent="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;horizontal=1;spacing=0;fontColor=#FF0000;" value="Power (Optional)" vertex="1">
173+
<mxGeometry height="20" width="110" x="265" y="240" as="geometry" />
174+
</mxCell>
175+
<mxCell id="HleRGLJna6smnX6YRwww-46" parent="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;spacing=0;" value="Ground" vertex="1">
176+
<mxGeometry height="20" width="60" x="290" y="50" as="geometry" />
177+
</mxCell>
178+
</root>
179+
</mxGraphModel>
180+
</diagram>
181+
</mxfile>
File renamed without changes.

0 commit comments

Comments
 (0)