|
4 | 4 | ColorSensor as EV3ColorSensor, |
5 | 5 | TouchSensor as EV3TouchSensor, |
6 | 6 | GyroSensor, |
7 | | - UltrasonicSensor, |
| 7 | + UltrasonicSensor as EV3UltrasonicSensor, |
8 | 8 | InfraredSensor, |
9 | 9 | ) |
10 | | -from pybricks.nxtdevices import ColorSensor as NXTColorSensor, LightSensor, SoundSensor |
| 10 | +from pybricks.nxtdevices import ( |
| 11 | + ColorSensor as NXTColorSensor, |
| 12 | + LightSensor, |
| 13 | + SoundSensor, |
| 14 | + UltrasonicSensor as NXTUltrasonicSensor, |
| 15 | +) |
11 | 16 | from pybricks.parameters import Button, Port, ImageFile |
12 | 17 | from pybricks.tools import wait |
13 | 18 |
|
|
30 | 35 | IMG_NXT_LIGHT_AMBIENT = ImageFile._PORT_VIEW_NXT_LIGHT_AMBIENT |
31 | 36 | IMG_NXT_LIGHT_REFLECTION = ImageFile._PORT_VIEW_NXT_LIGHT_REFLECTION |
32 | 37 | IMG_NXT_SOUND = ImageFile._PORT_VIEW_NXT_SOUND |
| 38 | +IMG_NXT_ULTRASONIC = ImageFile._PORT_VIEW_NXT_ULTRASONIC |
33 | 39 | PORT_NONE_TOP = ImageFile._PORT_VIEW_P0_TOP |
34 | 40 | PORT_NONE_BOTTOM = ImageFile._PORT_VIEW_P0_BOTTOM |
35 | 41 | PORT_IMG = [ |
@@ -94,7 +100,7 @@ def port_process(index): |
94 | 100 |
|
95 | 101 | # EV3 Ultrasonic Sensor |
96 | 102 | try: |
97 | | - sensor = UltrasonicSensor(PORTS[index]) |
| 103 | + sensor = EV3UltrasonicSensor(PORTS[index]) |
98 | 104 | while True: |
99 | 105 | try: |
100 | 106 | distance = sensor.distance() |
@@ -227,6 +233,19 @@ def port_process(index): |
227 | 233 | except OSError: |
228 | 234 | pass |
229 | 235 |
|
| 236 | + # NXT Ultrasonic Sensor |
| 237 | + try: |
| 238 | + sensor = NXTUltrasonicSensor(PORTS[index]) |
| 239 | + while True: |
| 240 | + try: |
| 241 | + distance = sensor.distance() |
| 242 | + detail = f"{distance:>4} mm" |
| 243 | + yield IMG_NXT_ULTRASONIC, distance, detail |
| 244 | + except OSError: |
| 245 | + break |
| 246 | + except OSError: |
| 247 | + pass |
| 248 | + |
230 | 249 | # Nothing on this port. |
231 | 250 | yield None, "---", "No device" |
232 | 251 |
|
|
0 commit comments