UPDATE
This commit is contained in:
parent
c27e0efeea
commit
0cf3ca5541
@ -1,34 +1,31 @@
|
|||||||
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: {
|
||||||
},
|
root: {
|
||||||
],
|
label: "Français",
|
||||||
locales: {
|
lang: "fr",
|
||||||
root: {
|
},
|
||||||
label: "Français",
|
},
|
||||||
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
6490
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -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"
|
||||||
}
|
}
|
||||||
|
@ -2,14 +2,12 @@
|
|||||||
title: Documentation PLS5618
|
title: Documentation PLS5618
|
||||||
template: splash
|
template: splash
|
||||||
hero:
|
hero:
|
||||||
title: Documentation de PLS 5618
|
title: Documentation de PLS 5618
|
||||||
actions:
|
actions:
|
||||||
- text: Java
|
- text: Java
|
||||||
link: /java/
|
link: /java/
|
||||||
variant: primary
|
variant: primary
|
||||||
- text: Robot
|
- text: Robot
|
||||||
link: /robot/
|
link: /robot/
|
||||||
variant: primary
|
variant: primary
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
```
|
````
|
||||||
|
@ -2,7 +2,5 @@
|
|||||||
title: Créer un projet
|
title: Créer un projet
|
||||||
lang: fr
|
lang: fr
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 2
|
order: 2
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
title: Robot
|
|
||||||
sidebar:
|
|
||||||
hidden: true
|
|
||||||
---
|
|
@ -2,10 +2,9 @@
|
|||||||
title: Installation
|
title: Installation
|
||||||
lang: fr
|
lang: fr
|
||||||
sidebar:
|
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
|
@ -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).
|
|
@ -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
|
|
||||||
```
|
|
10
src/content/docs/robot/vendor_libraries.md
Normal file
10
src/content/docs/robot/vendor_libraries.md
Normal 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).
|
@ -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);
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user