---
# System prepended metadata

title: Journal de travail

---

# Journal de travail
###### tags: thèse master
## Semaine 19
## 05.02.2021
Rédaction rapport
Rédaction poster
## 04.02.2021
Rédaction rapport
## 03.02.2021
Rédaction rapport
Mise en place d'un scenario avec notre grounf station de test pour avoir un exemple global.
## 02.02.2021
Rédaction rapport
## 01.02.2021
Rédaction rapport
## Semaine 18
## 29.01.2021
Rédaction rapport
Pole meeting explication de l'avancement.
## 28.01.2021
Rédaction rapport
## 27.01.2021
Rédaction rapport
## 26.01.2021
Séance hébdo, dicussion rapport, etre general et etre devenir plus précis, faire des intro et conclusion, citer les sources des textes dans les inttro
Redaction rapport
## 25.01.2021
Patch du simulateur ADCS pour placer correctement le checksum. Correction du composent ADCS et des tests unitaire en conséquence.

Ecriture du Rapport : partie ADCS
## Semaine 17
## 22.02.2021
Rédaction rapport
## 21.01.2021
Ecriture rapport : Fin analyse contexte, début analyse tehcnique.

Ajout l'envoi du service 8,1 avec un commande cmd_NOOP et ADCS_GET_TLM dans gs (simulteur de ground system avec pusopen).

Erreur dans les event de l'eps. il faut faire attention le format de string %hhu est supporté par le c++ de frpime mais pas la gds en pyhton : remplacement %hhu par %hu
## 20.01.2021
Chargement de l'EPS: la commande de send de ping est supprimer pur la remplacer par un port Ping_in, modification de l' eps pour envoyer un ping au simulateur lorsque le port ping est trigger. Changement de data_in pour que lorsque c'est les data d'un ping qui sont recu il n'y a plus de telemtry qui est trigger.

Mise a jour des test unitaires de eps pour fit la nouvelle implementation de EPS

Ecriture rapport.
## 19.01.2021
Séeance pus open (taille buffer, fonction pour telemetry, slide buffer, nouvelle version 1.2.1)
meeting hebdo : parler du rapport avancement.commentaire rapport maxime, etre clair et precis penser au annexe. foncer sur le rapport, discussion cahier charge travail de bachelor
Mise a jour de la branche simu pour faire marcher les test unitaire
installation de libzmq3-dev
installation de libcspcansocket
lancement des zmqproxy (de  base github action met les binaires en non executable pour la sécurité), chmod 777 zmqproxy, ajout de export LD_LIBRARY_PATH avec libcsp pour python, difficultépour trouvé le bon chemin,
pas oublier que le path du fichier main de python est ajouter au pythonpath
Ajout du secret token (cle privé de jonathan) pour pouvoir clone le repo prive avant de faire les tests.
## 18.01.2021
Redaction rapport : partie CHESS project et analyse
## Semaine 16
## 15.01.2021
aide implem service 5, 3 ave jonathan
cpmprehension size buffer pus
comprehension outil pus pour test 
compillation
test
bug smashing buffer: attention faire correspondra la taille du tableau en cpp avec celle de la config PUSOpen
patch service 8 "smashing buffer" augmenter taille tableau.
## 14.01.2021
changement de strat git pour lib PUSOpen. la Lib est privé et ne doit pas etre directement dan sle repos public de fprime. On a créer un repo privé et on doit clone le repo dans les Lib de fprime. Les action github doivent etre changer
Implementatiton service 8 pus
## 13.01.2021
Le socketIpDriver de FPrime doit etre adapter pour accepter du tcp et du PUSOpen. 
creation projet pus de test. Il sevvira d'envoi et de reception des packet pus pour le premier tests. Il emplois PUSOpen mais au sol.
## 12.01.2020
meeting pusopen essaie de mettre en place dans FPRime et explication des different services.
meeting hebdo
debut integaration de PUSOpen
## 11.01.2021
ecrutre guid code ADCS https://hackmd.io/aYnTI2QTSyuohFx3twf1vA?both
Début rapoport
comprehension exemple PUSOpen 8,17,3,5
## Semaine 15
## 08.01.2021
implementation test unitaire EPS/socketcsp. Beaucoup de problem de convertion de donné big endian little endian.

