APERÇU C++ & JAVA. Aperçu des changements à la librairie WPILib pour C++ et Java



Documents pareils
Quoi de neuf en contrôle/commande et systèmes embarqués (RIO, WSN...)?

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Environnements de développement (intégrés)

Linux embarqué: une alternative à Windows CE?

Exigences système Edition & Imprimeries de labeur

Ingénieur en Recherche & Développement JAVA / C#

Exigences système Edition & Imprimeries de labeur

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

TD/TP 1 Introduction au SDK d Android

Installation et prise en main

Chapitre 1 Retour en arrière

Traitement de données

ClariLog - Asset View Suite

Warren PAULUS. Android SDK et Android x86

Travailler à l'ensimag avec son matériel personnel

Mode d emploi pour lire des livres numériques

Windows 7, Configuration

Détection de pollution maritime avec GNU/Linux. Eric Bénard - eric@eukrea.com - 08 juillet 2010

Programmation Mobile Android Master CCI

Point sur les solutions de développement d apps pour les périphériques mobiles

Installation et compilation de gnurbs sous Windows

Matériel informatique (hardware)

Bases Java - Eclipse / Netbeans

Architecture de la plateforme SBC

Projet Robot Centaure

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

Parallels Transporter Lisez-moi

Plan du cours. Historique du langage Nouveautés de Java 7

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

Console de supervision en temps réel du réseau de capteurs sans fil Beanair

Documentation utilisateur. [EIP] TransLSF

wxwidgets dans un environnement Microsoft Windows

Recommandations techniques

NAS 109 Utiliser le NAS avec Linux

Mes documents Sauvegardés

JOG : une approche haut niveau des systèmes embarqués via Armadeus et Java

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis

Spécifications d'impression Jusqu'à 12 ppm

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05

11 Février 2014 Paris nidays.fr

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7

Service de Virtualisation de la DSI UJF

Procédure de mise à niveau de Windows Mobile version 6.1 du SGH-i616

Eclipse atelier Java

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise

Introduction aux systèmes temps réel. Iulian Ober IRIT

µrv : Realité Virtuelle

Mise en œuvre d un poste virtuel

Les applications Internet

Prototypage électronique

Travailler à l'ensimag avec son matériel personnel

Présentation et description détaillée du S8400 Media Server

Guide d installation JMap 5.0

11 Février 2014 Paris nidays.fr

Travailler à l'ensimag avec son matériel personnel

Diagrammes de Package, de déploiement et de composants UML

Preliminary Spec Sheet

Projet De Stijl Plate-forme pour robots mobiles

Systeme d'exploitation

CONDITIONS D UTILISATION VERSION NOMADE

Configuration matérielle et logicielle requise et prérequis de formation pour le SYGADE 6

Serveur de sauvegarde à moindre coût

TARGET SKILLS PlanningPME

PPE BTS SIO Jourson - Attard Ascenzi Mancini GEP Marseille - 06/11/2014

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Note Technique : Sauvegarder un NAS ND16000 ou ND26000 sur un disque dur externe USB ou esata

ANTI-VIRUS / PROTECTION DES POSTES DE TRAVAIL ET DES SERVEURS DE FICHIERS

CH.3 SYSTÈMES D'EXPLOITATION

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

26 Centre de Sécurité et de

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

DSI - Pôle Infrastructures

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Plan de cette matinée

Programmation C. Apprendre à développer des programmes simples dans le langage C

DUPLICATEUR DE DISQUE DUR D INTEGRAL GUIDE DE DEMARRAGE RAPIDE

Chapitre 2 : Abstraction et Virtualisation

Conférence sur les microcontroleurs.

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Ed 03/95 PAQ 1530 NON URGENTE (INFO PRODUIT) TEMPORAIRE DEFINITIVE

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

Configuration requise

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Moteur de réplication de fichiers BackupAssist

Comment installer un client Rivalis Devis factures

PostgreSQL, le cœur d un système critique

Cours CSE-2009 MSR - Corrigé TEST 1

en version SAN ou NAS

Caractéristiques principales:

Manuel de déploiement sous Windows & Linux

Éléments de programmation et introduction à Java

