PROS CLI 3.2.0 - 📶 Wireless Terminal! (IMPORTANT)

At long last! The PROS CLI release 2+ years in the making: PROS CLI 3.2.0 - :signal_strength::desktop_computer: Wireless Terminal!

Important : in order to use PROS with vexOS 1.0.13, you MUST upgrade to this version!

This release has a number of long-awaited features, not least of which is official support for the wireless terminal .

To install PROS for the first time, click on pros-windows-3.2.0.0-64bit.exe from our github release page or follow the instructions here for macOS.

Another notable change is that you can now (again) use the pros command to refer to the CLI!
For those of you who have committed prosv5 to muscle memory over the last few years—don’t worry, that command still exists.

We are also pleased to announce that pros-cli is back on PyPi!

Anyone who installed through pip should be able to run pip install --upgrade pros-cli and get this release.

A number of other miscellaneous bugfixes and improvements were added, so feel free to browse the full changelog below.

New features:

  • Added wireless terminal (Finally!)
  • Rename distribution from pros-cli-v5 to pros-cli
  • Both pros and prosv5 work for the CLI now.
  • Compatibility with vexOS 1.0.13

Bugfixes:

  • Fixed terminal input
  • Fixed bug with channel switching for wireless uploads
  • Fixed UnicodeDecodeError in UI
  • Fix uploading to a slot specified in the project file
  • Fix issue with schema length for vexOS release
  • Fix uploading without a project

For our github release, check out it out here.

For upgrade instructions and more information, check out our blog post here.

20 Likes

Lets goooooo wireless terminal!!

Just to clarify, wireless terminal is still read-only right? No wireless std::cin?

1 Like

NOTE: For now wireless terminal is just read-only. Hopefully we’ll be able to support inputs in the future.

3 Likes

Thank you for this feature, not having access to a wireless terminal made it very hard to debug autonomous and now it will be much easier.

3 Likes

Oh this is gonna be so useful guys, thanks.
Any idea what the maximum bandwidth is?

2 Likes

I’m getting this error after I upgraded using brew upgrade pros-cli and I get this error when I call pros --version

pypng==0.0.20’ distribution was not found and is required by pros-cli
File “/usr/local/Cellar/pros-cli/3.2.0/libexec/lib/python3.9/site-packages/pkg_resources/init.py”, line 772, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The ‘pypng==0.0.20’ distribution was not found and is required by pros-cli

Instal the wheel like this: python3 -m pip install ~/Downloads/pros_cli-3.2.0-py3-none-any.whl

It appears the brew recipe has the wrong version of pypng - 0.0.19

don’t install the wheel like that. we’re updating the formula with the right version right now :slightly_smiling_face:

1 Like

So I get the error I mentioned when running the any pros command from the terminal in atom but when I run it from the Terminal it outputs no error

Screen Shot 2021-03-19 at 10.11.34 AM Screen Shot 2021-03-19 at 10.11.57 AM

@33691A-Gold_Dusk @vexteacher + @ anyone who was running into the pypng issue on mac:

run brew update and brew reinstall pros-cli to resolve

2 Likes

Known Issues (please read this ENTIRE post!)

All platforms

  • There is currently a bug related to uploading projects wirelessly (i.e. through a controller) to a brain with the latest firmware. We’re working on a fix and will post another release as soon as we have it

Windows

If you upgraded PROS at any point between 2:30AM and 3:00PM (EDT) on March 19 2021, you likely ran into various problems including (but not necessarily limited to):

  • missing start menu shortcut to the PROS Editor
  • unable to run CLI commands due to a missing module
  • cquery unable to start in the Editor

These are resolved in the latest version of the installer (3.2.0.1), so please use that to upgrade. You will likely have to uninstall PROS completely before running the new one. Anyone upgrading from 3.1.4 after 3:00PM EDT on March 19 2021 will NOT need to uninstall PROS first.

UPDATE: if you are unable to build projects, please add %PROS_TOOLCHAIN%\gcc-arm-none-eabi-10-2020-q4-major\bin to your PATH environment variable as a temporary workaround (guide). Your PATH should look something like this when you’re done:
image

You will then have to restart any instance of the PROS Editor or command prompt in order for the change to take effect.

