מדריך התקנת WPILib

This guide is intended for Java and C++ teams. LabVIEW teams can skip to התקנת LabVIEW עבור FRC (LabVIEW בלבד). Additionally, the below tutorial shows Windows 10, but the steps are identical for all operating systems. Notes differentiating operating systems will be shown.

דרישות מקדימות

Supported Operating Systems and Architectures:
  • Windows 10 & 11, 64 bit only. 32 bit and Arm are not supported

  • Ubuntu 22.04, 64 bit. Other Linux distributions with glibc >= 2.34 may work, but are unsupported

  • macOS 11 or higher, both Intel and Arm.

אזהרה

The following OSes are no longer supported: macOS 10.15, Ubuntu 18.04 & 20.04, Windows 7, Windows 8.1, and any 32-bit Windows.

WPILib is designed to install to different folders for different years, so that it is not necessary to uninstall a previous version before installing this year’s WPILib.

Downloading

WPILib Installer

WPILib 2023.4.3 Release - March 29, 2023

Downloads

Downloads for other platforms

Release Notes

This is an update release of WPILib for the 2023 season. This release reduces NetworkTables CPU usage and latency, improves dashboard NetworkTables connection/disconnection behavior, and has several other quality-of-life improvements, in particular to Shuffleboard. This release also includes all fixes made in earlier releases.

Upgrading from earlier 2023 releases is easy: simply download and run the new installer and it will update your current installation. If you already have the 2023 WPILib vscode installed, it will detect it and you can simply click "next" for that installation step. After installation, vscode will prompt you when opening your robot project whether you want to upgrade it to this version. Note that using the installer is required to get the new version of desktop tools such as Shuffleboard.

The documentation for WPILib is located at https://docs.wpilib.org/ (if you have trouble accessing this location, https://frcdocs.wpi.edu/en/stable/ is an alternate location with the same content).

If you're new to FRC, start with Getting Started.

Minimum system requirements have changed for 2023. WPILib requires 64-bit Windows 10 or 11, Ubuntu 22.04, or macOS 11 or higher. Newly supported this year is Apple Silicon (arm64)! C++ teams should note that Visual Studio 2022 is now required for desktop builds. For this release, Mac users will need to have the Xcode Command Line Tools installed before running the installer; we are working on removing this requirement in a future release. This can be done by running xcode-select --install in the Terminal.

If you're returning from a previous season, check out what's new for 2023; be sure to read through this, as a lot has changed from 2022! You will need a new RoboRIO image for 2023; this is available via the FRC 2023 Game Tools. Follow the WPILib installation guide to install WPILib.

If you're starting from a 2022 robot project, you will need to import your project to create a 2023 project. The import process is important, as it will make a number of automated corrections for some breaking changes that happened in 2023. It is also necessary to import vendor libraries again, since last year’s vendor libraries must be updated to be compatible with this year’s projects.

A complete list of known issues with this release can be found here.

WPILib is developed by a small team of volunteers and the FIRST community.

What's Changed since 2022.4.2

NetworkTables

  • Optimize scan of outgoing messages by @PeterJohnson in https://github.com/wpilibsuite/allwpilib/pull/5227
  • NT4 client: close timed-out connections by @PeterJohnson in https://github.com/wpilibsuite/allwpilib/pull/5175
  • Use int64 for datalog type string by @PeterJohnson in https://github.com/wpilibsuite/allwpilib/pull/5186
  • ParallelTcpConnector: don't connect to duplicate addresses by @PeterJohnson in https://github.com/wpilibsuite/allwpilib/pull/5169

Math

  • Check LTV controller max velocity precondition by @calcmogul in https://github.com/wpilibsuite/allwpilib/pull/5142
  • Fix invalid iterator access in TimeInterpolatableBuffer by @virtuald in https://github.com/wpilibsuite/allwpilib/pull/5138
  • Fix Pose3d log returning Twist3d NaN for theta between 1E-9 and 1E-7 by @7910f6ba7ee4 in https://github.com/wpilibsuite/allwpilib/pull/5168
  • Fix NaN in C++ MakeCostMatrix() that takes an array by @calcmogul in https://github.com/wpilibsuite/allwpilib/pull/5194
  • Fix potential divide-by-zero in RKDP by @calcmogul in https://github.com/wpilibsuite/allwpilib/pull/5242