Ecritrue dela classe EPSHkAnalyzer pour convertir les données
## 07.01.2021
meeting PUSOpen pour explaction du fonctionnement
imple EPS et connection dans la topology pour premier tests.
## 06.01.2021 
implementation EPS, debut de xml fprime
comprehnesnion pus et PUSOpen avec la nouvelle doc pusopen.
Il va falloir fair un choix de conception et choisir un pattern en dicsuter avec jonathan.
## 05.01.2021
implementation fin socketcspipdriver. Beaucoup de probblem pour faire marchl csp. rien ne se passait tout simplement. Il faut faire attention a faire des sleep apres certaine etape comme l'init des interface et l'init de la table de routage.
## 04.01.2021
Ecritur ADCS unit test complet. Il fautr couvrir un large spectre. Beaucoup de problem de coverstion des données. 
## Semaine 14
## 16.12.2020
Mise en place de la branche simu/EPS, début de l'implémentation de socketCspIpDriver
Meeting avec ADCS
Merge de simu/ADCS
Fin rédaction de slides SRR pour presentation epfl

## 15.12.2020
Fin du refactor de l'ADCS écriture des tests unitaires. Ecriture des test unitaire du socket. Correction d'un bug. Je ne retournais pas la bonne taille de paquet lors du retour TCP "erreur de code *total au lieu de valread*" : patcher 
## 14.12.2020
Refactor de l'ADCS pour prendre en compte les telecommandes. Ajout de barrières pour les id et les payload : 
1. Check les id pour savoir si elle son ok pour TC/TM
2. Check le payload si pair
3. Check que le payload soit bien que avec des caractères HEX
4. Si null pas de payload

Début rédaction des tests pour la séance de fin de de semestre avec l'EPFL.
## Semaine 13
## 11.12.2020
Début de l'implémentation du driver csp pour l'EPS. il reprend la meme logique que celui de L'ADCS mais avec csp
## 10.12.2020
Ajout de le librairie csp. Recompilation de la librairie pour Linux et pour correspondre avec la meme version de gcc et cpp. Ajout de la librairie dans le projet de test pour verification. Ajout dans Fprime apres verification dans le projet de test. Le socket et bloquant. Faire attention au on l'ajoute.
## 09.12.2020
Création d'un projet de test pour comprendre CMake. Création d'une bibliotheque pour essayer de l'inclure dans le projet de test. La bibliotheque ne fait que retourner un char* "hello". La première version faisait un cout mais les app active n'ont pas accès au std::cout . Essaye d'inclure la bilbiotheque dans Fprime. Après plusieurs essaies on peut linker la librairie directement a App_exe apres le register_fprime_exectuable() dans Top ou on peut linker au composant directement App_ADCS apres le register_fprime_module() dans le composant.
## 08.12.2020
Meeting hebdo
Lecture de la doc CMake pour intégrer la librairie Libcsp. Problème lors de l'intégration : l'App se bloque au démarrage.
Il faut faire attention ou integtrer la library car elle doit aussi etre charger lors des test unitairs. La mettre dans le cmkae des composant.

Rédaction guid include de library dans fprime https://hackmd.io/AZDSvNY6QTaqhg9hq6khGg
## 07.12.2020
Finalisation de l'ADCS, changement pour accepter les telecommandes. Pour l'instant les telecommande acceptes des payload sous format "string" avec des données en hexadécimal. Pour l'instant la telemetrie accepte un float en valeur se retour de l'ADCS il va peut-être falloir adapter pour accepeter d'autre chose.
## Semaine 12
## 03.12.2020
Fin de l'implementation de l'ADSCS(telemetrie). Création de l'ADCS dans le topologie et linkages des ports. 

Problème de connexion : Les commandes partaient mais aucune données n'était retourner la : 
- La configration du socketTcp pour l'ADCS n'était pas configurer car la fonction de configuration était appeler après le return de la fonction.

Problème du retour de des données : La connexion s'établie mais aucune données n'est retourné, le code se sur le retour des données.
- Aucune donnée n'était envoyer car le size du buffer d'envoie ```dataSendTmBuffer```  n'était pas set.

Début de l'implémentation des Test unitaire de l'ADCS

