mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-08 13:33:42 +08:00
Qualify queued Ioniq 6 blind-spot warnings
This commit is contained in:
@@ -42,44 +42,3 @@ jobs:
|
||||
name: bsm-host-native
|
||||
path: bsm-results/
|
||||
if-no-files-found: error
|
||||
firmware:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
variant: [debug, release]
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 30
|
||||
env:
|
||||
PYTHONPATH: ${{ github.workspace }}
|
||||
BSM_VARIANT: ${{ matrix.variant }}
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- run: ./tools/op.sh setup
|
||||
- name: Build and verify all firmware variants
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ "$BSM_VARIANT" == release ]]; then
|
||||
export RELEASE=1
|
||||
export CERT="$PWD/panda/board/crypto/certs/debug"
|
||||
else
|
||||
unset RELEASE
|
||||
fi
|
||||
.venv/bin/python .github/bsm-qualification.py firmware
|
||||
- uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
name: bsm-firmware-${{ matrix.variant }}
|
||||
path: bsm-results/
|
||||
if-no-files-found: error
|
||||
arm64-helper:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- run: python3 .github/bsm-qualification.py helper
|
||||
- uses: actions/upload-artifact@v4
|
||||
if: always()
|
||||
with:
|
||||
name: bsm-arm64-helper
|
||||
path: bsm-results/
|
||||
if-no-files-found: error
|
||||
|
||||
@@ -185,7 +185,6 @@ class TestIoniq6BlindspotStatus(unittest.TestCase):
|
||||
self.assertFalse(any(addr in (0x1BA, 0x1E5) for addr, _, _ in skipped))
|
||||
ci.CS.out = out
|
||||
|
||||
|
||||
def test_controller_requires_a_matching_queued_lane_change_for_escalation(self):
|
||||
cp = long_params()
|
||||
ci = CarInterface(cp)
|
||||
@@ -231,9 +230,8 @@ class TestIoniq6BlindspotStatus(unittest.TestCase):
|
||||
packer = CANPacker(DBC[cp.carFingerprint][Bus.pt])
|
||||
state = structs.CarState(vEgo=20.0, leftBlinker=left, rightBlinker=not left)
|
||||
helper = DesireHelper(LaneChangePolicy(auto_lane_change=True))
|
||||
control = structs.CarControl()
|
||||
|
||||
def check(expected):
|
||||
def check(expected, helper, *, controller=controller, ci=ci, packer=packer, left=left):
|
||||
control = structs.CarControl()
|
||||
t = 10_000_000_000 + controller.frame * 10_000_000
|
||||
ci.update([(t, [packer.make_can_msg('BLINDSPOTS_FRONT_CORNER_2', 1,
|
||||
{'SIDE_DETECT_STATE': 0x10 if left else 0x08}),
|
||||
@@ -258,20 +256,20 @@ class TestIoniq6BlindspotStatus(unittest.TestCase):
|
||||
helper.update(state, True, 1.0, auto_evidence=False, engaged=True)
|
||||
self.assertEqual(helper.auto_status, 'laneUnavailable')
|
||||
self.assertEqual(helper.lane_change_state, log.LaneChangeState.preLaneChange)
|
||||
check(BlindspotStatus(2, 0) if left else BlindspotStatus(0, 2))
|
||||
check(BlindspotStatus(2, 0) if left else BlindspotStatus(0, 2), helper)
|
||||
state.steeringPressed = True
|
||||
state.steeringTorque = 1.0 if left else -1.0
|
||||
helper.update(state, True, 1.0, engaged=True)
|
||||
self.assertEqual(helper.lane_change_state, log.LaneChangeState.laneChangeStarting)
|
||||
check(BlindspotStatus(2, 0) if left else BlindspotStatus(0, 2))
|
||||
check(BlindspotStatus(2, 0) if left else BlindspotStatus(0, 2), helper)
|
||||
state.steeringPressed = False
|
||||
for _ in range(12):
|
||||
helper.update(state, True, 0.0, engaged=True)
|
||||
self.assertEqual(helper.lane_change_state, log.LaneChangeState.off)
|
||||
check(BlindspotStatus(0, 0))
|
||||
check(BlindspotStatus(0, 0), helper)
|
||||
helper.update(state, True, 0.0, engaged=True)
|
||||
check(BlindspotStatus(0, 0))
|
||||
check(BlindspotStatus(0, 0), helper)
|
||||
helper = DesireHelper()
|
||||
helper.update(state, True, 1.0, navigation_turn=True)
|
||||
self.assertEqual(helper.lane_change_state, log.LaneChangeState.off)
|
||||
check(BlindspotStatus(0, 0))
|
||||
check(BlindspotStatus(0, 0), helper)
|
||||
|
||||
Reference in New Issue
Block a user