Commands

  • RamseteCommand: default-initialize m_prevSpeeds by @PeterJohnson in https://github.com/wpilibsuite/allwpilib/pull/5188

WPILib

  • Add isTestEnabled and minor docs cleanup by @rzblue in https://github.com/wpilibsuite/allwpilib/pull/5172
  • Fix enableLiveWindowInTest crashing in disabled by @rzblue in https://github.com/wpilibsuite/allwpilib/pull/5173
  • DataLogManager: increase time for datetime to be valid by @PeterJohnson in https://github.com/wpilibsuite/allwpilib/pull/5185
  • Fix DutyCycleEncoder.setDistancePerRotation() in java simulation by @rzblue in https://github.com/wpilibsuite/allwpilib/pull/5147
  • Fix RobotController.getComments() mishandling quotes inside the comments string by @rzblue in https://github.com/wpilibsuite/allwpilib/pull/5197
  • [java] DriverStation: Fix joystick data logs by @PeterJohnson in https://github.com/wpilibsuite/allwpilib/pull/5240
  • Shuffleboard: Keep duplicates on SelectTab() by @Starlight220 in https://github.com/wpilibsuite/allwpilib/pull/5198

Shuffleboard

  • Fix IndexOutOfBoundsException in tab setup by @Starlight220 in https://github.com/wpilibsuite/shuffleboard/pull/772
  • Make any entries set by dashboard retained by @PeterJohnson in https://github.com/wpilibsuite/shuffleboard/pull/778
  • FieldData: Don't throw on missing data by @Starlight220 in https://github.com/wpilibsuite/shuffleboard/pull/776
  • Add DataSource.equals() by @Starlight220 in https://github.com/wpilibsuite/shuffleboard/pull/774
  • Don't switch to selected tab on value change by @Starlight220 in https://github.com/wpilibsuite/shuffleboard/pull/771
  • CameraServerWidget: Explicitly unbox Number objects by @Starlight220 in https://github.com/wpilibsuite/shuffleboard/pull/780
  • Use ConcurrentHashMap for static collection of NT sources by @Starlight220 in https://github.com/wpilibsuite/shuffleboard/pull/779

SysId

  • Give measurement period a valid default of 1 by @calcmogul in https://github.com/wpilibsuite/sysid/pull/495
  • Add Venom support by @wlmchen in https://github.com/wpilibsuite/sysid/pull/499

Docs

  • CommandScheduler.isComposed: Remove incorrect throws clause (NFC) by @DAflamingFOX in https://github.com/wpilibsuite/allwpilib/pull/5183
  • WaitCommand: Remove subclass note (NFC) by @Starlight220 in https://github.com/wpilibsuite/allwpilib/pull/5200

Examples

  • Shuffleboard: Correct parameter order by @Starlight220 in https://github.com/wpilibsuite/allwpilib/pull/5204

New Contributors

  • @7910f6ba7ee4 made their first contribution in https://github.com/wpilibsuite/allwpilib/pull/5143
  • @wlmchen made their first contribution in https://github.com/wpilibsuite/sysid/pull/499

MD5 Hashes

fc58a52edea675b0ff91938a9c9d0743 WPILib_Linux-2023.4.3.tar.gz
5b67d336669bed34ab0dd428f81b9d31 WPILib_Windows-2023.4.3.iso
47246def80eea87b468e0be30119f789 WPILib_macOS-Intel-2023.4.3.dmg
1bb6113c1202fbb68248c3848556e47e WPILib_macOS-Arm64-2023.4.3.dmg

SHA256 Hashes

640e1ee7cc8f39d1789b4137f4a5aae90f78eeecf2326e2c50808205d02e7795 WPILib_Linux-2023.4.3.tar.gz
8ea417ede0a8541c9ab906b943be55ca49112dddef6750f2db1a742ba0c69378 WPILib_Windows-2023.4.3.iso
a80723596a08790c78b4c35ac64b4758c72076e74df559512a62c808b2a11ef1 WPILib_macOS-Intel-2023.4.3.dmg
8dad67e28a3bdf482979a1fe4c857d52ab36a2fdec56ae05971b7177d5409ae9 WPILib_macOS-Arm64-2023.4.3.dmg

