FRC1076 / RobotKitLib

Robotpy-WPILIB equivalent for raspberry pi robot kit
1 stars 1 forks source link

Add a feature to the run.py that will "advertise" the robot IP address using the neopixel lights #34

Open mcolinj opened 4 years ago

mcolinj commented 4 years ago

The driverstation has to know "where" the robot is (the ip address), so it can connect to it.

On a home network, it will likely have an address like:

192.168.0.nnn

or some variation thereof. So, the robot could "advertise" that last quantity with some flashing lights.

You could pick 3 lights to advertise the digits on the "nnn", and they could do it with just flashing a number of times for the digit.

So, for 163:

light1: flash, pause, pause, pause light2: flash, flash, flash, flash, flash, flash, pause, pause, pause light3: flash, flash, flash, pause, pause, pause

Once we have the run.py starting automatically, this will help the driver know the address to connect to without using rendevous protocol (which windows likely won't have), or a statically defined address (which may not be possible to configure on some home networks)

Notes on the implementation:

The most straightforward way to do this would be to create 3 separate threads that each do a digit. Write a general purpose function digit_flash(n) that will do the right thing, and then create each thread with the proper argument and digit_flash() as the function.

We can maybe have a control on the driverstation to turn it off (once things are connected).

matthew

P.S. I would love to work on this project. Oh to be young again.