Pré-requis installation

Spécifications détaillées

Atelier Le gestionnaire de fichier

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Transcription:

APERÇU C++ & JAVA Aperçu des changements à la librairie WPILib pour C++ et Java

PRÉSENTATEURS Minh Nhat Bui minhnhat.bui@ Mentor depuis 2012 Équipe Logiciel & Équipe Génie industriel B. Sc. Sciences économiques (Université de Montréal & étudiant universitaire, génie logiciel (ÉTS Montréal) 2

ORDRE DU JOUR 1. Spécifications logicielles du roborio 2. Nouvel environnement de développement pour C++ & Java 3. Compatibilité 4. Nouveautés dans WPILib 5. Prochaines étapes recommandées 3

1. SPÉCIFICATIONS LOGICIELLES DU ROBORIO Informations sur la plateforme et NI Linux Real-Time OS. 4

PLATEFORME Plateforme Processeur Mémoire système Mémoire de stockage Système d'exploitation Langages de programmation acceptées Xilinx Zynq -7020 ARM Cortex -A9 double coeur, cadencé à 667 MHz 256 Mo RAM 512 Mo Flash Linux RTOS LabVIEW, C++, Java 5

PLATEFORME (SUITE ) NI Linux Real-Time Extensions OS (NI Linux RTOS) avec PREEMPT_RT Java SE Embedded 8 supporté sur le roborio C++11 pas encore supporté sur le roborio, mais c est dans les plans Fonctionnalités complètes avec le terminal Apprenez le SSH dès maintenant! Windows: apprenez PuTTY! Transferts de fichiers via WebDAV et SFTP via SSH Package manager: opkg Détails sur http://wiki.openwrt.org/doc/techref/opkg 6

PERFORMANCES REAL-TIME DU NI LINUX RTOS Real-time scheduler pour les tâches critiques en temps réel Non-critical scheduler (CFS) pour les tâches non critiques Permet de diviser les tâches avec des priorités inférieures Détails: http://www.ibm.com/developerworks/library/l-completely-fair-scheduler/ Multithread Optimisation multicore sur LabVIEW: http://zone.ni.com/reference/en-xx/help/371361j-01/lvconcepts/ con_config_adv_timed_seq_set/ 7

NI LINUX REAL-TIME OS Introduction to NI Linux Real-Time: http://www.ni.com/white-paper/14627/en/ Under the Hood of NI Linux Real-Time: http://www.ni.com/white-paper/14626/en/ 8

2. NOUVEL ENVIRONNEMENT DE DÉVELOPPEMENT POUR C++ & JAVA Eclipse pour Java & C++ 9

LABVIEW FOR FRC 2015 Basé sur LabVIEW 2014 Même environnement pour les équipes LabVIEW 10

ECLIPSE POUR JAVA & C++ Nouvel environnement de développement unifié pour les équipes programmant en Java & C++ WPILib disponibles via un plugin FRC dans Eclipse Wind River Workbench basé sur Eclipse Changement complet par rapport à NetBeans Compilateur: FRC Toolchains (Windows, OS X, Linux) basé sur GCC 4.4.1 Debugging & target deployment directement dans Eclipse 11

DÉPLOYER LE CODE Aucun redémarrage du roborio nécessaire! Intégration Java & C++ dans le roborio On peut développer du code C++, le déployer, puis développer du code Java immédiatement après, puis le déployer, et ça reste fonctionnel Pas besoin de réimager le roborio pour spécifier le langage de programamtion 12

3. COMPATIBILITÉ 13

COMPATIBILITÉ C++ non compatible pour le crio dès janvier 2015 Ça veut aussi dire qu il sera impossible de programmer les crio en C++ dès le 1 er janvier 2015 Wind River n est plus partenaire pour 2015 La communauté FRC, WPI et FIRST sont en train de trouver une solution pour ce problème Java encore compatible pour le crio, à condition d émuler le même environnement de développement 2014 avec NetBeans Équipes Java, faites vos sauvegardes! LabVIEW reste compatible sur le crio 14

4. NOUVEAUTÉS DANS WPILIB 15

MODULES ET INDEX DES E/S (I/O) MODULES Il n y a plus de modules sur le roborio Plus besoin de spécifier le module dans les constructeurs/destructeurs INDEX DES E/S (I/O) Les entrées/sorties (I/O) sont maintenant indexés à 0 10 ports PWM indexés de 0 à 9; 10 ports DIO indexés de 0 à 9; 4 ports analogues indexés de 0 à 3; Manettes (joysticks); etc. 16

INTÉGRATION CAN Le support CAN est «natif» dans WPILib Pas besoin de savoir comment utiliser CAN pour accéder aux données des capteurs du PDP et du PCM Instancier un objet PDP pour accéder aux capteurs de courant et de température Plus besoin d utiliser l interface RS232 pour utiliser la fonctionnalité CAN du Jaguar 17

PDP ET PCM Données disponibles dans la classe PowerDistributionPanel: Le courant sur chaque sortie 40 ampères et les cours-circuits potentiels Le courant sur chaque sortie 30 ampères et les cours-circuits potentiels La tension de la batterie La température interne du PDP Données disponibles dans la classe Compressor: Statut du solénoïde Valeur du pressostat (expérimental) Courant au compresseur Données rafraîchies toutes les 25 ms 18

CONTRÔLE DU COMPRESSEUR ET PRESSOSTAT Contrôle automatique du compresseur et du pressostat (pressure switch) par le PCM Instantier un objet Compressor devient non nécessaire, mais reste possible Par exemple, pour vérifier l état du compresseur Appeler un objet de type Solenoid va de toute manière démarrer le compresseur si nécessaire 19

AUCUN SUPPORT POUR MICROSOFT KINECT Les classes pour la Kinect sont retirées de WPILib Pour les équipes qui utilisaient la Kinect, voir la SDK fournie par Microsoft: http://www.microsoft.com/en-us/kinectforwindows/develop/ 20

MANETTES (JOYSTICKS) Tous les boutons et les axes sont réindexés à 0. Faire attention aux nouvelles valeurs des axes L axe 4 pour les triggers de la manette Xbox donne maintenant des valeurs de 0 à 1 Possibilité d avoir des valeurs en degrés et radians 21

PORTS MXP Les ports PWM, DIO et analogues sur le MXP sont accessibles via les classes habituelles Leur numérotation continue après celle des ports dédiés 0 à 9 pour les 10 PWM dédiés 10, 11, 12 pour les ports partagés sur le MXP Attention aux ports partagés PWM/DIO Dans la boucle Disabled() les ports partagés PWM/DIO sur le MXP seront désactivés puisque tous les ports PWM sont désactivés dans cette boucle Faire attention à ne pas mettre de capteurs sur ces ports, à moins que ça soit l effet désiré 22

AUTRES CHANGEMENTS DANS WPILIB GYROSCOPE ET ENCODEURS Les méthodes start et stop n existent plus Démarrage automatique lors de l instanciation de ces classes On peut toujours remettre à zéro en utilisant la méthode reset ACCÉLÉROMÈTRE Nouvelle classe BuiltInAccelerometer pour accéder à l accéléromètre intégré au roborio 23

AUTRES CHANGEMENTS DANS WPILIB (SUITE ) POTENTIOMÈTRES AnalogPotentiometer retourne des degrés et non la tension DRIVER STATION LCD DriverStationLCD n existe plus! Il faudra désormais se fier complètement aux différents dashboard pour avoir des données (LabVIEW Dashboard, SmartDashboard/SFX ) 24

5. ACTIONS D ICI JANVIER 2015 25

ÉTAPES FORTEMENT SUGGÉRÉES AVANT JANVIER 2015 POUR LES ÉQUIPES EN JAVA Faire une sauvegarde de l environnement de développement 2014 avec NetBeans Apprendre Java 8 et ses fonctionnalités (fonctions lambdas, generics, etc.) POUR LES ÉQUIPES EN C++ ET EN JAVA Apprendre à utiliser Eclipse ssh, sftp via ssh, bash et autres fonctionnalités de base Linux 26

Une vision. Une motivation. Une énergie. Équipe de robotique du Collège Regina Assumpta Montréal, Québec 27