You can download the latest release of the installer from GitHub.

Once on the GitHub releases page, scroll to the assets section at the bottom of the page.

Latest WPILib release page on GitHub

Then click on the correct binary for your OS and architecture to begin the download.

Assets at bottom of latest WPILib release page on GitHub

חילוץ המתקין

כאשר אתם מוריד את מתקין ה-WPILib, הוא מופץ כקובץ תמונת דיסק .iso עבור Windows, קובץ .tar.gz עבור לינוקס, או DMG עבור macOS.

Windows 10+ users can right click on the downloaded disk image and select Mount to open it. Then launch WPILibInstaller.exe.

The menu after right clicking on an .iso file to choose "Mount".

הערה

Other installed programs may associate with iso files and the mount option may not appear. If that software does not give the option to mount or extract the iso file, then follow the directions below.

You can use 7-zip to extract the disk image by right-clicking, selecting 7-Zip and selecting Extract to…. Windows 11 users may need to select Show more options at the bottom of the context menu.

After right clicking on the .iso file go to "7-Zip" then "Extract to....".

After opening the .iso file, launch the installer by opening WPILibInstaller.exe.

הערה

After launching the installer, Windows may display a window titled ”Windows protected your PC“. Click More info, then select Run anyway to run the installer.

הרצת המתקין

כאשר תפתחו את המתקין, תראו מסך דומה למסך שלמטה. לחצו על Start.

Start of InstallerAn overview of the installer options

This showcases a list of options included with the WPILib installation.

  • Tools Only installs just the WPILib tools (Pathweaver, Shuffleboard, RobotBuilder, SysID, Glass, and OutlineViewer) and JDK.

  • Everything installs the full development environment (VS Code, extensions, all dependencies), WPILib tools, and JDK.

אתם תבחינו בשני כפתורים, Install for this User ו-Install for all Users. ה-Install for this User יתקין רק במשתמש הנוכחי ואינו דורש הרשאות מנהל מערכת. עם זאת, Install for all Users מתקין את הכלים לכל משתמשי המערכת ודורש הרשאת מנהל. Install for all Users אינה אפשרית עבור macOS ולינוקס.

הערה

If you select Install for all Users, Windows will prompt for administrator access through UAC during installation.

בחרו באפשרות המתאימה לכם, ולאחר מכן יוצג בפניכם מסך ההתקנה הבא.

המסך הבא קשור להורדה של VS Code. מטעמי רישיון, VS Code לא יכול להיכלל במתקין.

Overview of VS Code download options
  • Download for this computer only

    • זה מוריד את VS Code רק עבור הפלטפורמה הנוכחית, שזוהי גם ההתקנה הקטנה ביותר.

  • Skip and don’t use VS Code

    • מדלג על התקנת VS Code. שימושי להתקנות או קונפיגורציות מתקדמות. בדרך כלל לא מומלץ.

  • Select existing VS Code zip for offline install on this computer

    • בחירה באפשרות זו תאפשר לכם לבחור מיקום קובץ קיים של VS Code שהורד בעבר על ידי המתקין. אפשרות זו לא מאפשרת לכם לבחור עותק של VS Code שכבר מותקן במחשב שלכם.

  • Create VS Code zip to share with other computers/OSes for offline install

    • אפשרות זו מורידה ושומרת עותק של VS Code לכל הפלטפורמות, דבר זה שימושי עבור שיתוף העותק של המתקין.

Go ahead and select Download for this computer only. This will begin the download process and can take a bit depending on internet connectivity (it’s ~100MB). Once the download is done, select Next. You should be presented with a screen that looks similar to the one below.

Installer progress bar

לאחר השלמת ההתקנה, יוצג בפניכם מסך הסיום.

Installer finished screen.

חשוב

WPILib installs a separate version of VS Code. It does not use an already existing installation. Each year has it’s own copy of the tools appended with the year. IE: WPILib VS Code 2022. Please launch the WPILib VS Code and not a system installed copy!

