Code Monkey home page Code Monkey logo

roverpro-firmware's Issues

Updating firmware

I'm very dumb and have utterly failed at updating the firmware. Attempting to summarize why I seem to have failed:

  1. 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?

  2. 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.

  3. 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.

Current limit in 1.5.1

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.

Speed decreases as PWM freq increases

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.

Reset momentum when overcurrent is hit

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.

Boot time

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.

Command to power cycle the power bus

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?

Right motor is inverted in 1.5.0

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

Hex file naming

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.

problem with immutables on windows

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.

New firmware parameter max_speed

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.