Pre-build - 2025-06-09

This commit is contained in:
Rick Lan
2025-04-07 11:12:47 +08:00
parent c3273aaa07
commit 459665ca60
7 changed files with 1914 additions and 38 deletions

77
BRANCHES.md Normal file
View File

@@ -0,0 +1,77 @@
```mermaid
flowchart TD
B000["upstream-tracking"] ---> CORE["core"]
CORE ---> CORE_001["core-feat/params"]
CORE_001 ---> CORE_002["core-feat/panel"]
CORE_002 ---> CORE_003["core-feat/spin-box-ctrl"]
CORE_003 ---> MIN["min"]
MIN ---> MIN_001["min-feat/dev/o3"]
MIN ---> MIN_002["min-feat/lat/alka"]
MIN ---> MIN_003["min-feat/ui/display-mode"]
MIN ---> MIN_004["min-feat/dev/model-selector"]
MIN ---> MIN_005["min-feat/lat/lca"]
MIN ---> MIN_006["min-feat/dev/on-off-road"]
MIN ---> MIN_007["min-feat/ui/hide-hud"]
MIN ---> MIN_008["min-feat/lon/ext-radar"]
MIN ---> MIN_009["min-feat/lat/road-edge-detection"]
MIN ---> MIN_010["min-feat/ui/rainbow-path"]
MIN ---> MIN_011["min-feat/lon/acm"]
MIN ---> MIN_012["min-feat/lon/aem"]
MIN ---> MIN_013["min-feat/dev/alert-mode"]
MIN ---> MIN_014["min-feat/lon/max-speed"]
MIN ---> MIN_015["min-feat/lon/no-gas-gating"]
MIN ---> MIN_016["min-feat/dev/auto-shutdown"]
MIN ---> MIN_017["min-feat/ui/radar-tracks"]
MIN ---> MIN_018["min-feat/ui/border-indicators"]
MIN ---> MIN_019["min-feat/dev/fileserv"]
MIN_001 ---> FULL["full"]
MIN_002 ---> FULL
MIN_003 ---> FULL
MIN_004 ---> FULL
MIN_005 ---> FULL
MIN_006 ---> FULL
MIN_007 ---> FULL
MIN_008 ---> FULL
MIN_009 ---> FULL
MIN_010 ---> FULL
MIN_011 ---> FULL
MIN_012 ---> FULL
MIN_013 ---> FULL
MIN_014 ---> FULL
MIN_015 ---> FULL
MIN_016 ---> FULL
MIN_017 ---> FULL
MIN_018 ---> FULL
MIN_019 ---> FULL
FULL ---> TOYOTA_001[brand/toyota/door-auto-lock-unlock]
FULL ---> TOYOTA_002[brand/toyota/tss1-sng]
FULL ---> TOYOTA_003[brand/toyota/long-filter-common]
FULL ---> TOYOTA_004[brand/toyota/radar-filter]
FULL ---> TOYOTA_005[brand/toyota/sdsu]
FULL ---> TOYOTA_006[brand/toyota/zss]
FULL ---> TOYOTA_007[brand/toyota/stock-lon]
FULL ---> VAG_001[brand/vag/a0-sng]
FULL ---> VAG_002[brand/vag/pq-steering-patch]
FULL ---> VAG_003[brand/vag/pq-no-dashcam]
FULL ---> VAG_004[brand/vag/avoid-eps-lockout]
FULL ---> HKG_001[brand/hkg/smdps]
TOYOTA_001 ---> TOYOTA[pre-toyota]
TOYOTA_002 ---> TOYOTA
TOYOTA_003 ---> TOYOTA
TOYOTA_004 ---> TOYOTA
TOYOTA_005 ---> TOYOTA
TOYOTA_006 ---> TOYOTA
TOYOTA_007 ---> TOYOTA
VAG_001 ---> VAG[pre-vag]
VAG_002 ---> VAG
VAG_003 ---> VAG
VAG_004 ---> VAG
HKG_001 ---> HKG[pre-hkg]
TOYOTA ---> PRE[pre]
VAG ---> PRE
HKG ---> PRE
PRE ---> PRE_PATCH[pre-patch]
PRE_PATCH ---> PRE_001[pre-build]
PRE_001 ---> PRERELEASE[pre-release]
PRERELEASE ---> RELEASE[x.x.x]
```