מזל טוב, סביבת הפיתוח והכלים של WPILib מותקנים כעת במחשב שלכם! לחצו על סיום כדי לצאת מהמתקין.

לאחר ההתקנה

מערכות הפעלה מסוימות דורשות פעולה סופית כלשהי להשלמת ההתקנה.

לאחר ההתקנה, המתקין פותח את תיקיית ה-WPILib VS Code. גררו את היישום VS Code ל-Dock. הוציאו את דמות הכונן WPILibInstaller משולחן העבודה.

הערה

Installing desktop tools and rebooting will create a folder on the desktop called YYYY WPILib Tools, where YYYY is the current year. Desktop tool shortcuts are not available on Linux and macOS.

Additional C++ Installation for Simulation

C++ robot simulation requires that a native compiler to be installed. For Windows, this would be Visual Studio 2022 (not VS Code), macOS requires Xcode 13 or later, and Linux (Ubuntu) requires the build-essential package.

Ensure the Desktop Development with C++ option is checked in the Visual Studio installer for simulation support.

Screenshot of the Visual Studio build tools option

מה הותקן?

המתקין הלא מקוון מתקין את הרכיבים הבאים:

  • Visual Studio Code - ה-IDE הנתמך לפיתוח קוד לרובוטים החל מ-2019. המתקין הלא מקוון מגדיר עותק נפרד של VS Code לפיתוח WPILib, גם אם כבר יש לכם VS Code מותקן. זה נעשה מכיוון שחלק מההגדרות הנדרשות ל-WPILib עשויות לשבור את תהליכי העבודה הקיימים אם אתם משתמשים ב-VS Code לפרויקטים אחרים.

  • C++ Compiler - הכלי לבניית קוד C++ עבור ה-roboRIO

  • Gradle - גרסת ה-Gradle עבור בנייה/הורדת קוד רובוט ב-C++ או Java

  • Java JDK/JRE - גרסה ספציפית של Java JDK/JRE המשמשת לבניית קוד Java לרובוט ולהפעלת כל אחד מהכלים מבוססי Java (לוחות מחוונים וכו׳). זה מתקיים יחד עם כל התקנות ה-JDK הקיימות ואינו מחליף את המשתנה JAVA_HOME.

  • WPILib Tools - SmartDashboard, Shuffleboard, RobotBuilder, Outline Viewer, Pathweaver, Glass, SysID

  • WPILib Dependencies - כמו OpenCV, וכו׳.

  • הרחבות VS Code - הרחבות WPILib לבניית קוד לרובוט ב-VS Code

הסרת ההתקנה

WPILib מעוצב כך שיהיה אפשר להתקין שנים שונות בתיקיות נפרדות, כך שלא צריך להסיר גרסא ישנה בשביל להתקין את WPILib של השנה. למרות זאת, אם רוצים, ניתן לעקוב אחר ההוראות הבאות כדי להסיר את WPILib.

  1. Delete the appropriate wpilib folder (c:\Users\Public\wpilib\YYYY where YYYY is the year to uninstall)

  2. מחקו את האיקונים ב-C:\Users\Public\Public Desktop

  3. מחקו את הנתיב ממשתני הסביבה.

    1. בתפריט ההתחל, הקלידו environment ובחרו ”edit the system environment variables“

    2. לחצו על כפתור ה-Environment Variables (תמונה 1)

    3. ב-User Variables, בחרו ב-Path (תמונה 2) ולחצו Edit (תמונה 3)

    4. בחרו בנתיב עם roborio\bin (תמונה 4) ולחצו Delete (תמונה 5).

    5. בחרו בנתיב עם frccode ולחצו Delete (תמונה 5).

    6. חזרו על שלבים 3-6 בחלון ה-Systems Variable.

The "System Properties", "Environment Variables", and "Edit Environment Variables" screens.

פתרון בעיות

במקרה שההתקנה נכשלה, פתחו בעיה ב-Repository של המתקין. קישור נמצא כאן. המתקין מציין הודעה על סיבת השגיאה, אנא כללו אותה בתיאור הבעיה.