Aide debug Jonathan sur les problémes de réseau dans sa machine virtuelle.
## 02.12.2020
Début de l'implémentation de l'ADCS (pour l'instant juste la télémetrie). Création d'un helper pour le calcule des Checksum.

Début lecture de la documentation de Elveti

Debug de Merge : problème de build. Le submodule était encore celui de la nasa a cause du module présent dans le fichier Config de guthub : changement du submodule et rebuild.

Aide débug Jonathan : problème de build sur sa branche.

## 01.12.2020
Test du TcpSocket : Problème pour tester les paramètres du port de sortie : Etant passé par référence le test ```ASSERT_from_recv``` compare les adresses et créer un erreur. Il est possible d'accéder directement à l'object passé en paramètre avec ```this->fromPortHistory_recv->at(0).fwBuffer.getData();``` Il est donc possible d'accéder au Buffer directement.

séance Hébodamaire : Explication de maxime sur les mise en places des workflow pour les test_unitaire et les testes globales. Expliction de l'implementation de l'implémentation du socket. Discussion Planning

Debug des problème de merge quand la branche dev a été mere dans la baranche simulation.
## 30.11.2020
Implémentation du SocketTcp Driver. Erreur de Build:
1. Toujours mettre ComponentAi.xml à la fin meme si c'est un driver mettre DriverComponentAi.xml
2. Build dans le dossier du componant avant de Impl

Le composant possède deux ports : 
1. send Guarded_input pour envoyer les TC/TM à l'ADCS
2. recv out renvoyer les réponses au composant ADCS.

Les configues sont reprises du SocketIpDriver ainsi que le type de retour d'erreur. Implemtation d'un class SocketHelper qui gère touts les fonctions de réseaux et de configuration.

Implementation des tests unitaires. Erreur de Build : 
1. Lancer le build dans le dossier du component
2. Lancer le check dans le dossier du component

Résolution des bugs : 
La connexion ce passe sans problème mais rien n'était envoyer : oublie de set le socketfd dans la variable de classe socketfd_out :-1:. Problème de buffer. Faire attention à la porté des variables : Le buffer de retour (envoier dans le port out) était construit dans la fonction donc détruit avec la pile ce qui créeait une erreur 

## Semaine 11
## 27.11.2020
FS meeting et séeance avec jonathan pour des problèmes de code. On doit commencer à penser à notre présentation des fin de semestre pour l'epfl. Le DNA de PUSOpen va bientot être signé. Commentaires sur les slides de la présentatiton de Lundi au autres pole.

Début de la conception du SocketTcpDriver: Penser pour être le plus générique possible pour être réutiliser par les autre subsystems. On peut essayer de reprendre des bouts de codes du SocketIpDriver pour tout ce qui est Tcp.
## 26.11.2020
Lecture du code du SocketIpDriver : Le système emploie un serveur TCP pour recevoir les commandes et envoie la telemtry en UDP. Le composant est passif mais le serveur est un Os::Task (thread). Le port Input est en Guarded. Avoir il n'y à pas de problème à appeler un port out dans un OS::Task. Il y un fichier de configuration qui peut être repris tel quel et un fichier Type qui contient les erreurs possible du socket qui peut aussi être repris tel quel. Il n'y a pas de test unitaire écrit pour ce composant.

Le composant ne peut pas être repris tel quel pour nos driver il faut une adaptation.

Mise en place du planning de fin de projet avec Jonathan. Dans DropBox

## 25.11.2020
Refactore du code python du simulateur pour être plus propre et réutilisabe. Création du classe qui gére les packets, une qui gère le tcp et un autre pour la state machine. Le code est fonctionnelle et propre.

Mise en place du planning de fin de projet avec Jonathan. Dans DropBox
## 24.11.2020
Séance hébodmadaire avec monsieur Tièche et monsieur Welcklen. Explication de l'avancement et suite du projet. Séance avec Jonathan pour des problèmes de code.

Début du planning.
## 23.11.2020
Refactor du code Simulateur ADCS : On a recu les nouveau documents sur les informations qui transite entre le FS et le l'ADCS. On va employer le protocole UART. Modification des packet pour respecter le protocole. Mise en place de l'algorithme de Checksum proposer pour le controle des commandes de l'ADCS.

Gestion du git : merge des pull request et ajout de commentaire sur les reviews de maxime et de jonathan. 

Merge de la branche master dans la branche simulateur pour respecter les dernière modifs.

Jonathan a forké le le framework fprime et rediriger le submodule sur son fork. Il a besoin de faire des modifications dans fprime.

Modification du git pour avoir le fork comme submodule
## Semaine 10
## 20.11.2020
FS meeting : clarification des requirements.

Mise a jour du submodule fprime pour avoir la dernière release 1.5.3. On se base sur cette release. 

Merge de master dans Simu/ADCS pour être à jour. Verification du build et du lancement de gds. Maxime doit encore tester avec se scripts.

Lecture de la nouvelle doc de l'ADCS pour pouvoir mieux simuler le fonctionnement. et respecter le protocole
## 19.11.2020
Configuration de pyCharm pour employer le python de la WSL. On garde le code exetuable sur Linux en totalité. 

Lecture documentation libcsp. 

Compilation libcsp beaucoup de problème. Il faut installer pkg-config et des bibliotheque pour réussir à compiler avec Waf. 

Essayer d'adapter l'ADCS TCP à CSP : Il faut réussir à mettre dans python la bibliothèque lybcps_py3.so. Reconfiguration de pycharm pour prendre en compte la bibliothèque dynamique dans le projet. Création du code de l'ADCS avec CSP en se basant sur les exemples fournis. 

IL faut employer Zeromq pour pourvoir faire transiter les messages.

Lecture documentation Zeroqm
Ne pas oublier de lancer zmqproxy lors de l'utilisation de csp
## 18.11.2020
Configuration de Clion pour utiliser la Wsl comme toolchain de compilation : Clion ce connecte par SSh à la wsl : 
1. Activer ssh
2. Activé ssh sans sudo
3. Créer une tâche planifié dans windows pour démarrer le ssh de wsl au démarrage

Création de la simulation de l'ADCS avec TCP : Pas trop de problème. Test de plusieurs bytestream et de changement d'état.

Création d'une state machine pour représenter l'ADCS : reste très simple et semble fonctionner. Un paramètre change pour chaque orbit.
## 17.11.2020
Approfondissement Fprime avec graphe https://lucid.app/lucidchart/c93377bd-4420-4be1-866d-25b44301d6da/edit?existing=1&token=b4322e514e02b97e4ca87c775b11c2eeb38b11ea-eml%3Dlewisjaggi%2540gmail.com%26ts%3D1605098636410%26uid%3D126592001&docId=c93377bd-4420-4be1-866d-25b44301d6da&shared=true&page=0_0#?folder_id=home&browser=icon
Séance hébdomadaire avec Monsieur Tièche

Séance avec Jonathan

## 16.11.2020
Approfondissement FPrime et refair etuto math et gps
https://nasa.github.io/fprime/Tutorials/README.html

## Semaine 9
## 13.11.2020
https://lucid.app/lucidchart/c93377bd-4420-4be1-866d-25b44301d6da/edit?existing=1&token=b4322e514e02b97e4ca87c775b11c2eeb38b11ea-eml%3Dlewisjaggi%2540gmail.com%26ts%3D1605098636410%26uid%3D126592001&docId=c93377bd-4420-4be1-866d-25b44301d6da&shared=true&page=0_0#?folder_id=home&browser=icon
Etude de la topology de ref de FPrime
## 12.11.2020
Modification du Repository pour garder Ref dans le framework Fprime. Création de App et de ca topopology(copie de Ref) chagement de la config, des noms de fichier, des namespace et de certains fonctions dans topology.cpp.

Workshop PUSopen https://hackmd.io/2MbUJ1dJRFivy2aeo9FRRw?both
## 11.11.2020
Suite de l'étude de FPrime. 

Mise en correspondances des services PUS et des composants FPrime [doc](https://docs.google.com/spreadsheets/d/1-p3NTMudU0DRecnIM4ZSyhEMGLmXXcOAm1-z367hkQs/edit#gid=0)

Création du repository et configuration du FPrime pour être utilisé dans un dossier séparer. Si on veut changer le nom de l'application de référence "Ref" il fau changer touts les includes et les namespace dans le code. On peut repartir depuis une nouvelle app en integrant les composants de Ref dans notre app.

[repository](https://github.com/CHESS-mission/05_FS)

Pour la config, il faut créer le fichier settings.ini entrer les variables de configurations. Il faut aussi modifier le CMakeLists.txt de l'app REF pour mettre la variable d'envrionnement du framework.
## 10.11.2020
Etude du code des composants Fprime : [doc](https://docs.google.com/spreadsheets/d/1CrvbWCbb_vsxd0cpiQibyisVID4pjjIMVa8FJ55NL1I/edit#gid=0), [note](https://hackmd.io/2MbUJ1dJRFivy2aeo9FRRw)

Configuration Clion pour étude du code de Fprime.

Meeting hebdomadaire avec Monsieur Tièche et Maxime Welcklen.

## 09.11.2020
Rédaction PV FS meeting [pv](https://hackmd.io/4Dqfz6RITaup1HqebC70zQ)

Rédaction PV PUSopen [pv](https://hackmd.io/relnFIY_S7mx-wqETPE-Ow)

Analyse de la topologie de l'application Ref de FPrime pour commencer une Topologie et mieux comprendre FPrime pour le workshop.
## Semaine 8
## 06.11.2020
Préparation présentation PUSopen meeting [slides](https://docs.google.com/presentation/d/1rWIaqQDfQlgbsrKz-ztErW3nwtv_6H-gZgy7TGPlp_Q/edit)

FS meeting [pv](https://hackmd.io/4Dqfz6RITaup1HqebC70zQ)

PUSopen meeting [pv](https://hackmd.io/relnFIY_S7mx-wqETPE-Ow)
## 05.11.2020
Analyse de la construction des packets dans Cordet PUS extention.
- Une classe de fonction qui arrive à decouper le packet et récupér le informations.
- Une classe de load qui récupére les packets
- Une classe de stream pour la difusion des packets dans l'app.

Ecriture des services PUS Recommander pour le FS avec Jonathan : [ici](https://docs.google.com/spreadsheets/d/1-p3NTMudU0DRecnIM4ZSyhEMGLmXXcOAm1-z367hkQs/edit#gid=0)
## 04.11.2020
Documentation PUSopen : 
- Analyse du code de Demo de PUSopen
- Compilation du code de PUSopen
- Analyse des packets avec Wireshark
- Changement du code pour voir les changements dans les packets.

Lorsque je change le payload rien ne change dans les packets. J'arrive à reperer le services 17 et le subservice 1 dans le packet. Ce service n'a pas de payload peut-être pour ça qu'il n'y a pas de changement dans le paquet quand je change le payload.
## 03.11.2020
Meeting hebdomadaire : Explication de l'avancement à Maxime : 
- Requirements
- PUS
- F prime implementation

Début du processus de gestion des commandes. Analyse des Packet PUS de PUSOpen avec wiresharek. Rien de concret n0est trouvé on dirait qu'il ne repecte pas PUS.
## 02.11.2020
Analyse du code **PUS Extension of the CORDET Framework**. Beacoup d'explication sont données dans les commentaire du code. Tous marche avec des machines d'état. 

Analyse des différentes machines d'état du traitement des packets PUS et de leur services. [Résumé](https://hackmd.io/Zaad4EYyRwmbA4cns8bwCQ)

Début de l'analyse de PUSopen comme solution viable pour integrer PUS

## Semaine 7
## 28.10.2020
FS Meeting : Rédaction du PV de la séance [ici](https://hackmd.io/g7yO4vQBQZe3Rkb9eIi5tw) : 
Répartion des tâches et résumé.


Lecture de la documentation de CORDET PUS extention : La documentation peut etre prise en exemple si on veut nous aussi faire un PUS extension pour FPrime ou cFS. Elle détaile bien les choix qui on été fait au niveaux de services et de leur conception. 

Mise à jour des trello.

## 27.10.2020
Définition des requirements pour le Flight Software et les tests à effectuer.

Conseil de la team Phoenix : Même si on connait pour comment les subsystems ou hardware externe marche il faut essayer de faire de requirements assez large.

Il a fallu s'inspirer de : 
- Projet existant (Phoenix, CHEOPS)
- Des requirements du projet CHESS [ici](https://docs.google.com/spreadsheets/d/1CA-7AGPONR4AGezOfHvoFc2fGZNcwywC/edit#gid=1352649949)
- Des process définit dans des charts [ConOps2020](https://lucid.app/lucidchart/b43ccdbe-72f4-4df9-b24d-7bd953eb03da/edit?shared=true&page=0_0#?folder_id=home&browser=icon) et [Processes](https://lucid.app/lucidchart/0c66296a-6db5-440c-8fc8-cac90773686f/edit?shared=true&page=0_0#?folder_id=home&browser=icon)

Pour les tests il a fallu s'inspirer de projet existant et de leurs processus de test.

Avec ces informations un document de Requirements a été écrit avec Jonathan [FS/Test Requirements](https://docs.google.com/spreadsheets/d/1-Gn87KBrUAw3mRuTkKesVPXmShSfw4dxWQzlr1PLN7E/edit#gid=371203287)

## 26.10.2020
Ecriture des requirements du FS. Comme les requirements du projets pour le FS ne sont pas encore définit, il est difficile de savoir comment tester le FS. Donc dans un premier temps il faut les définir.

Lecture des requirements de plusieurs projet de CubeSat (Phoenix, CHEOPS) pour voir ce qu'on peut demander à un FS e Cubesat. Lecture de la doc général de CHESS pour trouver des requirements.

## Semaine 6
## 23.10.2020
Fs meeting : Mise au point du projet et de son avancement. On attend toujours la doc d Elevti pour connaitre la compatiblité avec les frameworks.
Ecriture de la comparaison entre cFS et Fprime avec @Jonathan [ici](https://hackmd.io/5_DhucuIRW-AXgqI6tdReA).
Harmonisaton de la prise de note des Meeting [ici](https://hackmd.io/HgbXFWyESsqFWjMrEpB6Ig)

Suite de la recherche sur les processus de tests : 
Il y a plusieurs outils qui peuvent être developpés :
- Software in the loop tests scripting (simulation de hardware)
- Hardware in the loop tests scripting
- CCSDS packet builder (réaction a des vrais ou faux packets)
- Vérification des logs en créant un analyseur de logs.

Ecritrue de [issue](https://github.com/nasa/fprime/issues/222) pour savoir si Fprime est comptible CCSDS
## 22.10.2020
Lecture de la documentation de plusieurs projets de Cubesate pour connaitre leur processus de test. Beaucoup de projet on plusieurs étape de test. Deja les tests unitaire qui sont promordiaux. Ensuite les test d'intégration sur un desktop standard. Dans cette étape il y a des test automotiser comme l'envoie de commande de l'attente de réactions. Ensuite il y a des tests scriptés de mise en situation écris souvent en python. Puis la dernière étape des tests manuels. Dans un deuxième temps des missions sont défini et tester avec un simulateur. Il n'y a pas tellement de test d'avari ou de panne.

## 21.10.2020
Envoie d'un mail à Phoenix project pour savoir si de la documentation et du code était disponible.

Lecture de toute la documentation de PUS et CCSDS (USLP) pour savoir comment envoyer des packets et quelle norme respecter.

Recherche de stratégie de test sur de projet existant. Rien trouvé

## 20.10.2020
Réunion hebodmadaire avec Maxime. Il m'a expliqué tout le travail fait pour push le code directement su run docker linux et sur le raspbery pi. Il a écrit un manuel disponible [ici](https://1drv.ms/w/s!Altv0HaKW2JgghPKA0Kfe-z24FIa?e=KOfFmz). 
Explication de l'avancement du projet a monsieur Tièche. Le FS doit employer PUS et CSP pour être compatible avec Elveti(ground software de Solenix). Le travail est bloqué donc regarder la stratégie de test des autres projets Cubesat pour s'en inspirer.

Début du manuel d'exercice de cFS. Difficulté d'installation de plusieurs dépendances [répertorier ici](https://hackmd.io/wUco7n0LS0KTXxrrCij64Q).
Fin de l'écriture de la comparaison des Frameworks.
## 19.10.2020
Découverte Projet Phoenix. Le projet Phoenix utilise cFS et un implementation de libcsp. On doit utiliser csp pour communiquer avec le ground. Le projet Phoenix utilise FreeRTOS donc un portage à déjà été effectué.
Envoie de mail pour savoir si le code source de leur projet est dipsonible en opensource.
Lecture de la documentation sur le projet phoenix.

Envoie d'un mail à la team de phoenix pour savoir leur FS est opensource ou si il existe de la doc sur le portage de libcsp dans cFS.
## Semaine 5
## 16.10.2020
FS meeting : Explication de le convesation avec Yann Voumard (PUS et CSP). Lecture du message de Jonathan. Le pole **Mission design** et **System engineering** vont se rencontrer ce vendredi pour mettre à jour les spécifications. 

Envoie d'un mail à CHEOPS sat. C'est un satellite envoyer par plusieurs entreprise et université. L'université de Berne y a participé. Il emploie le FrameWork CORDET avec l'extention PUS.

Envoie de message à P&P software (c'est eu qui on developper l'implementation de CORDET et l'extention PUS). C'est l'entreprise qui à implementer le FS du satellite CHEOPS et qui est entrain de d'implémenter le FS pour la prochaine mission qui emploie CORDET.

Lecture de la documentation PUS : PUS est un standard décrit par l'ESA. Il porpose 23 services composées de subservices. PUS est comme un menu où il faut choisir les règles que l'on veut respecter. C'est la première étapes du projet. Elle doit être faite par le pole **mission design**.

PUS emploie de CCSDS Space Packet Protocol : Lecture de la documentation : Toutes les information PUS sont dans le secondary header. 

## 15.10.2020
test de du framwork CORDET. Lecture de la documentation sur CORDET. CORDET est enfaite l'implémentation de SAVOIR qui est une déscription de la bonne face de réaliser un framework pour un CubeSat. Il existe une extention de se FrameWork qui respecte PUS. Essaie de l'exemple proposer par le framework (avec l'extension PUS): 
- beaucoup de problèmes de compilation
- beaucoup de probléme dans les fichiers (tabulation/espace)
- Les tests unitaire fonctionne et passe à 100%
- Le coverage est de 95%
- Impossible de lancer l'app d'exemple (manque des fichiers lorsque les scprits de linkage sont lancé) 
 
 
## 14.10.2020
Meeting avec Yann Voumard, Il faut respecter PUS et employer CSP pour être en accord avec elvetic. Solenix va fournir elvetic avec les dernière mise à jours. Le code source d'elvetic sera également disponible. L'EPFL a droit à 15 jours de service de la part de Solenix pas année. A voir s'ils sont utilisés pour ce projet. 
Il faut donc regarder si les framework respecte les service PUS.

Lecture services PUS. Doc de 2016 600 pages.
PUS est organisé en service. Doit découvrir ces services

## 13.10.2020
Fin, debug et comprehension en profondeur du Tuto MathComponent Fprime. Le Framework est plutot simple. Il reste a savoir comment il communique avec le ground.
Lecture et comprehension du tuto GpsTutorial. Le tuto connecte du hardware à un raspberry pi et créer une app de controle. Le tuto est plutot facile et intuitif. Le tuto à juste été lu et compris (pas le matériel pour le faire en entier). 
## 12.10.2020
Comprehesion de Fprime
Tuto MathComponent avec les tests unitaires. Le tuto comporte pas mal de problème de build qui mettent du temps à être trouver et debuger. 
- Erreur dans le XML RefTopologyAppAi.xml
- Problème lors du lancement de gds (corriger dans la branche devel. [ici](https://github.com/nasa/fprime/issues/173) pour correctif )
Le support (issues guthub est ok, il existe un forum actif où on peut poser des question). Le framework propose beaucoup d'utilitaire écrits en python et un interface web pour la tétémetrie, events, logs, commandes. 

Reussite de la compilation de libcsp. il faut installer des outils waf et mettre les options --zmq et -- crc32


## Semaine 4
## 09.10.2020
Lecture documentation Fprime et résumer.
## 08.10.2020
Lecture de la documentation sur libcsp. Il y a un manque clair de documentation.
Essait de compilation de libcsp.
Pour compiler il faut employer waf(connait pas). Mais la compilation ne passe pas.
## 07.10.2020
Lecture thèse de master sur cFS/cFE et résumé

## 06.10.2020
Fin de la rédaction de l'architecture cFS/cFE.
Meeting François Tièche, Maxime Welcklen (résumé).
Meeting Jonathan Michel.
Lecture document sur NOS3.
Lecture document sur l'incorporation de 42 simulator
Lecture de A *“NEW SPACE” APPROACH ON SPACECRAFT
FLIGHT SOFTWARE DEVELOPMENT USING NASA
CFS FRAMEWORK*.
Lecture du code python d'envoie des packets CCSDS.
Lecture cFE Application Developers Guide.

## 05.10.2020

## Semaine 3

## 02.10.2020
Pole meeting FS : première discussion avec la team FS. Dicusssion sur les spécificatons et répartition des tâches. Disucussion sur les frameworks. Les deux étudiants de l'EPFL sont en microtechnique :a:.
Installation de OpenSatKit : Ne pas oublier de build cFS avant de lancer OpenSatKit (installer cmake et build-essential, make prep, make realclean make install), install ruby-dev pour la compilation des outils ruby, bundle install , ruby launcher.
Découverte de OpenSatKit : Lecture de la documentation et visionnage des videos tutoriel.
Parait tres compliquer

## 01.10.2020
Visonnage du workshop sur cFS/cFE sur youtube
Début de la rédaction de la documentation sur cFE/cFS
Lecture de la documentation sur OpenSatKit : OpenSatKit est un logiciel developper pas un ancien membre de la team cFS de la nasa. Il permet de comprendre et de prendre en main cFS. 
Installation d'un machine virtuelle linux ubuntu 18.04 et des outils invités.

## 30.09.2020
Fin de l'écriture des spécifications
Meeting avec Jonathan Michel, Dicussion sur les spécifications et de répratition des tâches
Meeting avec Nicolas Bourron, ancien de l'obc maintenant à Brighton.
Le simulateur qu'il a créer n'a rien implémenter de concret
## 29.09.2020
Suite de l'écriture des spécifications
Lecture des documents sur cFS/cFE
## 28.09.2020
Suite de l'écriture des spécifications
Meeting avec Jonathan Michel 
Modification des spécifications
Lecture sur FreeRTOS
Meetting avec François Tièche

## Semaine 2
## 25.09.2020
Lecture du document sur le RISC-V
Recherche sur les RTOS
Début de la rédaction des spécifications

## 24.09.2020

Séance avec l'epfl sur le flight software
Séance hébdomadaire
Pole meeting OBC
Ecriture PV des séances


## 23.09.2020
Début de la comparaison des différents frameworks
Recherche en profondeur et lecture des différents framework.
CORDET, GERICOS, CFS
Discussion avec Maxime Welcklen sur l'orgnisation de son projet et de ses objectifs.

## 22.09.2020
Lecture de la documentation sur le CDMS du SwissCube
http://escgesrv1.epfl.ch/05%20-%20Flight%20software/
Lecture de la documentation du projet CHESS
- PRR report
- PRR présentation
- Mission design and environment definition
- ...

Recherche sur les Projets CubeSate Existant, Exe-sat, Phoenix cubesate mission, ...


## Semaine 1

### 18.09.2020
Discussion avec Jonathan Michel : Problème de Dropbox de l'organisation.
Lecture des 4 rapport du SwissCube sous 01 - Systems and mission documents pour comprendre le projet.
http://escgesrv1.epfl.ch
Ce n'est surmment pas le logiciel envoyer dans l'espace

### 17.09.2020
Début de recherche sur les frameworks
framework https://www.researchgate.net/publication/339280425_Development_of_a_flight_software_framework_for_student_CubeSat_missions

https://www.kubos.com/kubos/

Lecture sur CCSDS, ECSS, PUS Standards

### 16.09.2020
Découverte Alen space:
https://www.cubesatshop.com/wp-content/uploads/2019/10/OBSW-Alen-Space.pdf
https://alen.space/

Decouverte desolenix
https://www.solenix.ch/products



Lecture Travail de diplome Lucas mayor On-board computer for CubeSat:
Recherche Global sur le fonctionnement d'un flight software
- RTOS
- Standard
- Protocoles
- OBC


### 15.09.2020
Lecture du document du satellite Eye-Sat https://digitalcommons.usu.edu/cgi/viewcontent.cgi?article=4397&context=smallsat. Le satellite envoyé par des étudiant francais doit étudier les lumières zodiacale.

The CubeSat has six modes.
1. Beginning of life : it's the first mode when the sat is deployed.
2. Safe mode : the solar panels point towards the sun and minimal components are ON
3. Standby mode : it s  the standby mode. Solar panels point towards the sun and the sat waits for telecommande
4. Acquisition mode : payload is switched on and acquires datas
5. Dumping mode : communication sessions with the ground station
6. End of life : The sat becomes passiv and solar panels are disconnected

Comprehension des exigeances et du fonctionnement d'un CubeSat

Syrlinks private company for communication
 Steel Electronique for the OBC
 Flight Software LVCUGEN http://www.cnes-csg.fr/automne_modules_files/standard/public/p11855_0e30375831d478d818d8a3d39c9a1006description-defi14.pdf
 
need login for PUS https://ecss.nl/standard/ecss-e-st-70-41c-space-engineering-telemetry-and-telecommand-packet-utilization-15-april-2016/

### 14.09.2020

Première réunions avec Monsieur Tièche. Explication du projet et de toute sa complexité. Parcour du PDF : https://www.dropbox.com/sh/6yb8obdvmax6ppd/AAABLfV9HR7qYOc9blxGX1h8a/presentations/CHESS%20presentation%20.pdf?dl=0 avec le professeur et relecture personnelle.

Lecture de : 
- SwissCube Ground Station Software *[Benoit Cosandier et Florian George]* : Réalisation de la Ground station pour le projet swisscube. Explication de l'architecture et des protocoles de communcations. 
- SwissCube Flight *[Benois Cosandier, Florian George et Ted Choueiri]* : Descrpition de l'architecture et du fonctionnement de base de logiciel, de l'envoie des paquet avec le protocole PUS et du protocole interne I2C. Explication des différents états des modes d'opération (Safe, recovery, Nominal (Standby, COM)) 

Recherche sur le fonctionnement de  Time and Space Partitioning (TSP) architecture, Xtratum, developed by the private company FentISS https://fentiss.com/products/hypervisor/

Première call avec l'équipe du projet. **note dans one note**

Lecture et recherche à partir des documents d'entretien https://www.dropbox.com/sh/6yb8obdvmax6ppd/AACIA1D794yJ8KJ59MfqKrNCa?dl=0