1470
CHANGELOGS.md Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -16,17 +16,22 @@ if [ -z "$RELEASE_BRANCH" ]; then
exit 1
fi
if [ -z "$SOURCE_BRANCH" ]; then
echo "SOURCE_BRANCH is not set"
exit 1
fi
# set git identity
source $DIR/identity.sh
source /data/identity.sh
echo "[-] Setting up repo T=$SECONDS"
rm -rf $BUILD_DIR
mkdir -p $BUILD_DIR
cd $BUILD_DIR
git init
git remote add origin git@github.com:commaai/openpilot.git
git checkout --orphan $RELEASE_BRANCH
git remote add origin https://github.com/dragonpilot-community/dev.git
git checkout --orphan $SOURCE_BRANCH
# do the files copy
echo "[-] copying files T=$SECONDS"
@@ -44,19 +49,20 @@ echo "#define COMMA_VERSION \"$VERSION-release\"" > common/version.h
echo "[-] committing version $VERSION T=$SECONDS"
git add -f .
git commit -a -m "openpilot v$VERSION release"
git commit -a -m "dragonpilot v$VERSION release"
# Build
export PYTHONPATH="$BUILD_DIR"
scons -j$(nproc) --minimal
if [ -z "$PANDA_DEBUG_BUILD" ]; then
# release panda fw
CERT=/data/pandaextra/certs/release RELEASE=1 scons -j$(nproc) panda/
else
# build with ALLOW_DEBUG=1 to enable features like experimental longitudinal
#if [ -z "$PANDA_DEBUG_BUILD" ]; then
# # release panda fw
# CERT=/data/pandaextra/certs/release RELEASE=1 scons -j$(nproc) panda/
#else
# # build with ALLOW_DEBUG=1 to enable features like experimental longitudinal
# scons -j$(nproc) panda/
#fi
scons -j$(nproc) panda/
fi
# Ensure no submodules in release
if test "$(git submodule--helper list | wc -l)" -gt "0"; then
@@ -87,18 +93,34 @@ git checkout third_party/
# Mark as prebuilt release
touch prebuilt
# dragonpilot customized
find . -name '*.cc' -delete
find selfdrive/ui/ -name '*.h' -delete
find . -type d -name "tests" -exec rm -rf {} +
find . -type d -name 'x86_64' -exec rm -rf {} +
find . -type d -name 'Darwin' -exec rm -rf {} +
find . -name 'amd_gpu.py' -delete # 3.8M
cp -fr selfdrive/ui/qt/text_larch64 selfdrive/ui/qt/_text
rm -fr selfdrive/ui/qt/text_larch64 # 3.7M
cp -fr selfdrive/ui/qt/spinner_larch64 selfdrive/ui/qt/_spinner
rm -fr selfdrive/ui/qt/spinner_larch64 # 3.7M
rm -fr tinygrad_repo/docs/tinygrad_intro.pdf # 1.9M
rm -fr cereal/gen/cpp/log.capnp.h # 2.5M
rm -fr tinygrad_repo/extra/hip_gpu_driver/gc_10_3_0_offset.h # 1.4 M
rm -fr tinygrad_repo/extra/accel/tpu/logs/tpu_driver.t1v-n-852cd0d5-w-0.taylor.log.INFO.20210619-062914.26926.gz # 1.3 M
# Add built files to git
git add -f .
git commit --amend -m "openpilot v$VERSION"
git commit --amend -m "dragonpilot v$VERSION"
# Run tests
cd $BUILD_DIR
RELEASE=1 pytest -n0 -s selfdrive/test/test_onroad.py
#pytest selfdrive/car/tests/test_car_interfaces.py
if [ ! -z "$RELEASE_BRANCH" ]; then
echo "[-] pushing release T=$SECONDS"
git push -f origin $RELEASE_BRANCH:$RELEASE_BRANCH
fi
#cd $BUILD_DIR
#RELEASE=1 pytest -n0 -s selfdrive/test/test_onroad.py
##pytest selfdrive/car/tests/test_car_interfaces.py
git branch -m $RELEASE_BRANCH
#if [ ! -z "$RELEASE_BRANCH" ]; then
# echo "[-] pushing release T=$SECONDS"
# git push -f origin $RELEASE_BRANCH:$RELEASE_BRANCH
#fi
echo "[-] done T=$SECONDS"

Binary file not shown.

View File

