From fd55ea0bdacf514944b99e80f9337ed9eb852829 Mon Sep 17 00:00:00 2001 From: Nolan Date: Thu, 14 May 2026 23:47:25 +0200 Subject: [PATCH] enleve for you --- Article_Scientifique/logiciel.tex | 2 +- Article_Scientifique/main.pdf | Bin 1612576 -> 1612561 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/Article_Scientifique/logiciel.tex b/Article_Scientifique/logiciel.tex index cd150b4..5304ef0 100644 --- a/Article_Scientifique/logiciel.tex +++ b/Article_Scientifique/logiciel.tex @@ -132,7 +132,7 @@ This risk could be patched by developing a VESC application for the VESC control \subsection{VESC Compiling} As mentioned, we have been able to compile the VESC tool and the VESC firmware. This firmware has been put onto an STM32F4xx Discovery card. This card uses the same chip as the aforementioned ``Cheap FOCer'' project. The thought was that using something with the same chip would facilitate the switch from the discovery card to a PCB with the same target. -However, this choice posed several obstacles for our progress on the topic of cybersecurity. We will nonetheless summarise what we have learned for you and propose some additional work for the future. The challenges we encountered were the following: The lack of bluetooth capabilities. We did not have a module with BLE either. We had access to a HC-05 module, but that only allows for a normal Bluetooth version 2.0 protocol and would require further work on a bridge to UART by using an esp8622 that we had as well. We propose that the next group has access to a VESC controller from the beginning, as well as a motor we could control. This could be in cooperation with the MAD, as the MAD could propose some models they're interested in. +However, this choice posed several obstacles for our progress on the topic of cybersecurity. We will nonetheless summarise what we have learned and propose some additional work for the future. The challenges we encountered were the following: The lack of bluetooth capabilities. We did not have a module with BLE either. We had access to a HC-05 module, but that only allows for a normal Bluetooth version 2.0 protocol and would require further work on a bridge to UART by using an esp8622 that we had as well. We propose that the next group has access to a VESC controller from the beginning, as well as a motor we could control. This could be in cooperation with the MAD, as the MAD could propose some models they're interested in. We also found that the information on the VESC is scattered around the internet. The resources is also sometimes based on a Debian-based Linux system which adds more work for someone using another distribution of Linux. This could hinder the implementation facility for new users. We struggled particularly with the Qt packages for positioning and game pad. We would therefore recommend the use of a Debian-based Linux system for the computer working with the VESC for the MAD associates. diff --git a/Article_Scientifique/main.pdf b/Article_Scientifique/main.pdf index 923fd5f1adc5c64c5c057d3a26975adeaa8bb6d0..f24a2d9eed643584500065ff47096c38bd6b118a 100644 GIT binary patch delta 5847 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 delta 5860 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