This commit is contained in:
Olivier Demers 2024-03-21 19:27:08 -04:00
parent c27e0efeea
commit 0cf3ca5541
13 changed files with 5053 additions and 1701 deletions

View File

@ -1,23 +1,20 @@
import { defineConfig } from 'astro/config'; import { defineConfig } from "astro/config";
import starlight from '@astrojs/starlight'; import starlight from "@astrojs/starlight";
// https://astro.build/config // https://astro.build/config
export default defineConfig({ export default defineConfig({
integrations: [ integrations: [
starlight({ starlight({
title: 'Documentation PLS5618', title: "Documentation PLS5618",
favicon: 'favicon.png', favicon: "favicon.png",
sidebar: [ sidebar: [
{ {
label: 'Java', label: "Java",
autogenerate: { directory: 'java' }, autogenerate: { directory: "java" },
}, },
{ {
label: 'Robot', label: "Robot",
items: [ autogenerate: { directory: "robot" },
{ label: "Débuter", autogenerate: { directory: "robot/debuter" } },
{ label: "Nouveau Projet", autogenerate: { directory: "robot/nouveau_projet" } }
],
}, },
], ],
locales: { locales: {
@ -25,10 +22,10 @@ export default defineConfig({
label: "Français", label: "Français",
lang: "fr", lang: "fr",
}, },
} },
}), }),
], ],
// Process images with sharp: https://docs.astro.build/en/guides/assets/#using-sharp // Process images with sharp: https://docs.astro.build/en/guides/assets/#using-sharp
image: { service: { entrypoint: 'astro/assets/services/sharp' } }, image: { service: { entrypoint: "astro/assets/services/sharp" } },
}); });

6490
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -10,9 +10,9 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/check": "^0.2.0", "@astrojs/check": "^0.5.9",
"@astrojs/starlight": "^0.9.0", "@astrojs/starlight": "^0.21.2",
"astro": "^3.0.6", "astro": "^4.5.8",
"sharp": "^0.32.5", "sharp": "^0.32.5",
"typescript": "^5.2.2" "typescript": "^5.2.2"
} }

View File

@ -11,5 +11,3 @@ hero:
link: /robot/ link: /robot/
variant: primary variant: primary
--- ---

View File