UPDATE 2: we’ve been getting reports from some users that files are missing after running the installer. So far we’ve seen errors including

this one when running the CLI at all (click to reveal error)
Python path configuration:
  PYTHONHOME = (not set)
  PYTHONPATH = (not set)
  program name = 'C:\Program Files\PROS\cli\pros.exe'
  isolated = 0
  environment = 0
  user site = 1
  import site = 0
  sys._base_executable = 'C:\Program Files\PROS\cli\pros.exe'
  sys.base_prefix = ''
  sys.base_exec_prefix = ''
  sys.platlibdir = 'lib'
  sys.executable = 'C:\Program Files\PROS\cli\pros.exe'
  sys.prefix = ''
  sys.exec_prefix = ''
  sys.path = [
    'C:\Program Files\PROS\cli\lib\library.zip',
    'C:\Program Files\PROS\cli\lib',
  ]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'
this one when attempting to build a project (click to reveal error)
ERROR - pros.cli.main:main - [WinError 2] The system cannot find the file specified
  File "C:\Python38\lib\subprocess.py", line 1307, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified

To fix either of these errors, run the installer again in “repair” mode. You can verify this has worked by checking the path %PROS_TOOLCHAIN%\bin for the presence of a program called make. Following this, you will likely run into problems that can be resolved by applying the workaround from my first update above.

MacOS

If you upgraded PROS at any point between 2:30AM and 11:45AM (EDT) on March 19 2021, you likely ran into an issue relating to a mismatched version of pypng.

This has been resolved in the latest pros-cli homebrew formula, which can be applied by running brew update && brew reinstall pros-cli

13 Likes

I updated by Brain firmware and the pros CLI, and downloading directly to the brain works just fine, but downloading through the controller gives me this:

ERROR - pros.cli.upload:upload - name 'get_version' is not defined
  File "/home/<user>/.local/lib/python3.8/site-packages/pros/serial/devices/vex/v5_device.py", line 952, in _rx_ext_packet
    ui.echo(f'WARNING: Recieved length is more than {rx_length} (got {len(msg)}). Consider upgrading the PROS (CLI Version: {get_version()}).')
NameError: name 'get_version' is not defined

I’m on linux by the way.

1 Like

Thanks for the report, we’ll be trying to put out a fix ASAP.

1 Like

I am having the same issue

see my above post re: known issues. in the meantime you will have to just upload over a direct USB connection.

3 Likes

I’ve tried updating to 3.2.0.1 on 2 laptops and am now getting:

pros make
Creating cold package with libc,libm,libpros,okapilib [ERRORS]
c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/bin/ld.exe: c:/program files/pros/toolchain/usr/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/lib/thumb/v7-a+simd/softfp\libstdc++.a(cow-fs_ops.o): in function `std::filesystem::create_directory_symlink(std::filesystem::path const&, std::filesystem::path const&, std::error_code&)':
cow-fs_ops.cc:(.text._ZNSt10filesystem24create_directory_symlinkERKNS_4pathES2_RSt10error_code+0x8): undefined reference to `symlink'```

Wow it’s been a while since I’ve posted…

This is excellent!!! Thank you so much for this feature. I’m no longer competing, but this is still a feature I’ve been looking forward to

4 Likes

make sure your project is using the latest version of the kernel (3.4.0)

2 Likes

Will try that later today. From what we did over the weekend:

  • 1 Laptop (updated Saturday) successfully updated and can build/upload with the new CLI. We did not update the projects on it to 3.4.0
  • 2 Laptops (initially updated sometime Friday) initially worked (without updating projects to 3.4.0). We mistakenly thought the 3.2.0.1 update to the CLI fixed the wireless upload issue, and so we uninstalled the PROS CLI (3.2.0.0) and installed 3.2.0.1. After doing this, both laptops now exhibit the "symlink not found" error.
  • On one of the 2 failed laptops above, I was able to get PROS CLI installed on the Windows Linux Subsystem, and that was able to compile projects (again, not updated to 3.4.0), but this method does not seem to be able to upload via direct laptop-brain USB (I think WLS does not have access to the USB device)

the issue is that we updated the toolchain to a version with a newer version of newlib. we have defined the missing symbols in the latest couple versions of the kernel, which is why updating the project(s) should fix this.

2 Likes