Git Product home page Git Product logo

pros-docs's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pros-docs's Issues

Markdown header typo on Debugging page

The H3 headers on the "debugging" tutorial page should have one space after the three "#"s. Currently the headers are not rendering correctly because the space is missing.

Here's what it currently looks like:

###Example header

And here's what it should look like:

Example header

Search highlights text with bad color

When searching the relevant words on a page are highlighted. This is nice, however the styling of the mustard yellow with white text is usually unreadable.

image

image

Man Page for CLI + Sphinx Docs

I was thinking of making a man page for prosv5 (CLI), but I saw that you were using Sphinx for your docs. Sphinx has a feature where you can make man pages from your Sphinx documentation (http://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-manual-page-output), so I was wondering how we should go about approaching making the man page (making a sphinx page for prosv5 cli in the pros-docs repo and transferring the sphinx generated man page to pros-cli, or just making the man page from scratch)

Failed to build casued by ablog

I called make v5 in my console, and I got this output:

Traceback (most recent call last):
  File "/home/berberman/.local/lib/python3.7/site-packages/ablog/post.py", line 579, in generate_atom_feeds
    raise StopIteration
StopIteration

Here is the code snippet from line 569 to 580 of post.py:

def generate_atom_feeds(app):
    """Generate archive pages for all posts, categories, tags, authors, and
    drafts."""

    if not ablog.builder_support(app):
        return

    blog = Blog(app)

    url = blog.blog_baseurl
    if not url:
        raise StopIteration

I think dependencies used in building had been installed properly, seemingly blog_baseurl led to the mistake. I appended blog_baseurl = 'blog' at the end of conf.py, then I got correct html files.

Is this the right way to deal with this problem?

windows installer path is not correct

Hi,
The 'Download Pros For Cortex' link on the main home page is not correct. I am getting a 404 not found error on both mac and windows. When I click download on this page https://pros.cs.purdue.edu/cortex/getting-started/windows.html, I am taken to https://github.com/purduesigbots/pros/releases/tag/3.1.6 which is again not the correct this. Looks like this is the only one that seems to work: https://github.com/purduesigbots/pros/releases/tag/2.12.2

I got to this link from: https://github.com/purduesigbots/pros-atom ---> https://github.com/purduesigbots/pros/releases ---> https://github.com/purduesigbots/pros/releases/tag/2.12.2

Backend server does not use compression

I apologize if this is the wrong area to post this in.

The web server does not utilize gzip compression, which could make the site load significantly faster. I do not know what backend is used, but Pagespeed Insights has a guide for ways to enable it on a few different servers.

update vision sensor topical tutorial

With the release of 3.1.4, users now have the ability to set color signatures and codes programmatically. The topical tutorial should be updated to take these features into account, particularly the color code functionality.

Also we should clarify that the vision utility is the standalone one (which is installed on Windows by the PROS installer), and not the one packaged with VCS (which doesn't seem to save data to the camera).

LICENSE

What is the license of this documentation? Thanks!

Controller Inputs and Outputs lack of Code

Description

In this it says Using Controller Inputs and Outputs is quite simple however, they aren't simple to people who haven't written and understand exactly how they work. To make this more understandable it would be helpful to add some example code in this tutorial.

Steps to Reproduce

  1. Go to this
  2. Read through it pretending to not have a perfect understanding of the code.

Expected behavior: Some kind of code that explains how simple the controller io is.

Actual behavior: No such code exists.

Versions

--------  -----------  -------------
kernel    3.1.6        pros-mainline
okapilib  4.0.0-beta8  local```

Enum Value Table Error

Under /v5/api/cpp/motors.rst in section pros::motor_fault_e_t . link

The table showing the enum value meanings for fault bits has the first value listed properly, but the next 3 spots on the table appear to be copied from the motor_brake_mode_e_t enum value table, and the final value for the motor_fault is not listed.

should be something akin to:

Value

pros::E_MOTOR_FAULT_NO_FAULTS | No faults
pros::E_MOTOR_FAULT_MOTOR_OVER_TEMP | Motor temperature over set limit
pros::E_MOTOR_FAULT_DRIVER_FAULT | Motor H-Bridge fault
pros::E_MOTOR_FAULT_OVER_CURRENT | Motor current over set limit
pros::E_MOTOR_FAULT_DRV_OVER_CURRENT | Motor H-Bridge over current limit

Motors C++ API docs - some function names don't match their prototypes

See title. In https://pros.cs.purdue.edu/v5/api/cpp/motors.html#get-target-position, the docs say it is get_target_position, but the prototype is

double pros::Motor::get_target ( )

and example is

void autonomous() {
  pros::Motor motor (1);
  motor.move_absolute(100, 100);
  std::cout << "Motor Target: " << motor.get_target();
  // Prints 100
}

Similar situation at https://pros.cs.purdue.edu/v5/api/cpp/motors.html#get-target-velocity, where it is shown to be get_velocity instead

Spelling error in Wireless Upload and Hot/Cold Linking tutorial

Description
In the last sentence of the second paragraph, "image" is spelled wrong

"so that USE_PACKAGE:=1. Re-build and upload your project and PROS will automatically use the new files. PROS will automatically detect when you’re using the same combination of libraries and decide not to re-upload the “cold” code. Verification that the library is present is done with filename and checksum of the file. As a result, if you use the same combination of libraries (cold image), only one copy of the cold iamge image is uploaded to the V5."

link to page

silent install option

gentlemen,

kudos to you for this project. any plans to create a msi and /or a silent install option?
please do.

Clawbot Tutorial Extension

I was wondering if you thought if it would be a good idea to initialize the motors in their own file and declare them in a header file using extern in the clawbot tutorial, since it lets the autonomous also access those motors. In addition, I was wondering if we could add a simple autonomous for the clawbot to showcase motors not only moving using move_velocity and move, but maybe something like move_relative. For Arcade Control, my team calls that split arcade control (two joysticks), whereas arcade control (one joystick) would be something like this:

int power = master.get_analog(ANALOG_LEFT_Y);
int turn = master.get_analog(ANALOG_LEFT_X);
int left = power + turn;
int right = power - turn;
left_wheels.move(left);
right_wheels.move(right);

I was wondering if we could rename it to split arcade, unless it is generally called arcade (or we could add both).

Add "main.h" file not found to FAQ

As @theol0403 mentioned on Discord, this issue seems to pop up a lot nowadays, so I'll add it to a FAQ if wanted. I'm not exactly sure where to put it though. The General Use FAQ is a bit general, the Coding FAQ that consists of run-time and compile-time issues don't categorize this issue (linter and compile_commands.json), and there's also the PROS FAQ.

Add real documentation about uploading

Currently there's nothing, and there should probably be something.

Once interactive UI is done (CLI/middleware/atom plugin) we should take screenshots and stuff.

Vision::create_color_code signature doesn't document default parameters

In the Vision Sensor C++ API documentation, the create_color_code() example is slightly off. The example has the line of code:
pros::vision_color_code_t code1 = vis.create_color_code(EXAMPLE_SIG, OTHER_SIG);.
However, it should be
pros::vision_color_code_t code1 = vis.create_color_code(EXAMPLE_SIG, OTHER_SIG, 0, 0, 0);
as less than 5 signatures are apart of the color in this example.

Prune stale branches

There are a lot of stale branches which we don't need to keep around anymore that should be deleted.

Clarify that motor_move(_voltage)/Motor::move(_voltage) do not respect brake mode

I've noticed this has caused some confusion, and could be clarified in the docs by adding a note to each of the relevant functions that they will not respect brake modes.

This could also spill over to the kernel in two ways:

  1. Add equivalent notes to the function documentation comments
  2. Add a brake function that will stop the motor using a function that respects brake mode

Hugo error for shortcodes/div.html when trying to build

ERROR: 2018/02/19 12:19:00 shortcode.go:533: error processing shortcode shortcodes/div.html

ERR: template: shortcodes/div.html:2:12: executing "shortcodes/div.html" at <markdownify>: wrong type for value; expected string; got template.HTML

This is the error I get when trying to build the project. I did not make any changes yet. It might be noteworthy that I am using Linux Mint 18.

I don't have a lot of experience with Hugo, so I am not sure how to handle this issue.

All of the nvm commands in build.sh work correctly.

Sample code in multitasking tutorial is misleading

Here's the C++ sample code for creating a task:

 void my_task_fn(void* param) {
     std::cout << Hello << (char*)param << std::endl;
     // ...
 }
 void initialize() {
     std::string text("PROS");
     Task my_task(my_task_fn, &text, "");
 }

There are two problems with it:

  • It's not clear that text is being used as the parameter; I've seen more than one person think that it gives the task name.
  • This has a blatant dangling pointer bug.

It may also be a good idea to show examples using the new constructor added in 3.2.1.

Some unrelated examples mislead in proper use of initialize, opcontrol and autonomous

For example, the "Example" tab at: https://pros.cs.purdue.edu/v5/api/cpp/llemu.html#read-buttons

Which contains the following sample code:

void initialize() {
  pros::lcd::initialize();
  while (true) {
    printf("Buttons Bitmap: %d\n", pros::lcd::read_buttons());
    delay(20);
  }
}

While this works for demonstration of the LLEMU API, it has lead some new users to mistakenly include while loops (such as this one verbatim) in the body of initialize within practical robot code, which as documented elsewhere, leads to bugs. I propose modifying this and all other similar examples to instead make proper separate use of initialize and opcontrol; for example:

void initialize() {
  pros::lcd::initialize();
}

void opcontrol {
  while (true) {
    printf("Buttons Bitmap: %d\n", pros::lcd::read_buttons());
    delay(20);
  }
}

Failed to install pros-editor on macOS

When trying to install pros-editor on macOS using brew cask install pros-editor, the installation fails with the output:

bradmacbook:~ bradmiller$ brew cask install pros-editor
==> Satisfying dependencies
==> Installing Formula dependencies: pros-cli
==> Installing purduesigbots/pros/pros-cli
==> Downloading https://github.com/purduesigbots/pros-cli/archive/3.1.4.tar.gz
Already downloaded: /Users/bradmiller/Library/Caches/Homebrew/downloads/45ba415fa2acd3405730a47efcd3b5f5f0527318ea903364427dd82eb548f0e6--pros-cli-3.1.4.tar.gz
==> Downloading https://files.pythonhosted.org/packages/53/c0/c7819f0bb2cf83e1b4b0d96c901b85191f598a7b534d297c2ef6dc80e2d3/virtualen
Already downloaded: /Users/bradmiller/Library/Caches/Homebrew/downloads/6d18e6ad1a4c8e31dfc412cb5513a676119ead57a6ad5c830a0ec57ac08fd763--virtualenv-16.6.0.tar.gz
==> python3 -c import setuptools... --no-user-cfg install --prefix=/private/tmp/pros-cli--homebrew-virtualenv-20190612-82487-11sxajw
Last 15 lines from /Users/bradmiller/Library/Logs/Homebrew/pros-cli/01.python3:
-c
import setuptools, tokenize
__file__ = 'setup.py'
exec(compile(getattr(tokenize, 'open', open)(__file__).read()
  .replace('\r\n', '\n'), __file__, 'exec'))
--no-user-cfg
install
--prefix=/private/tmp/pros-cli--homebrew-virtualenv-20190612-82487-11sxajw/target
--install-scripts=/private/tmp/pros-cli--homebrew-virtualenv-20190612-82487-11sxajw/target/bin
--single-version-externally-managed
--record=installed.txt
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'setuptools'
Error: Failed executing: python3 -c import\ setuptools,\ tokenize
__file__\ =\ 'setup.py'
exec(compile(getattr(tokenize,\ 'open',\ open)(__file__).read()
\ \ .replace('\r\n',\ '\n'),\ __file__,\ 'exec'))
 --no-user-cfg install --prefix=/private/tmp/pros-cli--homebrew-virtualenv-20190612-82487-11sxajw/target --install-scripts=/private/tmp/pros-cli--homebrew-virtualenv-20190612-82487-11sxajw/target/bin --single-version-externally-managed --record=installed.txt
Follow the instructions here:
  https://github.com/Homebrew/homebrew-cask#reporting-bugs
/usr/local/Homebrew/Library/Homebrew/formula.rb:1914:in `block in system'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1851:in `open'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1851:in `system'
/usr/local/Homebrew/Library/Homebrew/language/python.rb:195:in `block in create'
/usr/local/Homebrew/Library/Homebrew/resource.rb:103:in `block in unpack'
/usr/local/Homebrew/Library/Homebrew/resource.rb:173:in `block in mktemp'
/usr/local/Homebrew/Library/Homebrew/mktemp.rb:57:in `block in run'
/usr/local/Homebrew/Library/Homebrew/mktemp.rb:57:in `chdir'
/usr/local/Homebrew/Library/Homebrew/mktemp.rb:57:in `run'
/usr/local/Homebrew/Library/Homebrew/resource.rb:172:in `mktemp'
/usr/local/Homebrew/Library/Homebrew/resource.rb:98:in `unpack'
/usr/local/Homebrew/Library/Homebrew/resource.rb:75:in `stage'
/usr/local/Homebrew/Library/Homebrew/language/python.rb:190:in `create'
/usr/local/Homebrew/Library/Homebrew/language/python.rb:114:in `virtualenv_create'
/usr/local/Homebrew/Library/Homebrew/language/python.rb:162:in `virtualenv_install_with_resources'
/usr/local/Homebrew/Library/Taps/purduesigbots/homebrew-pros/Formula/pros-cli.rb:120:in `install'
/usr/local/Homebrew/Library/Homebrew/build.rb:145:in `block (2 levels) in install'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1132:in `block in brew'
/usr/local/Homebrew/Library/Homebrew/formula.rb:2048:in `block (2 levels) in stage'
/usr/local/Homebrew/Library/Homebrew/utils.rb:478:in `with_env'
/usr/local/Homebrew/Library/Homebrew/formula.rb:2047:in `block in stage'
/usr/local/Homebrew/Library/Homebrew/resource.rb:103:in `block in unpack'
/usr/local/Homebrew/Library/Homebrew/resource.rb:173:in `block in mktemp'
/usr/local/Homebrew/Library/Homebrew/mktemp.rb:57:in `block in run'
/usr/local/Homebrew/Library/Homebrew/mktemp.rb:57:in `chdir'
/usr/local/Homebrew/Library/Homebrew/mktemp.rb:57:in `run'
/usr/local/Homebrew/Library/Homebrew/resource.rb:172:in `mktemp'
/usr/local/Homebrew/Library/Homebrew/resource.rb:98:in `unpack'
/usr/local/Homebrew/Library/Homebrew/resource.rb:75:in `stage'
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/forwardable.rb:202:in `stage'
/usr/local/Homebrew/Library/Homebrew/formula.rb:2023:in `stage'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1127:in `brew'
/usr/local/Homebrew/Library/Homebrew/build.rb:116:in `block in install'
/usr/local/Homebrew/Library/Homebrew/utils.rb:478:in `with_env'
/usr/local/Homebrew/Library/Homebrew/build.rb:113:in `install'
/usr/local/Homebrew/Library/Homebrew/build.rb:194:in `<main>'

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.