@ -49,12 +49,12 @@ retourne (si elle retourne quelque chose) et les arguments qu'elle pourrait
demander. Par exemple, pour la fonction `add`, elle retourne un `int` et prend demander. Par exemple, pour la fonction `add`, elle retourne un `int` et prend
deux arguments `int`. deux arguments `int`.
```java
// type-de-retour nom(argument) // type-de-retour nom(argument)
int add(int a, int b) { int add(int a, int b) {
return a + b; return a + b;
} }
```
````
On commence par donner le type de retour (un `int` dans ce cas), suivi du nom de On commence par donner le type de retour (un `int` dans ce cas), suivi du nom de
la fonction (`add`) et, entre parenthèses, les arguments de la fonction (`a` et la fonction (`add`) et, entre parenthèses, les arguments de la fonction (`a` et
@ -78,4 +78,4 @@ Si vous voulez que votre fonction ne retourne rien, donnez-lui le type de retour
void fun() { void fun() {
// Faire quelque chose // Faire quelque chose
} }
``` ````

View File

@ -4,5 +4,3 @@ lang: fr
sidebar: sidebar:
order: 2 order: 2
--- ---

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -1,5 +0,0 @@
---
title: Robot
sidebar:
hidden: true
---

View File

@ -5,7 +5,6 @@ sidebar:
order: 1 order: 1
--- ---
Pour programmer un robot _FRC_, nous avons plusieurs choses à installer : Pour programmer un robot _FRC_, nous avons plusieurs choses à installer :
- Les [outils de développement](#outils-de-développement), qui permettent de programmer le robot et déployer le programme sur un robot - Les [outils de développement](#outils-de-développement), qui permettent de programmer le robot et déployer le programme sur un robot

View File

@ -1,83 +0,0 @@
---
title: Installer AdvantageKit
lang: fr
sidebar:
order: 2
---
AdvantageKit permet de recevoir plus d'information du robot, ce qui nous aidera à debug.
[Plus d'information](https://github.com/Mechanical-Advantage/AdvantageKit/blob/main/docs/INSTALLATION.md)
## Ajouter le répertoire d'AdvantageKit
Ajouter ce code à la fin du fichier `build.gradle` pour ajouter le repertoire d'AdvantageKit.
```groovy
repositories {
maven {
url = uri("https://maven.pkg.github.com/Mechanical-Advantage/AdvantageKit")
credentials {
username = "Mechanical-Advantage-Bot"
password = "\u0067\u0068\u0070\u005f\u006e\u0056\u0051\u006a\u0055\u004f\u004c\u0061\u0079\u0066\u006e\u0078\u006e\u0037\u0051\u0049\u0054\u0042\u0032\u004c\u004a\u006d\u0055\u0070\u0073\u0031\u006d\u0037\u004c\u005a\u0030\u0076\u0062\u0070\u0063\u0051"
}
}
}
```
Il faut aussi ajouter ce code en dessous pour remplacer certaines fonctionalités de WPILib par celles de AdvantageKit.
```groovy
configurations.all {
exclude group: "edu.wpi.first.wpilibj"
}
```
## Ajout dans le programme
Il faut ensuite ajouter les bibliothèques qui permettent de choisir quoi enregistrer.
### Bibliothèques
Il faut utiliser la même technique que dans [Bibliothèques de composants](./vendor_libraries) avec le lien suivant:
```
https://github.com/Mechanical-Advantage/AdvantageKit/releases/latest/download/AdvantageKit.json
```
### Configuration du robot
Il faut ensuite aller remplacer le type de robot pour celui de AdvantageKit dans `Robot.java`:
```java
public class Robot extends LoggedRobot {
...
}
```
Ensuite, dans `robotInit()` ajoutez les lignes suivantes:
```java
Logger.getInstance().recordMetadata("ProjectName", "5618BOT");
if (isReal()) {
Logger.getInstance().addDataReceiver(new WPILOGWriter("/media/sda1/"));
new PowerDistribution(1, ModuleType.kCTRE);
}
Logger.getInstance().addDataReceiver(new NT4Publisher());
Logger.getInstance().start();
```
:::caution
Il faut importer le `Logger` de `org.littletonrobotics.junction.Logger`.
:::
:::note
Remplacer le ModuleType du PowerDistribution par kREV selon le PDP utilisé.
:::
AdvantageKit est installé. Vous pouvez maintenant utiliser [AdvantageScope](https://github.com/Mechanical-Advantage/AdvantageScope).

View File

@ -1,37 +0,0 @@
---
title: Bibliothèques de composants
lang: fr
sidebar:
order: 1
---
NavX
```
https://dev.studica.com/releases/2023/NavX.json
```
Phoenix (CTRE)
```
https://maven.ctr-electronics.com/release/com/ctre/phoenix/Phoenix5-frc2023-latest.json
```
REV
```
https://software-metadata.revrobotics.com/REVLib-2023.json
```
AdvantageKit (voir [AdvantageKit](./advantagekit))
```
https://github.com/Mechanical-Advantage/AdvantageKit/releases/latest/download/AdvantageKit.json
```
YAGSL (Swerve, voir [YAGSL](./yagsl.md))
```
https://broncbotz3481.github.io/YAGSL-Lib/yagsl/yagsl.json
```

View File

@ -0,0 +1,10 @@
---
title: Bibliothèques de composants
lang: fr
sidebar:
order: 3
---
Voici le lien avec toutes les librairies que vous pourriez avoir besoin sur [le site de documentation](https://docs.wpilib.org/en/stable/docs/software/vscode-overview/3rd-party-libraries.html#vendor-libraries).
Pour les installer, allez dans votre projet, faites un clic droit sur le fichier build.gradle, choisissez `Manage Vendor Libraries`. Un menu apparaîtra en haut de l'écran, choisissez `Install new libraries (online)` et collez le lien que vous avez copié sur la page (finissant par `.json`). Les instructions sont aussi disponibles [dans la documentation officielle](https://docs.wpilib.org/en/stable/docs/software/vscode-overview/3rd-party-libraries.html#installing-libraries).

View File

@ -1,18 +1,15 @@
--- ---
title: YAGSL (Swerve) title: YAGSL (Swerve)
lang: fr lang: fr
sidebar:
order: 3
--- ---
[Yet Another Generic Swerve Library](https://github.com/BroncBotz3481/YAGSL) permet de facilement créer un sous-système swerve pour un robot. [Yet Another Generic Swerve Library](https://github.com/BroncBotz3481/YAGSL) permet de facilement créer un sous-système swerve pour un robot.
Plus d'information sera ajoutée, mais pour l'instant vous pouvez suivre la documentation [ici](https://github.com/BroncBotz3481/YAGSL) Plus d'information sera ajoutée, mais pour l'instant vous pouvez suivre la documentation [ici](https://yagsl.gitbook.io/yagsl)
## Installation ## Installation
Installer les [bibliothèques](vendor_libraries.md) de NavX, Phoenix, REV et YAGSL. Installer les [bibliothèques](./vendor_libraries) de NavX, Phoenix, REV et YAGSL.
## Configuration ## Configuration
@ -27,22 +24,18 @@ Vous pouvez donc aller chercher le dossier d'[exemple](https://github.com/BroncB
3. Créer le `SwerveDrive` à partir de la configuration 3. Créer le `SwerveDrive` à partir de la configuration
```java ```java
SwerveDrive swerveDrive; double maximumSpeed = Units.feetToMeters(4.5)
File swerveJsonDirectory = new File(Filesystem.getDeployDirectory(),"swerve");
/** Creates a new SwerveSubsystem. */ SwerveDrive swerveDrive = new SwerveParser(directory).createSwerveDrive(maximumSpeed);
public SwerveSubsystem(File file) {
try {
this.swerveDrive = new SwerveParser(file).createSwerveDrive();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
``` ```
:::note
Ici, on utilise un [try-catch](../../java/try-catch){target="\_blank"}, car il pourrait y avoir une erreur si les fichiers de configuration n'existent pas;
:::
Vous devrez ensuite ajouter vos méthodes pour intéragir avec le `SwerveDrive` dans le subsystem. Vous devrez ensuite ajouter vos méthodes pour intéragir avec le `SwerveDrive` dans le subsystem.
```java
swerveDrive.drive(new Translation2d(
translationX.getAsDouble() * swerveDrive.getMaximumVelocity(),
translationY.getAsDouble() * swerveDrive.getMaximumVelocity()),
angularRotationX.getAsDouble() * swerveDrive.getMaximumAngularVelocity(),
true,
false);
```