Qu’est-ce que WPILib?

The WPI Robotics Library (WPILib) is the standard software library provided for teams to write code for their FRC® robots. WPILib contains a set of useful classes and subroutines for interfacing with various parts of the FRC control system (such as sensors, motor controllers, and the driver station), as well as an assortment of other utility functions.

Languages supportés

Il existe deux versions de WPILib, une pour chacun des deux langages textuels officiellement pris en charge : WPILibJ pour Java et WPILibC pour C++. Un effort considérable est fait pour maintenir la parité des fonctionnalités entre ces deux langages - les fonctionnalités de la librairie ne sont pas ajoutées à moins qu’elles ne puissent être raisonnablement prises en charge pour Java et C++, et lorsque cela est possible, les noms de classe et de méthode restent identiques ou très similaires. Bien qu’un support communautaire non officiel soit disponible pour certains autres langages, notamment python, cette documentation ne couvrira que Java et C++. Java et C++ ont été choisis pour les langages officiellement pris en charge en raison de leur niveau d’abstraction approprié et de leur omniprésence dans les cours d’informatique de l’industrie et du secondaire.

En général, C++ offre de meilleures performances finales, au prix d’un effort utilisateur accru (la mémoire doit être gérée manuellement et le compilateur C++ ne fait pas grand-chose pour garantir que le code utilisateur ne plantera pas lors de l’exécution). Java offre des performances moindres, mais beaucoup plus de commodité. Les utilisateurs nouveaux ou inexpérimentés sont vivement encouragés à utiliser Java.

Code source et documentation

WPILib est une librairie source-ouverte - l’intégralité de son code source est disponible en ligne sur la page WPILib GitHub :

Le code source Java et C++ se trouve dans les répertoires source WPILibJ et WPILibC:

Les utilisateurs sont fortement encouragés à lire le code source pour résoudre des questions détaillées sur les fonctionnalités de la bibliothèque. Une documentation plus concise peut être trouvée sur les pages de documentation officielles de WPILibJ et WPILibC: