purduesigbots / pros-docs Goto Github PK
View Code? Open in Web Editor NEWSource for the PROS website
Home Page: http://pros.cs.purdue.edu
Source for the PROS website
Home Page: http://pros.cs.purdue.edu
They're not necessary and they look kinda weird in the table of contents
The following page: https://pros.cs.purdue.edu/v5/tutorials/topical/adi.html#ultrasonic says that the yellow INPUT wire must be in an odd port, with the syntax being ECHO, PING.
However, here: https://pros.cs.purdue.edu/v5/api/cpp/adi.html#pros-adiultrasonic the syntax is PING, ECHO and the PING OUTPUT wire must be in the odd numbered port.
https://github.com/purduesigbots/pros-docs/blob/master/cortex/tutorials/tasks.rst
Second paragraph
"Tasks are creating ..."
should be
"Tasks are created..."
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:
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)
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?
The conductor page links to itself because the page is generated using sphinx-click, which means the URL in the conductor.py file makes it's way into the documentation. Not sure how this should be solved, as it seems like there's a couple ways to do it.
We need to make changes to reflect changes on kernel documentation for rotation docs. Specifically, what rotation_get_angle does.
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
When I run motion profiling and disable autonomous while a path is executing, a memory permission error is thrown.
The prototype for get_accel
here has an incorrect prototype. Its shows get_gyro_rate( )
for its prototype instead of get_accel ( )
.
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.
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).
What is the license of this documentation? Thanks!
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.
Expected behavior: Some kind of code that explains how simple the controller io is.
Actual behavior: No such code exists.
-------- ----------- -------------
kernel 3.1.6 pros-mainline
okapilib 4.0.0-beta8 local```
turns out that users of arch and fedora (and probably others) will want to also install arm-none-eabi-newlib
as well, otherwise they may not have all the headers around (e.g. errno.h)
https://pros.cs.purdue.edu/v5/okapi/tutorials/walkthrough/autonomous-movement-basic.html?highlight=concept
If you click the concept page link from the page above, it's not found (since it doesn't exist).
Here is said non-existent link:
https://pros.cs.purdue.edu/v5/okapi/tutorials/concepts/chassiscontroller.html
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
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
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."
gentlemen,
kudos to you for this project. any plans to create a msi and /or a silent install option?
please do.
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).
The Extended API Topics Page has a section called Multitasking (Extended API) that just shows titles for sections and nothing else. It seems like some of the material intended to be in this section is actually in the Extended API Page. Also might make sense to consolidate and instead of having an Extended API Topics page just have one page with all Extended API Documentation.
In the ADI(3 wire ports) page (https://pros.cs.purdue.edu/v5/tutorials/topical/adi.html) the code provided in the c++ section for the line tracker had the line
"while(sensor.get_value < 2000) {"
Instead of
"while(sensor.get_value() < 2000) {"
Thanks -Jacob
The signature for this method is incorrect: https://pros.cs.purdue.edu/v5/api/cpp/motors.html#move
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.
Work through all issues and PRs in the PROS Docs Repo
When installing pros-cli on macOS (from the wheel), the module installs but is not added to the path. There should be instructions for how to add a symbolic link to prosv5
in /usr/local/bin/
.
Pretty self-explanatory. I'll fix it in when I'm off the clock today.
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.
ADIPotentiometer
, ADILineSensor
, ADILightSensor
, and ADIAccelerometer
are not documented, except for in a note here: https://pros.cs.purdue.edu/v5/api/cpp/adi.html#pros-adianalogin
At a competition, I was having connection issues because of the lack of delay()
in the operator control task. I feel like this should be in the tutorial / coding FAQ
The pros 2 download link is broken it causes a 404 error
The ChassisController
tutorial here is incomplete. It should at least continue by describing the gearset and scales after describing the motor configuration.
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.
There are a lot of stale branches which we don't need to keep around anymore that should be deleted.
Java is required for PROS. Please install the latest version of Java from http://java.sun.com/
mac os 10.15.2,has installed java version ( 1.8.0_241-b07)
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:
While on the topic, I believe it should be "V5" instead of "v5".
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.
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:
text
is being used as the parameter; I've seen more than one person think that it gives the task name.It may also be a good idea to show examples using the new constructor added in 3.2.1.
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);
}
}
https://pros.cs.purdue.edu/v5/tutorials/topical/adi.html?highlight=line%20sensor#line-tracker
The example code in the linked portion of the tutorial is incorrect.
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>'
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.