J’ai reçu un Windows Phone 7

Bon, il n’est peut-être pas connecté à un réseau cellulaire et il est peut-être de seconde main, mais j’ai reçu hier un Samsung Taylor pour le développement de Windows Phone 7 (WP7)!

Je me suis amusé avec lui hier soir et je suis très satisfait de la machine. Évidemment, puisque c’est une machine de développement de pré-production elle n’a pas toutes les caractéristiques d’un téléphone de production. Mais sommes toutes, elle a toutes les fonctionnalités de WP7.

Il ne me reste plus qu’à jouer avec le développement d’applications pour WP7.

Alex à fait une bonne critique de WP7, et j’ajouterai à cela le manque de connexion VPN pour ceux qui veulent l’utiliser au boulot (Intranet and SharePoint) et que je dois installer une autre version de Visual Studio, moi qui a la Ultimate (donc plus vraiment Ultimate).

Microsoft Gadgeteer

Je viens de tomber sur le site de Microsoft Gadgeteer en faisant quelques recherches pour La Machine.

Gadgeteer permet de créer rapidement des prototypes sans connaitre nécessairement l’électronique, il suffit de brancher, écrire quelques lignes (en NETMF bien sûr) et le tour est joué. Vous pouvez voir une démonstration complète sur le site de Channel 9 (Incluse ci-dessous).

Get Microsoft Silverlight

Pour l’instant, ce produit est encore dans l’enceinte de Microsoft Research, mais on pourrait espérer le voir être commercialisé d’ici le printemps ou l’été 2011.

La Machine

Dans une publication précédente, je vous disait que j’avais acquis un FEZ Domino. J’ai donc entrepris le projet de me monter une plateforme robotique à partir de celle-ci et ainsi l’améliorer avec le temps. Donc voici le début de La Machine.

Composantes

J’ai acheté quelques composantes chez RobotShop pour débuter la construction de La Machine:

J’ai aussi utilisé une manette de jeu USB Logitech Dual Action pour me permettre de contrôler le robot. Le Fez Domino supporte les joystick, clavier et souris, donc pas de driver à écrire.

Construction

Je ne vais pas détaillé la construction, car j’ai suivi le tutoriel de Rug Community pour l’assemblage, mais voici quelques points à noter:

  • INSTRUCTIONS DE MONTAGE INEXISTANT! Même si le tutoriel vidéo de Rug Community est très pratique, il aurait été intéressant d’avoir tout de même des instructions.
  • Ils ont monté la plaque supérieure à l’envers, donc ils n’ont pas été capable de viser leur Arduino Romeo sur la plaque. Les FEZ Panda et Domino ainsi que les Arduino sont facilement à monter.
  • Il y a maintenant 4 entretoise incluses dans le kit de la plateforme, ceci permet de surélever votre microcontrôleur.

Voici quelques photos du travail terminé:

snapshot-1snapshot-2snapshot-3snapshot-4

Le code

Pour bien faire fonctionner le robot, j’ai dû créer un driver pour le blindage pour le contrôleur des moteurs. Vous pouvez retrouver le code sur Fezzer.com. J’ai aussi écrit une petite application pour permettre d’intéragir avec La Machine à partir de ma manette. Par ici pour le code de cette première application. Et voici une petite vidéo pour vous permettre d’admirer La Machine en action:

Mon robot à l’œuvre

Conclusion

Les +
  • Le kit de la plateforme du robot:
    • est plutôt simple à monter
    • semble plutôt robuste (je n’ai pas fait de off-road)
    • Moteurs performants
  • FEZ:
    • La programmation en C# est très simple
    • Une grande communauté entourant les  FEZ, donc beaucoup de support
Les -
  • Le kit de la plateforme du robot:
    • j’ai trouvé les moteurs un peu de basse qualité, car tout en plastique.
    • Peu de place pour installer les encodeurs de DFRobot sur les moteurs, trop collés à la paroi avant ou arrière.
    • Pas d’instructions!

