Merge remote-tracking branch 'origin/abescat-patch-1'

This commit is contained in:
Oskar Orvik 2026-05-14 16:44:32 +02:00
commit 7f2a47bbf3
2 changed files with 912 additions and 138 deletions

View file

@ -0,0 +1,764 @@
<!DOCTYPE html>
<html lang="fr-FR" data-theme="forgejo-auto">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>PIR_MadMax/PCB/CompatibiliteL4F4.pdf sur main - taban/PIR_MadMax - GitEtud</title>
<link rel="manifest" href="data:application/json;base64,eyJuYW1lIjoiR2l0RXR1ZCIsInNob3J0X25hbWUiOiJHaXRFdHVkIiwic3RhcnRfdXJsIjoiaHR0cHM6Ly9naXQuZXR1ZC5pbnNhLXRvdWxvdXNlLmZyLyIsImljb25zIjpbeyJzcmMiOiJodHRwczovL2dpdC5ldHVkLmluc2EtdG91bG91c2UuZnIvYXNzZXRzL2ltZy9sb2dvLnBuZyIsInR5cGUiOiJpbWFnZS9wbmciLCJzaXplcyI6IjUxMng1MTIifSx7InNyYyI6Imh0dHBzOi8vZ2l0LmV0dWQuaW5zYS10b3Vsb3VzZS5mci9hc3NldHMvaW1nL2xvZ28uc3ZnIiwidHlwZSI6ImltYWdlL3N2Zyt4bWwiLCJzaXplcyI6IjUxMng1MTIifV19">
<meta name="author" content="taban">
<meta name="description" content="PIR_MadMax - PIR (Projet Info Recherche) 4AE-SE INSA Toulouse MadMax">
<meta name="keywords" content="git,forge,forgejo">
<meta name="referrer" content="no-referrer">
<link rel="alternate" type="application/atom+xml" title="" href="/taban/PIR_MadMax.atom">
<link rel="alternate" type="application/rss+xml" title="" href="/taban/PIR_MadMax.rss">
<link rel="icon" href="/assets/img/favicon.svg" type="image/svg+xml">
<link rel="alternate icon" href="/assets/img/favicon.png" type="image/png">
<script>
window.addEventListener('error', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
window.addEventListener('unhandledrejection', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
window.config = {
appUrl: 'https:\/\/git.etud.insa-toulouse.fr\/',
appSubUrl: '',
assetVersionEncoded: encodeURIComponent('9.0.0~gitea-1.22.0'),
assetUrlPrefix: '\/assets',
runModeIsProd: true ,
customEmojis: {"codeberg":":codeberg:","forgejo":":forgejo:","git":":git:","gitea":":gitea:","github":":github:","gitlab":":gitlab:","gogs":":gogs:"},
csrfToken: 'V5ZXeb80nzt_K-vBuAhT7I2i_rk6MTc3ODc2ODkyNDY1ODkzMzI4MQ',
pageData: {},
notificationSettings: {"EventSourceUpdateTime":10000,"MaxTimeout":60000,"MinTimeout":10000,"TimeoutStep":10000},
enableTimeTracking: true ,
mermaidMaxSourceCharacters: 5000 ,
i18n: {
copy_success: "Copié !",
copy_error: "Échec de la copie",
error_occurred: "Une erreur sest produite",
network_error: "Erreur réseau",
remove_label_str: "Supprimer lélément « %s »",
modal_confirm: "Confirmer",
modal_cancel: "Annuler",
more_items: "Plus d'éléments",
},
};
window.config.pageData = window.config.pageData || {};
</script>
<script src="/assets/js/webcomponents.js?v=9.0.0~gitea-1.22.0"></script>
<noscript>
<style>
.dropdown:hover > .menu { display: block; }
.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; }
</style>
</noscript>
<meta property="og:title" content="PIR_MadMax/PCB/CompatibiliteL4F4.pdf sur main">
<meta property="og:url" content="https://git.etud.insa-toulouse.fr//taban/PIR_MadMax/src/branch/main/PCB/CompatibiliteL4F4.pdf">
<meta property="og:type" content="object">
<meta property="og:image" content="https://git.etud.insa-toulouse.fr/avatars/4a5dbc25f5978c360521c4cfaaa883a18673e79ba7ca980555145a1a93b88bfe">
<meta property="og:site_name" content="GitEtud">
<link rel="stylesheet" href="/assets/css/index.css?v=9.0.0~gitea-1.22.0">
<link rel="stylesheet" href="/assets/css/theme-forgejo-auto.css?v=9.0.0~gitea-1.22.0">
</head>
<body hx-headers='{"x-csrf-token": "V5ZXeb80nzt_K-vBuAhT7I2i_rk6MTc3ODc2ODkyNDY1ODkzMzI4MQ"}' hx-swap="outerHTML" hx-ext="morph" hx-push-url="false">
<div class="full height">
<noscript>Ce site Web nécessite JavaScript.</noscript>
<nav id="navbar" aria-label="Barre de navigation">
<div class="navbar-left ui secondary menu">
<a class="item" id="navbar-logo" href="/" aria-label="Tableau de bord">
<img width="30" height="30" src="/assets/gitea-sm.png" alt="Logo" aria-hidden="true">
</a>
<div class="ui secondary menu item navbar-mobile-right only-mobile">
<a id="mobile-notifications-icon" class="item tw-w-auto tw-p-2" href="/notifications" data-tooltip-content="Notifications" aria-label="Notifications">
<div class="tw-relative">
<svg viewBox="0 0 16 16" class="svg octicon-bell" aria-hidden="true" width="16" height="16"><path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16M3 5a5 5 0 0 1 10 0v2.947q0 .076.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.26.26 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556-.003.01.001.006q0 .003.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007-.003-.01-1.703-2.554a1.75 1.75 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5"/></svg>
<span class="notification_count tw-hidden">0</span>
</div>
</a>
<button class="item tw-w-auto ui icon mini button tw-p-2 tw-m-0" id="navbar-expand-toggle" aria-label="Menu va-et-vient"><svg viewBox="0 0 16 16" class="svg octicon-three-bars" aria-hidden="true" width="16" height="16"><path d="M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75m0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75M1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5"/></svg></button>
</div>
<a class="item" href="/issues">Tickets</a>
<a class="item" href="/pulls">Demandes d'ajout</a>
<a class="item" href="/milestones">Jalons</a>
<a class="item" href="/explore/repos">Explorateur</a>
</div>
<div class="navbar-right ui secondary menu">
<a class="active-stopwatch-trigger item tw-mx-0 tw-hidden" href="" title="Suivi du temps actif">
<div class="tw-relative">
<svg viewBox="0 0 16 16" class="svg octicon-stopwatch" aria-hidden="true" width="16" height="16"><path d="M5.75.75A.75.75 0 0 1 6.5 0h3a.75.75 0 0 1 0 1.5h-.75v1l-.001.041a6.7 6.7 0 0 1 3.464 1.435l.007-.006.75-.75a.749.749 0 0 1 1.275.326.75.75 0 0 1-.215.734l-.75.75-.006.007a6.75 6.75 0 1 1-10.548 0L2.72 5.03l-.75-.75a.75.75 0 0 1 .018-1.042.75.75 0 0 1 1.042-.018l.75.75.007.006A6.7 6.7 0 0 1 7.25 2.541V1.5H6.5a.75.75 0 0 1-.75-.75M8 14.5a5.25 5.25 0 1 0-.001-10.501A5.25 5.25 0 0 0 8 14.5m.389-6.7 1.33-1.33a.75.75 0 1 1 1.061 1.06L9.45 8.861A1.503 1.503 0 0 1 8 10.75a1.499 1.499 0 1 1 .389-2.95"/></svg>
<span class="header-stopwatch-dot"></span>
</div>
<span class="only-mobile tw-ml-2">Suivi du temps actif</span>
</a>
<div class="active-stopwatch-popup item tippy-target tw-p-2">
<div class="tw-flex tw-items-center">
<a class="stopwatch-link tw-flex tw-items-center" href="">
<svg viewBox="0 0 16 16" class="tw-mr-2 svg octicon-issue-opened" aria-hidden="true" width="16" height="16"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3"/><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0"/></svg>
<span class="stopwatch-issue">#</span>
<span class="ui primary label stopwatch-time tw-my-0 tw-mx-4" data-seconds="">
</span>
</a>
<form class="stopwatch-commit" method="post" action="/times/stopwatch/toggle">
<input type="hidden" name="_csrf" value="V5ZXeb80nzt_K-vBuAhT7I2i_rk6MTc3ODc2ODkyNDY1ODkzMzI4MQ">
<button
type="submit"
class="ui button mini compact basic icon"
data-tooltip-content="Arrêter le chronomètre"
><svg viewBox="0 0 16 16" class="svg octicon-square-fill" aria-hidden="true" width="16" height="16"><path d="M5.75 4h4.5c.966 0 1.75.784 1.75 1.75v4.5A1.75 1.75 0 0 1 10.25 12h-4.5A1.75 1.75 0 0 1 4 10.25v-4.5C4 4.784 4.784 4 5.75 4"/></svg></button>
</form>
<form class="stopwatch-cancel" method="post" action="/times/stopwatch/cancel">
<input type="hidden" name="_csrf" value="V5ZXeb80nzt_K-vBuAhT7I2i_rk6MTc3ODc2ODkyNDY1ODkzMzI4MQ">
<button
type="submit"
class="ui button mini compact basic icon"
data-tooltip-content="Abandonner le minuteur"
><svg viewBox="0 0 16 16" class="svg octicon-trash" aria-hidden="true" width="16" height="16"><path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75M4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.75 1.75 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15M6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25"/></svg></button>
</form>
</div>
</div>
<a class="item not-mobile tw-mx-0" href="/notifications" data-tooltip-content="Notifications" aria-label="Notifications">
<div class="tw-relative">
<svg viewBox="0 0 16 16" class="svg octicon-bell" aria-hidden="true" width="16" height="16"><path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16M3 5a5 5 0 0 1 10 0v2.947q0 .076.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.26.26 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556-.003.01.001.006q0 .003.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007-.003-.01-1.703-2.554a1.75 1.75 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5"/></svg>
<span class="notification_count tw-hidden">0</span>
</div>
</a>
<div class="ui dropdown jump item tw-mx-0 tw-pr-2" data-tooltip-content="Créer…">
<span class="text">
<svg viewBox="0 0 16 16" class="svg octicon-plus" aria-hidden="true" width="16" height="16"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2"/></svg>
<span class="not-mobile"><svg viewBox="0 0 16 16" class="svg octicon-triangle-down" aria-hidden="true" width="16" height="16"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427"/></svg></span>
<span class="only-mobile">Créer…</span>
</span>
<div class="menu">
<a class="item" href="/repo/create">
<svg viewBox="0 0 16 16" class="svg octicon-plus" aria-hidden="true" width="16" height="16"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2"/></svg> Nouveau dépôt
</a>
<a class="item" href="/repo/migrate">
<svg viewBox="0 0 16 16" class="svg octicon-repo-push" aria-hidden="true" width="16" height="16"><path d="M1 2.5A2.5 2.5 0 0 1 3.5 0h8.75a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0V1.5h-8a1 1 0 0 0-1 1v6.708A2.5 2.5 0 0 1 3.5 9h3.25a.75.75 0 0 1 0 1.5H3.5a1 1 0 0 0 0 2h5.75a.75.75 0 0 1 0 1.5H3.5A2.5 2.5 0 0 1 1 11.5Zm13.23 7.79zl-1.224-1.224v6.184a.75.75 0 0 1-1.5 0V9.066L10.28 10.29a.75.75 0 0 1-1.06-1.061l2.505-2.504a.75.75 0 0 1 1.06 0L15.29 9.23a.75.75 0 0 1-.018 1.042.75.75 0 0 1-1.042.018"/></svg> Nouvelle migration
</a>
</div>
</div>
<div class="ui dropdown jump item tw-mx-0 tw-pr-2" data-tooltip-content="Profil et réglages…">
<span class="text tw-flex tw-items-center">
<img loading="lazy" class="ui avatar tw-align-middle tw-mr-1" src="/avatar/17d9c3a181425ea19512346b4af53571?size=48" title="Karima Attar" width="24" height="24"/>
<span class="only-mobile tw-ml-2">kattar</span>
<span class="not-mobile"><svg viewBox="0 0 16 16" class="svg octicon-triangle-down" aria-hidden="true" width="16" height="16"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427"/></svg></span>
</span>
<div class="menu user-menu">
<div class="ui header">
Connecté en tant que <strong>kattar</strong>
</div>
<div class="divider"></div>
<a class="item" href="/kattar">
<svg viewBox="0 0 16 16" class="svg octicon-person" aria-hidden="true" width="16" height="16"><path d="M10.561 8.073a6 6 0 0 1 3.432 5.142.75.75 0 1 1-1.498.07 4.5 4.5 0 0 0-8.99 0 .75.75 0 0 1-1.498-.07 6 6 0 0 1 3.431-5.142 3.999 3.999 0 1 1 5.123 0M10.5 5a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0"/></svg>
Profil
</a>
<a class="item" href="/kattar?tab=stars">
<svg viewBox="0 0 16 16" class="svg octicon-star" aria-hidden="true" width="16" height="16"><path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25m0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41z"/></svg>
Favoris
</a>
<a class="item" href="/notifications/subscriptions">
<svg viewBox="0 0 16 16" class="svg octicon-bell" aria-hidden="true" width="16" height="16"><path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16M3 5a5 5 0 0 1 10 0v2.947q0 .076.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.26.26 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556-.003.01.001.006q0 .003.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007-.003-.01-1.703-2.554a1.75 1.75 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5"/></svg>
Abonnements
</a>
<a class="item" href="/user/settings">
<svg viewBox="0 0 16 16" class="svg octicon-tools" aria-hidden="true" width="16" height="16"><path d="M5.433 2.304A4.49 4.49 0 0 0 3.5 6c0 1.598.832 3.002 2.09 3.802.518.328.929.923.902 1.64v.008l-.164 3.337a.75.75 0 1 1-1.498-.073l.163-3.33c.002-.085-.05-.216-.207-.316A6 6 0 0 1 2 6a6 6 0 0 1 2.567-4.92 1.48 1.48 0 0 1 1.673-.04c.462.296.76.827.76 1.423v2.82c0 .082.041.16.11.206l.75.51a.25.25 0 0 0 .28 0l.75-.51A.25.25 0 0 0 9 5.282V2.463c0-.596.298-1.127.76-1.423a1.48 1.48 0 0 1 1.673.04A6 6 0 0 1 14 6a6 6 0 0 1-2.786 5.068c-.157.1-.209.23-.207.315l.163 3.33a.752.752 0 0 1-1.094.714.75.75 0 0 1-.404-.64l-.164-3.345c-.027-.717.384-1.312.902-1.64A4.5 4.5 0 0 0 12.5 6a4.49 4.49 0 0 0-1.933-3.696c-.024.017-.067.067-.067.16v2.818a1.75 1.75 0 0 1-.767 1.448l-.75.51a1.75 1.75 0 0 1-1.966 0l-.75-.51A1.75 1.75 0 0 1 5.5 5.282V2.463c0-.092-.043-.142-.067-.159"/></svg>
Configuration
</a>
<a class="item" target="_blank" rel="noopener noreferrer" href="https://forgejo.org/docs/latest/">
<svg viewBox="0 0 16 16" class="svg octicon-question" aria-hidden="true" width="16" height="16"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8m8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13M6.92 6.085h.001a.749.749 0 1 1-1.342-.67c.169-.339.436-.701.849-.977C6.845 4.16 7.369 4 8 4a2.76 2.76 0 0 1 1.637.525c.503.377.863.965.863 1.725 0 .448-.115.83-.329 1.15-.205.307-.47.513-.692.662-.109.072-.22.138-.313.195l-.006.004a6 6 0 0 0-.26.16 1 1 0 0 0-.276.245.75.75 0 0 1-1.248-.832c.184-.264.42-.489.692-.661q.154-.1.313-.195l.007-.004c.1-.061.182-.11.258-.161a1 1 0 0 0 .277-.245C8.96 6.514 9 6.427 9 6.25a.61.61 0 0 0-.262-.525A1.27 1.27 0 0 0 8 5.5c-.369 0-.595.09-.74.187a1 1 0 0 0-.34.398M9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0"/></svg>
Aide
</a>
<div class="divider"></div>
<a class="item link-action" href data-url="/user/logout">
<svg viewBox="0 0 16 16" class="svg octicon-sign-out" aria-hidden="true" width="16" height="16"><path d="M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 0 1 0 1.5h-2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 0 1.5h-2.5A1.75 1.75 0 0 1 2 13.25Zm10.44 4.5-1.97-1.97a.749.749 0 0 1 .326-1.275.75.75 0 0 1 .734.215l3.25 3.25a.75.75 0 0 1 0 1.06l-3.25 3.25a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734l1.97-1.97H6.75a.75.75 0 0 1 0-1.5Z"/></svg>
Déconnexion
</a>
</div>
</div>
</div>
</nav>
<div role="main" aria-label="PIR_MadMax/PCB/CompatibiliteL4F4.pdf sur main" class="page-content repository file list ">
<div class="secondary-nav">
<div class="ui container">
<div class="repo-header">
<div class="flex-item tw-items-center">
<div class="flex-item-leading">
<svg viewBox="0 0 16 16" class="svg octicon-repo" aria-hidden="true" width="24" height="24"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.5 2.5 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.5 2.5 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.25.25 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"/></svg>
</div>
<div class="flex-item-main">
<div class="flex-item-title gt-font-18">
<a class="muted gt-font-normal" href="/taban">taban</a>/<a class="muted" href="/taban/PIR_MadMax">PIR_MadMax</a>
</div>
</div>
<div class="flex-item-trailing">
</div>
</div>
<div class="repo-buttons button-row">
<a class="ui compact small basic button" href="/taban/PIR_MadMax.rss" data-tooltip-content="Flux RSS">
<svg viewBox="0 0 16 16" class="svg octicon-rss" aria-hidden="true" width="16" height="16"><path d="M2.002 2.725a.75.75 0 0 1 .797-.699C8.79 2.42 13.58 7.21 13.974 13.201a.75.75 0 0 1-1.497.098 10.5 10.5 0 0 0-9.776-9.776.747.747 0 0 1-.7-.798ZM2.84 7.05h-.002a7 7 0 0 1 6.113 6.111.75.75 0 0 1-1.49.178 5.5 5.5 0 0 0-4.8-4.8.75.75 0 0 1 .179-1.489M2 13a1 1 0 1 1 2 0 1 1 0 0 1-2 0"/></svg>
</a>
<form hx-boost="true" hx-target="this" method="post" action="/taban/PIR_MadMax/action/watch">
<div class="ui labeled button" >
<button type="submit" class="ui compact small basic button">
<svg viewBox="0 0 16 16" class="svg octicon-eye" aria-hidden="true" width="16" height="16"><path d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14s-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2M1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5s2.825-.742 3.955-1.715c1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5s-2.825.742-3.955 1.715c-1.124.967-1.954 2.096-2.366 2.717M8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10"/></svg><span class="text not-mobile">Suivre</span>
</button>
<a hx-boost="false" class="ui basic label" href="/taban/PIR_MadMax/watchers">
2
</a>
</div>
</form>
<form hx-boost="true" hx-target="this" method="post" action="/taban/PIR_MadMax/action/star">
<div class="ui labeled button" >
<button type="submit" class="ui compact small basic button">
<svg viewBox="0 0 16 16" class="svg octicon-star" aria-hidden="true" width="16" height="16"><path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25m0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41z"/></svg><span class="text not-mobile">Ajouter aux favoris</span>
</button>
<a hx-boost="false" class="ui basic label" href="/taban/PIR_MadMax/stars">
4
</a>
</div>
</form>
<div class="ui labeled button
"
>
<a class="ui compact small basic button"
href="/taban/PIR_MadMax/fork"
>
<svg viewBox="0 0 16 16" class="svg octicon-repo-forked" aria-hidden="true" width="16" height="16"><path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0M5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0m6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5m-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0"/></svg><span class="text not-mobile">Bifurcation</span>
</a>
<div class="ui small modal" id="fork-repo-modal">
<div class="header">
Vous avez déjà forké PIR_MadMax
</div>
<div class="content tw-text-left">
<div class="ui list">
</div>
<div class="divider"></div>
<a href="/taban/PIR_MadMax/fork">Créer une bifurcation vers un autre compte</a>
</div>
</div>
<a class="ui basic label" href="/taban/PIR_MadMax/forks">
0
</a>
</div>
</div>
</div>
</div>
<overflow-menu class="ui container secondary pointing tabular top attached borderless menu tw-pt-0 tw-my-0">
<div class="overflow-menu-items">
<a class="active item" href="/taban/PIR_MadMax">
<svg viewBox="0 0 16 16" class="svg octicon-code" aria-hidden="true" width="16" height="16"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.75.75 0 0 1 .734.215m-6.56 0a.75.75 0 0 1 1.042.018.75.75 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"/></svg> Code
</a>
<a class="item" href="/taban/PIR_MadMax/issues">
<svg viewBox="0 0 16 16" class="svg octicon-issue-opened" aria-hidden="true" width="16" height="16"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3"/><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0"/></svg> Tickets
<span class="ui small label">4</span>
</a>
<a class="item" href="/taban/PIR_MadMax/pulls">
<svg viewBox="0 0 16 16" class="svg octicon-git-pull-request" aria-hidden="true" width="16" height="16"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0"/></svg> Demandes d'ajout
</a>
<a href="/taban/PIR_MadMax/projects" class="item">
<svg viewBox="0 0 16 16" class="svg octicon-project" aria-hidden="true" width="16" height="16"><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0M1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25M11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75m-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3"/></svg> Projets
</a>
<a class="item" href="/taban/PIR_MadMax/releases">
<svg viewBox="0 0 16 16" class="svg octicon-tag" aria-hidden="true" width="16" height="16"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775m1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2"/></svg> Publications
</a>
<a href="/taban/PIR_MadMax/packages" class="item">
<svg viewBox="0 0 16 16" class="svg octicon-package" aria-hidden="true" width="16" height="16"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0M7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.25.25 0 0 0-.25 0M2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"/></svg> Paquets
</a>
<a class="item" href="/taban/PIR_MadMax/wiki">
<svg viewBox="0 0 16 16" class="svg octicon-book" aria-hidden="true" width="16" height="16"><path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.74 3.74 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574M8.755 4.75l-.004 7.322a3.75 3.75 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25"/></svg> Wiki
</a>
<a class="item" href="/taban/PIR_MadMax/activity">
<svg viewBox="0 0 16 16" class="svg octicon-pulse" aria-hidden="true" width="16" height="16"><path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.75.75 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.75.75 0 0 1 6 2"/></svg> Activité
</a>
<a class="item" href="/taban/PIR_MadMax/actions">
<svg viewBox="0 0 16 16" class="svg octicon-play" aria-hidden="true" width="16" height="16"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0m4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215"/></svg> Actions
</a>
</div>
</overflow-menu>
<div class="ui tabs divider"></div>
</div>
<div class="ui container ">
<div id="flash-message" hx-swap-oob="true"></div>
<div class="repo-button-row">
<div class="tw-flex tw-items-center tw-gap-y-2">
<script type="module">
const data = {
'textReleaseCompare': "Comparer",
'textCreateTag': "Créer l'étiquette %s",
'textCreateBranch': "Créer la branche %s",
'textCreateBranchFrom': "de \"%s\"",
'textBranches': "Branches",
'textTags': "Étiquettes",
'textDefaultBranchLabel': "défaut",
'mode': 'branches',
'showBranchesInDropdown': true ,
'searchFieldPlaceholder': 'Filtrer une branche ou une étiquette...',
'branchForm': null ,
'disableCreateBranch': false ,
'setAction': null ,
'submitForm': null ,
'viewType': "branch",
'refName': "main",
'commitIdShort': "493e127183",
'tagName': "",
'branchName': "main",
'noTag': null ,
'defaultSelectedRefName': "main",
'repoDefaultBranch': "main",
'enableFeed': true ,
'rssURLPrefix': '\/taban\/PIR_MadMax/rss/branch/',
'branchURLPrefix': '\/taban\/PIR_MadMax/src/branch/',
'branchURLSuffix': '/PCB\/CompatibiliteL4F4.pdf',
'tagURLPrefix': '\/taban\/PIR_MadMax/src/tag/',
'tagURLSuffix': '/PCB\/CompatibiliteL4F4.pdf',
'repoLink': "/taban/PIR_MadMax",
'treePath': "PCB/CompatibiliteL4F4.pdf",
'branchNameSubURL': "branch/main",
'noResults': "Aucun résultat trouvé.",
};
window.config.pageData.branchDropdownDataList = window.config.pageData.branchDropdownDataList || [];
window.config.pageData.branchDropdownDataList.push(data);
</script>
<div class="js-branch-tag-selector tw-mr-1">
<div class="ui dropdown custom">
<button class="branch-dropdown-button gt-ellipsis ui basic small compact button tw-flex tw-m-2">
<span class="text tw-flex tw-items-center tw-mr-1 gt-ellipsis">
<svg viewBox="0 0 16 16" class="svg octicon-git-branch" aria-hidden="true" width="16" height="16"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.5 2.5 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25m-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0m8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5M4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5"/></svg>
<strong ref="dropdownRefName" class="tw-ml-2 tw-inline-block gt-ellipsis">main</strong>
</span>
<svg viewBox="0 0 16 16" class="dropdown icon svg octicon-triangle-down" aria-hidden="true" width="14" height="14"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427"/></svg>
</button>
</div>
</div>
<a id="new-pull-request" role="button" class="ui compact basic button" href="/taban/PIR_MadMax/compare/main...main"
data-tooltip-content="Nouvelle demande dajout">
<svg viewBox="0 0 16 16" class="svg octicon-git-pull-request" aria-hidden="true" width="16" height="16"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0"/></svg>
</a>
<span class="breadcrumb repo-path tw-ml-1">
<a class="section" href="/taban/PIR_MadMax/src/branch/main" title="PIR_MadMax">PIR_MadMax</a><span class="breadcrumb-divider">/</span><span class="section"><a href="/taban/PIR_MadMax/src/branch/main/PCB" title="PCB">PCB</a></span><span class="breadcrumb-divider">/</span><span class="active section" title="CompatibiliteL4F4.pdf">CompatibiliteL4F4.pdf</span></span>
</div>
<div class="tw-flex tw-items-center">
</div>
</div>
<div class="tab-size-4 non-diff-file-content">
<div id="repo-file-commit-box" class="ui segment list-header tw-mb-4 tw-flex tw-justify-between">
<div class="latest-commit">
<img loading="lazy" class="ui avatar tw-align-middle tw-mr-2" src="/avatar/2c0f78f319bc7d5082e4361e019ea9ef?size=48" title="Hugo Abescat" width="24" height="24"/>
<a class="muted author-wrapper" title="abescat" href="/abescat"><strong>abescat</strong></a>
<a rel="nofollow" class="ui sha label " href="/taban/PIR_MadMax/commit/86584c62fedc11adf44cb3008f4e653337072af9">
<span class="shortsha">86584c62fe</span>
</a>
<span class="grey commit-summary" title="Tableau récapitulatif broches L4/F4"><span class="message-wrapper"><a href="/taban/PIR_MadMax/commit/86584c62fedc11adf44cb3008f4e653337072af9" class="default-link muted">Tableau récapitulatif broches L4/F4</a></span>
</span>
</div>
<div class="text grey age">
<relative-time prefix="" tense="past" datetime="2026-03-10T18:10:38+01:00" data-tooltip-content data-tooltip-interactive="true">2026-03-10 18:10:38 +01:00</relative-time>
</div>
</div>
<h4 class="file-header ui top attached header tw-flex tw-items-center tw-justify-between tw-flex-wrap">
<div class="file-header-left tw-flex tw-items-center tw-py-2 tw-pr-4">
<div class="file-info tw-font-mono">
<div class="file-info-entry">
116 Kio
</div>
</div>
</div>
<div class="file-header-right file-actions tw-flex tw-items-center tw-flex-wrap">
<div class="ui buttons tw-mr-1">
<a class="ui mini basic button" href="/taban/PIR_MadMax/raw/branch/main/PCB/CompatibiliteL4F4.pdf">Brut</a>
<a class="ui mini basic button" href="/taban/PIR_MadMax/src/commit/493e127183ffc6f187faff99afc3653b9ad7669f/PCB/CompatibiliteL4F4.pdf">Lien permanent</a>
<a class="ui mini basic button" href="/taban/PIR_MadMax/commits/branch/main/PCB/CompatibiliteL4F4.pdf">Historique</a>
</div>
<a download href="/taban/PIR_MadMax/raw/branch/main/PCB/CompatibiliteL4F4.pdf"><span class="btn-octicon" data-tooltip-content="Télécharger le fichier"><svg viewBox="0 0 16 16" class="svg octicon-download" aria-hidden="true" width="16" height="16"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"/><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06z"/></svg></span></a>
<a href="#" id="copy-content" class="btn-octicon disabled" data-tooltip-content="Ce type de fichier ne peut pas être copié"><svg viewBox="0 0 16 16" class="svg octicon-copy" aria-hidden="true" width="14" height="14"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"/><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"/></svg></a>
<a class="btn-octicon" href="/taban/PIR_MadMax/rss/branch/main/PCB/CompatibiliteL4F4.pdf" data-tooltip-content="Flux RSS">
<svg viewBox="0 0 16 16" class="svg octicon-rss" aria-hidden="true" width="14" height="14"><path d="M2.002 2.725a.75.75 0 0 1 .797-.699C8.79 2.42 13.58 7.21 13.974 13.201a.75.75 0 0 1-1.497.098 10.5 10.5 0 0 0-9.776-9.776.747.747 0 0 1-.7-.798ZM2.84 7.05h-.002a7 7 0 0 1 6.113 6.111.75.75 0 0 1-1.49.178 5.5 5.5 0 0 0-4.8-4.8.75.75 0 0 1 .179-1.489M2 13a1 1 0 1 1 2 0 1 1 0 0 1-2 0"/></svg>
</a>
<span class="btn-octicon disabled" data-tooltip-content="Les fichiers binaires ne peuvent pas être édités dans l&#39;interface web."><svg viewBox="0 0 16 16" class="svg octicon-pencil" aria-hidden="true" width="16" height="16"><path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.25.25 0 0 0-.064.108l-.558 1.953 1.953-.558a.25.25 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"/></svg></span>
<a href="/taban/PIR_MadMax/_delete/main/PCB/CompatibiliteL4F4.pdf"><span class="btn-octicon btn-octicon-danger" data-tooltip-content="Supprimer le fichier"><svg viewBox="0 0 16 16" class="svg octicon-trash" aria-hidden="true" width="16" height="16"><path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75M4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.75 1.75 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15M6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25"/></svg></span></a>
</div>
</h4>
<div class="ui bottom attached table unstackable segment">
<div class="file-view">
<div class="view-raw">
<div class="pdf-content is-loading" data-src="/taban/PIR_MadMax/raw/branch/main/PCB/CompatibiliteL4F4.pdf" data-fallback-button-text="Voir le fichier"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer class="page-footer" role="group" aria-label="Pied de page">
<div class="left-links" role="contentinfo" aria-label="À propos du logiciel">
<a target="_blank" rel="noopener noreferrer" href="https://forgejo.org">Propulsé par Forgejo</a>
</div>
<div class="right-links" role="group" aria-label="Liens">
<div class="ui dropdown upward language">
<span class="flex-text-inline"><svg viewBox="0 0 16 16" class="svg octicon-globe" aria-hidden="true" width="14" height="14"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M5.78 8.75a9.64 9.64 0 0 0 1.363 4.177q.383.64.857 1.215c.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a10 10 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.51 6.51 0 0 0 4.666 5.5q-.184-.271-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948m-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948q.18-.295.353-.552a6.51 6.51 0 0 0-4.666 5.5m10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948q-.18.296-.353.552a6.51 6.51 0 0 0 4.666-5.5Zm2.733-1.5a6.51 6.51 0 0 0-4.666-5.5q.184.272.353.552c.714 1.192 1.436 2.874 1.58 4.948Z"/></svg> Français</span>
<div class="menu language-menu">
<a lang="id-ID" data-url="/?lang=id-ID" class="item ">Bahasa Indonesia</a>
<a lang="de-DE" data-url="/?lang=de-DE" class="item ">Deutsch</a>
<a lang="en-US" data-url="/?lang=en-US" class="item ">English</a>
<a lang="es-ES" data-url="/?lang=es-ES" class="item ">Español</a>
<a lang="eo" data-url="/?lang=eo" class="item ">Esperanto</a>
<a lang="fil" data-url="/?lang=fil" class="item ">Filipino</a>
<a lang="fr-FR" data-url="/?lang=fr-FR" class="item active selected">Français</a>
<a lang="it-IT" data-url="/?lang=it-IT" class="item ">Italiano</a>
<a lang="lv-LV" data-url="/?lang=lv-LV" class="item ">Latviešu</a>
<a lang="hu-HU" data-url="/?lang=hu-HU" class="item ">Magyar nyelv</a>
<a lang="nl-NL" data-url="/?lang=nl-NL" class="item ">Nederlands</a>
<a lang="pl-PL" data-url="/?lang=pl-PL" class="item ">Polski</a>
<a lang="pt-PT" data-url="/?lang=pt-PT" class="item ">Português de Portugal</a>
<a lang="pt-BR" data-url="/?lang=pt-BR" class="item ">Português do Brasil</a>
<a lang="sl" data-url="/?lang=sl" class="item ">Slovenščina</a>
<a lang="fi-FI" data-url="/?lang=fi-FI" class="item ">Suomi</a>
<a lang="sv-SE" data-url="/?lang=sv-SE" class="item ">Svenska</a>
<a lang="tr-TR" data-url="/?lang=tr-TR" class="item ">Türkçe</a>
<a lang="cs-CZ" data-url="/?lang=cs-CZ" class="item ">Čeština</a>
<a lang="el-GR" data-url="/?lang=el-GR" class="item ">Ελληνικά</a>
<a lang="bg" data-url="/?lang=bg" class="item ">Български</a>
<a lang="ru-RU" data-url="/?lang=ru-RU" class="item ">Русский</a>
<a lang="uk-UA" data-url="/?lang=uk-UA" class="item ">Українська</a>
<a lang="fa-IR" data-url="/?lang=fa-IR" class="item ">فارسی</a>
<a lang="ja-JP" data-url="/?lang=ja-JP" class="item ">日本語</a>
<a lang="zh-CN" data-url="/?lang=zh-CN" class="item ">简体中文</a>
<a lang="zh-TW" data-url="/?lang=zh-TW" class="item ">繁體中文(台灣)</a>
<a lang="zh-HK" data-url="/?lang=zh-HK" class="item ">繁體中文(香港)</a>
<a lang="ko-KR" data-url="/?lang=ko-KR" class="item ">한국어</a>
</div>
</div>
<a href="/assets/licenses.txt">Licences</a>
</div>
</footer>
<script src="/assets/js/index.js?v=9.0.0~gitea-1.22.0" onerror="alert('Failed to load asset files from ' + this.src + '. Please make sure the asset files can be accessed.')"></script>
</body>
</html>

View file

@ -179,7 +179,8 @@ carries higher hardware costs (sensors, processing power).
FOC provides faster response times and better load disturbance rejection \cite{jomsa-nga_torque_2024}. FOC provides faster response times and better load disturbance rejection \cite{jomsa-nga_torque_2024}.
\section{Research gap}
\section{Research Gap}
The literature presented in the previous sections shows that significant work has been carried out on BLDC The literature presented in the previous sections shows that significant work has been carried out on BLDC
motor control strategies, especially for torque ripple reduction, efficiency improvement, and dynamic performance motor control strategies, especially for torque ripple reduction, efficiency improvement, and dynamic performance
@ -247,7 +248,7 @@ assistance based on system dynamics.
Table~\ref{tab:foc_vs_trap} summarizes the key differences between the Table~\ref{tab:foc_vs_trap} summarizes the key differences between the
two commutation strategies, based on the literature reviewed in two commutation strategies, based on the literature reviewed in
Section~\ref{sec:relatedwork}. Section~\ref{sec:related}.
\begin{table}[htbp] \begin{table}[htbp]
\caption{Comparison between FOC and trapezoidal (six-step) commutation} \caption{Comparison between FOC and trapezoidal (six-step) commutation}
@ -310,73 +311,82 @@ assistance based on system dynamics.
\subsection{Pin Compatibility Verification: L476 vs F405} \subsection{Pin Compatibility Verification: L476 vs F405}
Before modifying the PCB, a thorough pin compatibility check was Before starting the PCB modifications, a pin compatibility study was carried out between the STM32L476
performed between the STM32L476 and the STM32F405 used on the Rocacher tile and the STM32F405 originally used in the Cheap FOCer-2 design. The objective
(original Cheap FOCer-2 design). The following aspects were examined: was to verify that the main functions required by the VESC firmware could still be used after replacing
the original microcontroller.
The verification mainly focused on:
\begin{itemize} \begin{itemize}
\item Physical pinout in LQFP64 package. \item Physical pinout compatibility in the LQFP64 package,
\item Alternate functions for PWM timers. \item PWM timer for Alternate functions,
\item USB DP/DM pins (PA11/PA12). \item USB DP/DM pins (PA11/PA12),
\item Analog inputs for current sensing. \item Analog inputs for current sensing,
\item UART for BLE communication. \item UART communication for BLE integration.
\end{itemize} \end{itemize}
Three pin conflicts were identified and resolved as follows. During this analysis, three main pin conflicts were identified.
First, the SPI\_MISO function on PA6 for the STM32F405 conflicts with a The first conflict concerned the SPI\_MISO signal on pin PA6. In the original STM32F405 design, this pin is
DAC output on the same pin for the STM32L476 tile. Since this pin is used for SPI communication related to current sensing. On the STM32L476 tile, the same pin is associated with
used for current sensing via SPI in the original Cheap FOCer-2 design, a DAC output, creating a functional conflict. To solve this issue, the SPI communication line was remapped
the SPI communication was remapped to PA5 on the L476, which provides a to PA5 on the L476, which offers a compatible alternate function.
compatible alternate function.
Second, the gate driver enable signal (EN\_GATE) was originally assigned The second issue concerned the EN\_GATE signal. In the original design, this signal was connected to PB5 on
to PB5 on the F405. This pin is not accessible on the L476 the STM32F405. However, this pin is not accessible on the L476 tile. The signal was therefore moved to PC5,
tile. The signal was therefore moved to PC5, which is available and configured as a standard GPIO output.
can be configured as a standard GPIO output.
Third, Hall sensor C was originally connected to PC8 (TIM8) on the F405. Finally, Hall sensor C was originally connected to PC8 (TIM8) on the STM32F405. Since this pin is not available
This pin is not available on the L476 tile. The Hall sensor input was on the tile connector, the Hall sensor input was reassigned to PB3 using the TIM2\_CH2 alternate function,
therefore reassigned to PB3, configured as TIM2\_CH2, which provides which preserves the input capture capability required for Hall sensor decoding.
the necessary input capture functionality for Hall signal decoding.
All other critical functions (PWM timers, complementary PWM, enable All other important functions remained compatible between the two microcontrollers, including PWM generation,
signals, encoder inputs, UART, USB, and CAN) remain fully compatible complementary PWM outputs, encoder inputs, UART, USB, and CAN communication. Some differences between the ADC
between the two microcontrollers. The ADC channel differences between peripherals of the STM32F405 and STM32L476 still remain and will require firmware adaptations in future work.
the F405 (ADC123/ADC12) and the L476 (ADC3) must still be handled in
firmware, as noted previously.
\subsection{Schematic Design and KiCad Implementation} \subsection{Schematic Design and KiCad Implementation}
The original Cheap FOCer-2 schematic was modified in KiCad to replace the The original Cheap FOCer-2 schematic was modified in KiCad in order to replace the integrated STM32F405
integrated F405 with connectors for the L476 tile. The main modifications microcontroller with connectors for the Rocacher STM32L476 tile. The objective was to make the control part more
included: modular and easier to replace without modifying the power stage of the board.
The main modifications performed on the schematic were:
\begin{itemize} \begin{itemize}
\item Removal of the F405 and its associated passive components. \item Removal of the STM32F405 and its associated passive components.
\item Addition of two 20-pin headers to receive the Rocacher tile. \item Addition of two 20-pin headers for the L476 tile connection.
\item Re-routing of PWM, ADC, and USB signals to the headers. \item Re-routing of PWM, ADC, USB, and communication signals toward the headers.
\end{itemize} \end{itemize}
The schematic passed Electrical Rule Check (ERC) with no errors. Special attention was given to the routing of critical control signals, especially the PWM outputs used for
motor commutation and the analog signals used for current sensing.
After the modifications, the schematic was verified using the KiCad Electrical Rule Check (ERC). No electrical
errors were detected during this verification step, which validated the consistency of the schematic before
starting the PCB routing phase.
\subsection{Routing Challenges and Current Status} \subsection{Routing Challenges and Current Status}
The PCB layout was then started. The original Cheap FOCer-2 routing is After validating the schematic, the PCB routing phase was started in KiCad. The original Cheap FOCer-2 board
very dense. Inserting connectors for the removable tile while maintaining signal integrity proved uses a very compact layout with dense routing around the STM32F405 microcontroller and the power stage.
difficult. Integrating connectors for a removable STM32L476 tile introduced several additional routing constraints.
The main issues encountered were: One of the main difficulties was maintaining proper signal routing while keeping enough space for the tile
connectors and preserving the integrity of the control signals. Particular attention had to be given to the PWM
signals, current sensing traces, and power connections.
Several issues were encountered during the routing process:
\begin{itemize} \begin{itemize}
\item Some footprints for the tile connectors did not appear correctly \item Some connector footprints associated with the tile did not appear correctly after importing the schematic
in the layout after schematic import. into the PCB layout.
\item Routing of high-current paths (battery, motor phases) around the \item The routing of high-current paths, especially the battery and motor phase connections, become more complex
connectors required additional vias, increasing resistance. due to the additional connectors and required extra vias.
\item Decoupling capacitors had to be repositioned, raising concerns \item Some Decoupling capacitors had to be repositioned, which could potentially affect switching noise and power
about switching noise. supply stability.
\end{itemize} \end{itemize}
Currently, the schematic is validated, and the layout is under At the current stage of the project, the schematic has been validated and the PCB layout is still under development.
development. Once routing is completed, the board will be manufactured Once the routing is completed, the board will be manufactured and tested using the VESC firmware adapted for the
and tested with the VESC firmware adapted to the L476 tile. STM32L476 tile.
% ************************************** SOFTWARE AND CONNECTIVITY ***************************************************** % ************************************** SOFTWARE AND CONNECTIVITY *****************************************************