roverrobotics / roverpro-firmware Goto Github PK
View Code? Open in Web Editor NEWRover Pro Firmware.
License: Apache License 2.0
Rover Pro Firmware.
License: Apache License 2.0
I'm very dumb and have utterly failed at updating the firmware. Attempting to summarize why I seem to have failed:
I'm not sure which way to plug in the cable to the PIC3kit. I think I remember you saying that the nub goes towards the front, but when I tried that the robot rebooted :/ Could you add a picture of diagram to the readme?
Even though we have talk about this I got confused as to if I should use PICkit3 or MPLab to install the firmware. I was mixing up the two. I think because they are at different point in the readme I got confused.
After deciding to go with PICkit3 stand alone programmer I downloaded it and now it just says PICkit 3 not found. Selecting tools/check communication does not seem to help. This isn't really your problem. Just something else that I'm running up against.
It appears the the current limiting behavior has changed when compared to 1.0.4. Instead of cutting off the motors when in a stall condition the motor start making a grinding noise.
Dan,
Please create a 1.0.5 that brings up the power bus before the bootloader
Thanks,
Nick F.
The fastest acceleration is too slow. Please make acceleration an order of magnitude faster.
Above 10 is inaudible and is highly recommended however as the PWM frequency was increased, the max speed decreased. So 10 vs 20 the 20 seemed to be half the speed of 10. Below 10 is horrific deathly screams of robots trying to invade your inner psyche and should avoided at all costs.
@shoemakerlevy9 wants to stick with firmware that is Payload flashable so could we add the restart() command to 1.0.5 to make 1.0.6 that can be flashed from a payload?
With the new acceleration additions, the rover has some momentum in whatever speed and direction it is commanded and when the rover hits a motor current limit, this momentum is held through the current limiting. The result is if the rover is commanded to move at a high speed then hits a current limit, it will start the normal chugging behavior however it will continue chugging for much longer.
As of 1.5.1 boot takes 10 seconds and there is no indication to a user what is happening during that time. This should be improved by either turning on the power bus in the bootloader so that LED's turn on and let the user know something is happening, or by decreasing/getting rid of the need for that 10s. Ideally I'd like to do both but I think for simplicity turning on the power bus will be the quickest fix.
Some hardware debugging requires completely powering the hardware off. Can you add a command to power off the power bus for X number of seconds then have it turn back on?
When driving the robot with Xbox controller using firmware 1.5.0 what would normally be the forward command causes the robot to turn right
When downloading the powerboard hex files for 1.5.0 and 1.5.1 the downloaded files names were both powerboard.hex instead of powerboard-1.5.0.hex and powerboard-1.5.1.hex.
For the sake of poke-yoke I think we should include the version number in the name of the hex file.
ERROR: Failed building wheel for immutables
Running setup.py clean for immutables
Failed to build immutables
DEPRECATION: Could not build wheels for immutables which do not use PEP 517. pip will fall back to legacy 'setup.py install' for these. pip 21.0 will remove support for this functionality. A possible replacement is to fix the wheel build issue reported above. You can find discussion regarding this at https://github.com/pypa/pip/issues/8368.
Installing collected packages: intelhex, click, booty, immutables, contextvars, attrs, sniffio, trio, pytest-trio, roverpro, wcwidth, importlib-metadata, py
Running setup.py install for immutables ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\rover\appdata\local\programs\python\python36-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\rover\\AppData\\Local\\Temp\\pip-install-zp1by19w\\immutables\\setup.py'"'"'; __file__='"'"'C:\\Users\\rover\\AppData\\Local\\Temp\\pip-install-zp1by19w\\immutables\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\rover\AppData\Local\Temp\pip-record-rv40twhy\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\rover\appdata\local\programs\python\python36-32\Include\immutables'
cwd: C:\Users\rover\AppData\Local\Temp\pip-install-zp1by19w\immutables\
Complete output (24 lines):
running install
running build
running build_py
creating build
creating build\lib.win32-3.6
creating build\lib.win32-3.6\immutables
copying immutables\map.py -> build\lib.win32-3.6\immutables
copying immutables\_testutils.py -> build\lib.win32-3.6\immutables
copying immutables\_version.py -> build\lib.win32-3.6\immutables
copying immutables\__init__.py -> build\lib.win32-3.6\immutables
running egg_info
writing immutables.egg-info\PKG-INFO
writing dependency_links to immutables.egg-info\dependency_links.txt
writing top-level names to immutables.egg-info\top_level.txt
reading manifest file 'immutables.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'immutables.egg-info\SOURCES.txt'
copying immutables\_map.c -> build\lib.win32-3.6\immutables
copying immutables\_map.h -> build\lib.win32-3.6\immutables
copying immutables\_map.pyi -> build\lib.win32-3.6\immutables
copying immutables\py.typed -> build\lib.win32-3.6\immutables
running build_ext
building 'immutables._map' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\rover\appdata\local\programs\python\python36-32\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\rover\\AppData\\Local\\Temp\\pip-install-zp1by19w\\immutables\\setup.py'"'"'; __file__='"'"'C:\\Users\\rover\\AppData\\Local\\Temp\\pip-install-zp1by19w\\immutables\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\rover\AppData\Local\Temp\pip-record-rv40twhy\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\rover\appdata\local\programs\python\python36-32\Include\immutables' Check the logs for full command output.
Add a firmware parameter called max_speed that is configurable using a pitstop argument SET_MAX_SPEED
If motor commands are greater than max_speed for 1s, then ignore inbound motor commands for 1sec, and then return to normal behavior. If this happens 3 times within 30 seconds then ignore inbound motor commands until motor commands return to zero.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.