Prochaines étapes

  • Souder certaines connections
  • Remplacer les batteries non-rechargeables avec un kit de chargeur, donc cela va permettre de débrancher mon Fez Domino de mon laptop pour avoir un peu plus de liberté.
  • Réfléchir aux autres étapes (communication, senseurs, vision, etc.)

ExoPC disponible dans le Microsoft Store

La tablette ExoPC Slate, roulant sous Windows 7, provenant de Rimouski est maintenant disponible dans le Microsoft Store ou dans certains magasins Microsoft américains (je ne crois pas qu’il y en ai au Canada), cela va donner un sérieux coup de pouce à l’entreprise québécoise! Plus de détails sur le site de ExoPC.

J’ai reçu mon Fez Domino

Après quelques semaines d’attentes, j'ai reçu mon Fez Domino commandé via RobotShop!

snapshot-3

Ce micro-contrôleur roulant sur le .Net Micro Framework (NETMF) est taillé sous le même format que les Arduino, permettant ainsi l’utilisation des “shields” de ce dernier.

En attendant de pouvoir jouer avec ce dernier et vous faire mon compte rendu, vous pouvez consulter les sites suivant:

C# 5.0 : Programmation asynchrone

Pour ceux qui ne sont pas au courant, vous pouvez télécharger le Visual Studio Async CTP pour avoir un aperçu de ce qui s’en vient dans le monde asynchrone! Ce n’est que la version CTP, donc entre cette version et la version officiel, il peut y avoir du changement.

Aussi, visitez le blog de Eric Lippert pour en savoir plus sur le sujet.

Pyxis 2–Un OS pour le .Net Micro Framework

 

Pyxis 2 est un OS roulant sous .Net Micro Framework (NETMF). Il peut rouler (théoriquement) sur toute les plateforme NETMF, mais il est présentement configuré que pour les produits de GHI Electronics (Tinyclr.com).

Pour en savoir plus, allez lire le blogue de l’équipe NETMF ou le site officiel. Le code est disponible en open source au pyxis2.codeplex.com. Voici un vidéo pour vous mettre l’eau à la bouche:

Pyxis 2 Beta Released!

Documentation de référence

Dans l’édition de novembre de MSDN Magazine, Peter Gruenbaum explique comment écrire une bonne documentation de référence pour les APIs dans sont article intitulé “A Coder’s Guide to Writing API Documentation”.

Mon attention s’est particulièrement portée sur la Figure 2 et 3, qui explique comment commenter tout en gardant une homogénéité au travers de tout l’API. Je vous les ai reproduit ici:

Figure 2 Reference Documentation Style

Type Guideline Examples
Class Start with a word like “Represents” “Represents a user’s photo album.”
Methods and functions Start with a verb

“Returns the number of contacts for the specified area.”

“Pauses the video.”

Properties Use a noun or start with verbs such as “Gets” or “Gets and sets”

“The user’s tasks.”

“Gets and sets a collection of the user’s tasks.”

Events Start with a phrase such as “Raised when” or “Occurs when” “Raised when the response from server is received.”
XML elements Use a noun-based phrase “The city’s postal code.”
Boolean values For Boolean properties, start with “Indicates whether”; for Boolean return values on methods and functions, start with “Returns whether”

“Indicates whether the control is visible.”

“Returns whether two regions intersect.”

Figure 3 Reference Documentation Example

Class or Member Type Description
Class description Class Represents a Windows button control.
Button constructor Constructor Initializes a new instance of the Button class.
Focus Method Sets input focus to the control.
Visible Property Gets or sets a value indicating whether the control and all its child controls are displayed.
Click Event Occurs when the control is clicked.

Et cela ne s’applique pas seulement pour les API! Et vous, avez-vous des standards comme celui-ci?

Arrière-plan Visual Studio 2010 Wallpapers

Si vous voulez montrer votre admiration pour VS2010, le site VS2010WallPapers (non-affiliés avec Microsoft) permet de choisir parmi des dizaines de concepts, dont certains sont très beau!

If you want to show off your VS2010 love, then the VS2010WallPapers (not affiliated with Microsoft) site is perfect for you. It allow you to select from dozens of concepts!