mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-16 23:02:07 +08:00
3c25760cc9
1282e8f5a cap libusb1 version in setup (#183) 64bcc89a9 Subaru: 545 msg must be generated 9159df9a5 Merge branch '0.5.10-chyrsler' f8ab74a1c L-line relay (#166) 11c4cdcc4 Cleanup leftover jenkins command 22572d949 Fix Jenkins build dockerfiles with same name 1d2f8f0ab Jenkins (#179) f383eee96 Power saving: wake on RX and don't print durint IRQ 9540db744 Chrysler safety: better to mention messages we don't want to forward 104950264 chrysler: forward bus 0 to bus 2 (#177) 4276c380e Additional Power saving (#170) git-subtree-dir: panda git-subtree-split: 1282e8f5a0904b1aaa50f382db2e27f20e74a154
60 lines
1.7 KiB
Python
60 lines
1.7 KiB
Python
from __future__ import print_function
|
|
import time
|
|
from panda import Panda
|
|
from helpers import time_many_sends, connect_wifi, test_white, panda_color_to_serial
|
|
from nose.tools import timed, assert_equal, assert_less, assert_greater
|
|
|
|
@test_white
|
|
@panda_color_to_serial
|
|
def test_get_serial_wifi(serial=None):
|
|
connect_wifi(serial)
|
|
|
|
p = Panda("WIFI")
|
|
print(p.get_serial())
|
|
|
|
@test_white
|
|
@panda_color_to_serial
|
|
def test_throughput(serial=None):
|
|
connect_wifi(serial)
|
|
p = Panda(serial)
|
|
|
|
# enable output mode
|
|
p.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
|
|
|
|
# enable CAN loopback mode
|
|
p.set_can_loopback(True)
|
|
|
|
p = Panda("WIFI")
|
|
|
|
for speed in [100,250,500,750,1000]:
|
|
# set bus 0 speed to speed
|
|
p.set_can_speed_kbps(0, speed)
|
|
time.sleep(0.1)
|
|
|
|
comp_kbps = time_many_sends(p, 0)
|
|
|
|
# bit count from https://en.wikipedia.org/wiki/CAN_bus
|
|
saturation_pct = (comp_kbps/speed) * 100.0
|
|
#assert_greater(saturation_pct, 80)
|
|
#assert_less(saturation_pct, 100)
|
|
|
|
print("WIFI loopback 100 messages at speed %d, comp speed is %.2f, percent %.2f" % (speed, comp_kbps, saturation_pct))
|
|
|
|
@test_white
|
|
@panda_color_to_serial
|
|
def test_recv_only(serial=None):
|
|
connect_wifi(serial)
|
|
p = Panda(serial)
|
|
p.set_safety_mode(Panda.SAFETY_ALLOUTPUT)
|
|
p.set_can_loopback(True)
|
|
pwifi = Panda("WIFI")
|
|
|
|
# TODO: msg_count=1000 drops packets, is this fixable?
|
|
for msg_count in [10,100,200]:
|
|
speed = 500
|
|
p.set_can_speed_kbps(0, speed)
|
|
comp_kbps = time_many_sends(p, 0, pwifi, msg_count)
|
|
saturation_pct = (comp_kbps/speed) * 100.0
|
|
|
|
print("HT WIFI loopback %d messages at speed %d, comp speed is %.2f, percent %.2f" % (msg_count, speed, comp_kbps, saturation_pct))
|