I have 7 XRPs and got them all working last week. Now one of them refuses to function. I’ve read every single post here and I’m stuck. When I plug the XRP (the current version, not the beta version) in, I don’t get the Windows USB sound indicating a device is plugged in and when I click Connect XRP via USB in the XRP code window, I get “no compatible devices found”. So I tried the following steps multiple times:
- XRP power switch off
- Hold bootsel and then Plug in USB
- RP2350 window appears
- drag in this flash nuke file
- It loads quickly and the window vanishes.
- Unplug USB
- Hold bootsel and plug in USB
- RP2350 window appears
- drag in the latest firmware update from here (making sure to get the non-beta version)
- It loads successfully and the window vanishes
- Unplug USB
- Plug in USB (windows plays the USB connection sound - this is important!)
- open XRP code window
- Message appears that micropython needs to be updated and the new version is 1.25.0 beta06 (which is a little weird since I just loaded 1.28.0 but…that’s what it wants)
- Click OK
- Select RP2350 folder and allow edit. Update in progress message appears and it appears to successfully load.
- This is where everything fails…
- Windows USB disconnect sound is played
- Click Connect XRP via USB in code window.
- No compatible devices found
- Unplug USB and plug back in again. No USB connection sound is heard.
- Click Connect XRP via USB in code window. No compatible devices found.
- The little red power light is still lit on the XRP control board but unplugging/plugging the USB does nothing. Windows no longer recognizes that something is plugged it.
Rinse and repeat. I’ve done this entire process multiple times. I have no idea why this XRP worked fine several days ago and why it won’t work now. Before it failed, I was trying to do a basic XBOX controller gamepad test as described in the User guide. I had no problem with the other XRPs (a mix of beta and non) but this one quit functioning after I loaded the code to test the game pad and now I’m stuck. I doubt it matters but the game pad code I loaded before the XRP died was the following:
from XRPLib.defaults import *
# available variables from defaults: left_motor, right_motor, drivetrain,
# imu, rangefinder, reflectance, servo_one, board, webserver
#
# XRP must be connected via BLUETOOTH to use the gamepad.
# This uses tank drive (left stick for left wheel, right stick for right wheel)
#
from XRPLib.board import Board
from XRPLib.differential_drive import DifferentialDrive
from XRPLib.gamepad import *
from XRPLib.servo import Servo
board = Board.get_default_board()
differentialDrive = DifferentialDrive.get_default_differential_drive()
gp = Gamepad.get_default_gamepad()
servo1 = Servo.get_default_servo(1)
while not (board.is_button_pressed()):
differentialDrive.set_effort((gp.get_value(gp.Y1)), (gp.get_value(gp.Y2)))
if gp.is_button_pressed(gp.BUTTON_A):
servo1.set_angle(90)
if gp.is_button_pressed(gp.BUTTON_B):
servo1.set_angle(135)