@@ -98,6 +98,266 @@
<translation></translation>
</message>
</context>
<context>
<name>DPPanel</name>
<message>
<source>Toyota / Lexus</source>
<translation>Toyota / Lexus</translation>
</message>
<message>
<source>Enable Door Auto Lock/Unlock</source>
<translation>/</translation>
</message>
<message>
<source>Enable TSS1 SnG Mod</source>
<translation> TSS1 SnG </translation>
</message>
<message>
<source>Use Stock Longitudinal Control</source>
<translation>使</translation>
</message>
<message>
<source>VW / Audi / Skoda</source>
<translation>VW / Audi / Skoda</translation>
</message>
<message>
<source>Enable MQB A0 SnG Mod</source>
<translation> MQB A0 SnG </translation>
</message>
<message>
<source>PQ Steering Patch</source>
<translation>PQ </translation>
</message>
<message>
<source>Avoid EPS Lockout</source>
<translation> EPS </translation>
</message>
<message>
<source>Mazda</source>
<translation>Mazda</translation>
</message>
<message>
<source>Lateral Ctrl</source>
<translation></translation>
</message>
<message>
<source>Always-on Lane Keeping Assist (ALKA)</source>
<translation> (ALKA)</translation>
</message>
<message>
<source>Road Edge Detection (RED)</source>
<translation> (RED)</translation>
</message>
<message>
<source>Block lane change assist when the system detects the road edge.
NOTE: This will show &apos;Car Detected in Blindspot&apos; warning.</source>
<translation>\n注意Car Detected in Blindspot</translation>
</message>
<message>
<source>LCA Speed:</source>
<translation> (LCA) </translation>
</message>
<message>
<source>Off = Disable LCA
1 mph 1.2 km/h</source>
<translation> = LCA\n1 mph 1.2 km/h</translation>
</message>
<message>
<source> mph</source>
<translation> mph</translation>
</message>
<message>
<source>Off</source>
<translation></translation>
</message>
<message>
<source>Auto Lane Change after:</source>
<translation></translation>
</message>
<message>
<source>Off = Disable Auto Lane Change.</source>
<translation> = </translation>
</message>
<message>
<source> sec</source>
<translation> </translation>
</message>
<message>
<source>Longitudinal Ctrl</source>
<translation></translation>
</message>
<message>
<source>Use External Radar</source>
<translation>使</translation>
</message>
<message>
<source>See https://github.com/eFiniLan/openpilot-ext-radar-addon for more information.</source>
<translation> https://github.com/eFiniLan/openpilot-ext-radar-addon。</translation>
</message>
<message>
<source>Enable Adaptive Coasting Mode (ACM)</source>
<translation> (ACM)</translation>
</message>
<message>
<source>Adaptive Coasting Mode (ACM) reduces braking to allow smoother coasting when appropriate.
DOES NOT WORK with Experimental Mode enabled.</source>
<translation> (ACM) \n啟用實驗模式時無法運作</translation>
</message>
<message>
<source>Downhill Only</source>
<translation></translation>
</message>
<message>
<source>Limited to downhill driving.</source>
<translation></translation>
</message>
<message>
<source>Adaptive Experimental Mode (AEM)</source>
<translation> (AEM)</translation>
</message>
<message>
<source>Adaptive mode switcher between ACC and Blended based on driving context.</source>
<translation></translation>
</message>
<message>
<source>Enable No Gas Gating (NoGG)</source>
<translation> (NoGG)</translation>
</message>
<message>
<source>Allows the car to accelerate in situations where Gas Gating would normally prevent it, like approaching traffic lights or exits.</source>
<translation>使Gas Gating</translation>
</message>
<message>
<source>UI</source>
<translation>使</translation>
</message>
<message>
<source>Display Radar Tracks</source>
<translation></translation>
</message>
<message>
<source>Rainbow Driving Path like Tesla</source>
<translation> Tesla </translation>
</message>
<message>
<source>Why not?</source>
<translation></translation>
</message>
<message>
<source>Std.</source>
<translation></translation>
</message>
<message>
<source>MAIN+</source>
<translation>+</translation>
</message>
<message>
<source>OP+</source>
<translation>OP+</translation>
</message>
<message>
<source>MAIN-</source>
<translation>-</translation>
</message>
<message>
<source>OP-</source>
<translation>OP-</translation>
</message>
<message>
<source>Display Mode</source>
<translation></translation>
</message>
<message>
<source>Std. - Stock behavior.
MAIN+ - ACC MAIN on = Display ON.
OP+ - OP enabled = Display ON.
MAIN- - ACC MAIN on = Display OFF
OP- - OP enabled = Display OFF.</source>
<translation> -
+ - ACC =
OP+ - openpilot =
- - ACC =
OP- - openpilot = </translation>
</message>
<message>
<source>Hide HUD When Moves above:</source>
<translation> HUD</translation>
</message>
<message>
<source>To prevent screen burn-in, hide Speed, MAX Speed, and Steering/DM Icons when the car moves.
Off = Stock Behavior
1 km/h 0.6 mph</source>
<translation>/
=
1 km/h 0.6 mph</translation>
</message>
<message>
<source> km/h</source>
<translation> km/h</translation>
</message>
<message>
<source>Device</source>
<translation></translation>
</message>
<message>
<source>Enable Right-Hand Drive Mode</source>
<translation></translation>
</message>
<message>
<source>Allow openpilot to obey right-hand traffic conventions on right driver seat.</source>
<translation> dragonpilot </translation>
</message>
<message>
<source>Disable Driver Monitoring</source>
<translation></translation>
</message>
<message>
<source>Enable Beep (Warning)</source>
<translation> ()</translation>
</message>
<message>
<source>Warning</source>
<translation></translation>
</message>
<message>
<source>Audible Alert Mode</source>
<translation></translation>
</message>
<message>
<source>Warning - Only emits sound when there is a warning.
Off - Does not emit any sound at all.</source>
<translation> -
- </translation>
</message>
<message>
<source>Auto Shutdown In:</source>
<translation></translation>
</message>
<message>
<source>0 mins = Immediately</source>
<translation>0 = </translation>
</message>
<message>
<source> mins</source>
<translation> </translation>
</message>
<message>
<source>Reset dragonpilot settings</source>
<translation> dragonpilot </translation>
</message>
<message>
<source>RESET</source>
<translation></translation>
</message>
<message>
<source>Are you sure you want to reset all settings?</source>
<translation></translation>
</message>
<message>
<source>Reset</source>
<translation></translation>
</message>
</context>
<context>
<name>DeclinePage</name>
<message>
@@ -315,30 +575,30 @@
<source>openpilot learns to drive by watching humans, like you, drive.
Firehose Mode allows you to maximize your training data uploads to improve openpilot&apos;s driving models. More data means bigger models, which means better Experimental Mode.</source>
<translation type="unfinished"></translation>
<translation>openpilot \n\n openpilot </translation>
</message>
<message>
<source>Firehose Mode: ACTIVE</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>ACTIVE</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;span stylesheet=&apos;font-size: 60px; font-weight: bold; color: #e74c3c;&apos;&gt;INACTIVE&lt;/span&gt;: connect to unmetered network</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>For maximum effectiveness, bring your device inside and connect to a good USB-C adapter and Wi-Fi weekly.&lt;br&gt;&lt;br&gt;Firehose Mode can also work while you&apos;re driving if connected to a hotspot or unlimited SIM card.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Frequently Asked Questions&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;i&gt;Does it matter how or where I drive?&lt;/i&gt; Nope, just drive as you normally would.&lt;br&gt;&lt;br&gt;&lt;i&gt;Do all of my segments get pulled in Firehose Mode?&lt;/i&gt; No, we selectively pull a subset of your segments.&lt;br&gt;&lt;br&gt;&lt;i&gt;What&apos;s a good USB-C adapter?&lt;/i&gt; Any fast phone or laptop charger should be fine.&lt;br&gt;&lt;br&gt;&lt;i&gt;Does it matter which software I run?&lt;/i&gt; Yes, only upstream openpilot (and particular forks) are able to be used for training.</source>
<translation type="unfinished"></translation>
<translation> USB-C Wi-Fi &lt;br&gt;&lt;br&gt; SIM &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;&lt;/b&gt;&lt;br&gt;&lt;br&gt;&lt;i&gt;我的駕駛方式或地點重要嗎?&lt;/i&gt; &lt;br&gt;&lt;br&gt;&lt;i&gt;&lt;/i&gt; 不會,我們會選擇性地提取您一部分的行車片段。&lt;br&gt;&lt;br&gt;&lt;i&gt;什麼是好的 USB-C 充電器?&lt;/i&gt; &lt;br&gt;&lt;br&gt;&lt;i&gt;&lt;/i&gt; openpilot</translation>
</message>
<message numerus="yes">
<source>&lt;b&gt;%n segment(s)&lt;/b&gt; of your driving is in the training dataset so far.</source>
<translation type="unfinished">
<numerusform></numerusform>
<translation>
<numerusform> &lt;b&gt;%n &lt;/b&gt; </numerusform>
</translation>
</message>
<message>
<source>&lt;span stylesheet=&apos;font-size: 60px; font-weight: bold; color: #e74c3c;&apos;&gt;INACTIVE&lt;/span&gt;: connect to an unmetered network</source>
<translation>&lt;span stylesheet=&apos;font-size: 60px; font-weight: bold; color: #e74c3c;&apos;&gt;&lt;/span&gt;</translation>
</message>
</context>
<context>
<name>HudRenderer</name>
@@ -375,6 +635,17 @@ Firehose Mode allows you to maximize your training data uploads to improve openp
<translation></translation>
</message>
</context>
<context>
<name>ModelSelector</name>
<message>
<source>Vehicle Model:</source>
<translation></translation>
</message>
<message>
<source>[AUTO DETECT]</source>
<translation>[]</translation>
</message>
</context>
<context>
<name>MultiOptionDialog</name>
<message>
@@ -580,7 +851,7 @@ Firehose Mode allows you to maximize your training data uploads to improve openp
</message>
<message>
<source>openpilot</source>
<translation>openpilot</translation>
<translation type="vanished">openpilot</translation>
</message>
<message numerus="yes">
<source>%n minute(s) ago</source>
@@ -604,6 +875,14 @@ Firehose Mode allows you to maximize your training data uploads to improve openp
<source>now</source>
<translation></translation>
</message>
<message>
<source>Show Last Errors</source>
<translation></translation>
</message>
<message>
<source>dragonpilot</source>
<translation>dragonpilot</translation>
</message>
</context>
<context>
<name>Reset</name>
@@ -886,15 +1165,15 @@ This may take up to a minute.</source>
</message>
<message>
<source>Target Branch</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<source>SELECT</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<source>Select a branch</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<source>UNINSTALL</source>
@@ -936,6 +1215,26 @@ This may take up to a minute.</source>
<source>never</source>
<translation></translation>
</message>
<message>
<source>Onroad/Offroad Mode</source>
<translation>/</translation>
</message>
<message>
<source>Go Offroad</source>
<translation></translation>
</message>
<message>
<source>Are you sure you want to switch mode?</source>
<translation></translation>
</message>
<message>
<source>CONFIRM</source>
<translation></translation>
</message>
<message>
<source>Go Onroad</source>
<translation></translation>
</message>
</context>
<context>
<name>SshControl</name>
@@ -995,11 +1294,11 @@ This may take up to a minute.</source>
</message>
<message>
<source>Welcome to openpilot</source>
<translation type="unfinished"></translation>
<translation>使 openpilot</translation>
</message>
<message>
<source>You must accept the Terms and Conditions to use openpilot. Read the latest terms at &lt;span style=&apos;color: #465BEA;&apos;&gt;https://comma.ai/terms&lt;/span&gt; before continuing.</source>
<translation type="unfinished"></translation>
<translation>使 openpilot&lt;span style=&apos;color: #465BEA;&apos;&gt;https://comma.ai/terms&lt;/span&gt;。</translation>
</message>
</context>
<context>
@@ -1112,6 +1411,14 @@ This may take up to a minute.</source>
<source>Enable driver monitoring even when openpilot is not engaged.</source>
<translation>使openpilot未激活時也啟用駕駛監控</translation>
</message>
<message>
<source>Disable Logging</source>
<translation></translation>
</message>
<message>
<source>Disable Updates</source>
<translation></translation>
</message>
</context>
<context>
<name>Updater</name>

View File

@@ -86,7 +86,7 @@ def set_consistent_flag(consistent: bool) -> None:
def parse_release_notes(basedir: str) -> bytes:
try:
with open(os.path.join(basedir, "RELEASES.md"), "rb") as f:
with open(os.path.join(basedir, "CHANGELOGS.md"), "rb") as f:
r = f.read().split(b'\n\n', 1)[0] # Slice latest release notes
try:
return bytes(parse_markdown(r.decode("utf-8")), encoding="utf-8")

View File

@@ -26,7 +26,7 @@ def get_version(path: str = BASEDIR) -> str:
def get_release_notes(path: str = BASEDIR) -> str:
with open(os.path.join(path, "RELEASES.md")) as f:
with open(os.path.join(path, "CHANGELOGS.md")) as f:
return f.read().split('\n\n', 1)[0]