www.cambouis.com
> Accueil >>

Projet WorkShopCalc

Ce projet est né de la nécessité d'avoir toujours à portée de main de quoi calculer des conditions de coupe. Même dans un atelier pas très grand, les allers et retours entre le PC et les machines sont toujours pénibles. L'idée est donc de disposer d'un ordinateur tenant dans la poche, avec dessus une base de données d'outils et de quoi calculer rapidement.

Dans les années '80, les pico ordinateurs étaient en vogue (Sharp, Casio, etc.). Puissance de calcul acceptable, affichage alpha numérique, mais programmation pénible pour deux raisons : une à trois lignes d'affichage seulement, et le langage Basic que je déteste par dessus tout. D'autre part, l'affichage alphanumérique est particulièrement peu convivial et lourd dès qu'il s'agit d'entrer plus de deux ou 3 paramètres.

Après avoir dans un premier temps essayé de recycler un vieux Casio, il a bien fallu se rendre à l'évidence : ce qui était supportable il y a 25 ans ne l'est plus du tout.

Pour disposer d'une interface conviviale, et d'outils de développement dignes de ce nom, il faut se tourner vers des appareils plus modernes : Psion, Palm, Pocket PC, Androïd. Leurs avantages sont nombreux, et, parmi eux, le Pocket PC sous Windows est de loin le plus intéressant :

  • prix très bas en occasion
  • encombrement réduit
  • robustesse
  • absence de clavier
  • fonctionnement tactile
  • reconnaissance de l'écriture
  • système et interface Windows CE dérivés de Windows NT
  • puissance équivalente à celle d'un PC de bureau du milieu des années '90
  • développement à partir d'un environnement évolué, tournant sur PC
  • terrain connu depuis 20 ans : Win32, MFC, C et C++

Au début de ce projet, les programmes étaient écrits pour être compilables aussi bien pour Pocket PC que pour PC de bureau. La maintenance d'un code compatible s'est avérée extrêmement lourde et complexe, en raison de myriades d'instructions de compilation conditionnelle. J'ai fini par abandonner, par manque de temps, mais aussi parce que les sources finissaient par devenir illisbles. Il sera plus simple de porter le code stabilisé vers une plateforme de bureau plutôt que d'écrire en même temps pour les deux environnements. Mais ce portage n'est en aucun cas une priorité ; en effet, il est tout à fait possible de les faire fonctionner sur un PC de bureau à condition d'installer un émulateur (gratuit).

Voir : Tutoriel pour l'installation des émulateurs Windows Mobile en version "standalone" (autonome)

Plateformes supportées :

  • Windows Mobile 2003 SE : ne fonctionnera pas sur les versions antérieures (2003, 2002, etc.) ;
  • Windows Mobile 5.0
  • Windows Mobile 6.0
  • Windows Mobile 6.5
  • Windows XP 32 et 64 bits (avec un émulateur)
  • Windows Vista 32 et 64 bits (avec un émulateur)
  • Windows Seven 32 et 64 bits (avec un émulateur)

Les appareils sous Windows Mobile se déclinent en trois versions :

  • Smartphone (non supporté : écran tactile obligatoire)
  • Classic
  • Professional

Les simples smartphones ne pourront pas faire tourner les applications en raison de l'absence de certaines fonctions d'interface indispensables, en particulier l'écran tactile. Il faut donc disposer soit d'un Pocket PC avec Windows Mobile Classic (sans téléphonie), soit d'un Pocket PC avec Windows Mobile Professional (avec téléphonie).

Pour savoir si un Pocket Classic ou Professional est compatible, il faut aller dans dans Paramètres -> Système -> Info système, et regarder la valeur figurant en face de " Version du SE" : cette valeur doit être supérieure ou égale à 4.22.

Microsoft ayant changé de stratégie en copiant la pompe à fric Apple, il est impossible de faire fonctionner ces applications sous Windows Mobile 7 et suivants. Ceci nécessiterait une réécriture en partant de zéro, puis de passer par des serveurs dédiés et payants pour l'hébergement et la distribution. Payer 99$ pour mettre à disposition des apllications gratuites, il n'en est absoilument pas question, et les récents jailbreaks ne résolvent pas un autre problème : le nouvel environnement (Silverlight), obligatoire pour développer... C'est dommage, jusqu'à présent Windows Mobile était un système ouvert, et d'innombrables programmeurs avaient écrit pour ce système des milliers d''applications et de jeux gratuits...

Les processeurs qu'embarquent ces appareils peuvent être de différents types. Les applications sont compilées uniquement pour les processeurs ARM, de très loin les plus courants.

Les applications sont programmées pour fonctionner avec tous les formats et toutes les résolutions : format 3/4 ou carré, résolution classique ou haute résolution (QVGA ou VGA). Les applications prennent également en charge l'orientation de l'affichage (portrait ou paysage). Les applications sont "resolution aware", ce qui complique la programmation et allonge le temps nécessaire aux tests et aux retouches sur l'interface utilisateur. Cependant, c'est avec un affichage 3/4 (mode portrait), QVGA ou VGA, que l'utilisation sera la plus confortable dans la plupart des cas. Les applications sont optimisées pour un affichage vertical, éventuellement complété par un scrolling vertical (les barres de défilements horizontales sont malcommodes sur un PocketPC).

Les applications sont écrites pour ne pas avoir besoin d'un programme di'nstallation, et pour ne rien écrire dans la base de registre. Il suffit de les copier dans un dossier de l'appareil, ou mieux, sur une carte flash. Il n'y a pas besoin d'Active Synch ou du Gestionnaire Pour Appareils Windows Mobile pour procéder à l'intallation. Mais toutes les applications et fichiers associés doivent se trouver dans le même dossier.

Un autorun permet, si on le désire, de lancer automatiquement le gestionnaire WrkShpCalc lors de l'insertion d'une carte flash dans l'appareil. Ceci est très pratique : WrkShpCalc se lance alors immédiatement sur n'importe quel Pocket PC, et il n'y a même pas besoin de créer une entrée dans le menu Démarrer ; il suffit de sortir puis de réinsérer la carte.

Télécharger et copier individuellement chaque utilitaire, même pour une mise à jour, peut s'avéréer fastidieux. C'est donc une archive complète qui est proposée, regroupant les dernières versions des utilitaires avec des fichiers de données exemples. Cette archive est à décompresser directement à la racine d'une carte flash, et comporte ce qu'il faut pour un lancement automatique de WrkShpCalc.exe lors de l'insertion de la carte dans l'appareil.

 

Télécharger l'ensemble des utilitaires dans leurs versions les plus récentes

 

Sommaire

WorkShopCalc

WrkShpCalc
Gestionnaire de programmes. Permet de lancer les différentes applets. Lire la suite...

Calcul de conditions de coupe

MatDb
MatDb est un mini gestionnaire de bases de données. Il permet de créer et éditer des bases de données destinées à classer des nuances de matières par catégories. C'est déjà utile en soi pour savoir à quel type de matière correspond telle nuance, ou pour obtenir une liste de nuances en fonction d'une catégorie. Mais ce programme est essentiellement destiné à servir de pivot pour les applications de calcul de conditions de coupe. Lire la suite...
DrillCalc
DrillCalc est un utilitaire permettant de calculer les conditons de coupe en perçage. Il nécessite deux fichiers. Un fichier de matières qui doit être créé avec MatDb, et un fichier d'outils qui est créé avec DrillCalc. Un exemple complet est fourni : toutes les données du catalogue Sunsteel de perçage. 23 outils et 20 classes de matières. Bien que ces données soient propres à Sunsteel, elles sont probablement utilisables pour les produits d'autres fabricants. En effet, pour des outils équivalents, les conditions de coupe conseillées varient relativement peu d'un fabricant à l'autre. Lire la suite...
LatheCalc
LatheCalc est un utilitaire permettant de calculer les conditons de coupe en tournage. Il nécessite deux fichiers. Un fichier de matières qui doit être créé avec MatDb, et un fichier d'outils qui est créé avec LatheCalc. Un exemple est fourni avec deux types d'outil : acier rapide et carbure. Lire la suite...
MillCalc
MillCalc est un utilitaire permettant de calculer les conditons de coupe en fraisage. Il nécessite deux fichiers. Un fichier de matières qui doit être créé avec MatDb, et un fichier d'outils qui est créé avec MillCalc. Un exemple complet est fourni : une partie des données du catalogue Sunsteel de fraisage. 31 fraises et 20 classes de matières. Bien que ces données soient propres à Sunsteel, elles sont probablement utilisables pour les produits d'autres fabricants. En effet, pour des outils équivalents, les conditions de coupe conseillées varient relativement peu d'un fabricant à l'autre. Lire la suite...
TapCalc
TapCalc est un utilitaire permettant de calculer les conditons de coupe en taraudage-machine. Il nécessite deux fichiers. Un fichier de matières qui doit être créé avec MatDb, et un fichier d'outils qui est créé avec TapCalc. Un exemple complet est fourni : une partie des données du catalogue Sunsteel de perçage. 6 types de tarauds et 20 classes de matières. Bien que ces données soient propres à Sunsteel, elles sont probablement utilisables pour les produits d'autres fabricants. En effet, pour des outils équivalents, les conditions de coupe conseillées varient relativement peu d'un fabricant à l'autre. Lire la suite...

Autres utilitaires

TireCalc
TireCalc est un utilitaire de calcul de dimensions de pneus. De nombreuses normes et dénominations sont prises en compte. Cet utilitaire permet aussi de décoder les informations et marquages spécifiques que l'on peut toruver sur le flanc d'un pneu. Enfin, il comporte un aide mémoire sur les principlaes systèmes. Lire la suite...
StockCalc
StockCalc a été écrit pour calculer rapidement le coût des matières premières. Calcul du prix au kg à partir d'un prix de vente et de dimensions, et vice versa. Lire la suite...

Utilitaires de développement

SystemMetrics
SystemMetrics affiche le résultat d'un appel de la fonction GetSystemMetrics(). C'est un tout petit utilitaire que j'ai écrit afin de me faciliter le choix des marges et des espacements pour les boites de dialogue dynamiques. Très utile pour la gestion des différentes résolutions que doit être capable de gérer un programme Windows CE "resolution aware". Lire la suite...
SysColor
SysColor affiche le résultat d'un appel de la fonction GetSysColor(). C'est un autre minuscule utilitaire que j'ai écrit afin de me faciliter le choix des couleurs lors de la création de contrôles personnalisés et autres dessins utilisant les fonctions du GDI. Lire la suite...

Gadgets

NewtonCalc
Gadget permettant de calculer une hauteur à partir du temps de chute d'un corps. Lire la suite...
ThunderCalc
Gadget permettant le calcul de la distance à laquelle se trouve un orage, à partir de la différence des vitesses de progagation du son et de la lumière. Lire la suite...
© jft / www.cambouis.com / tous droits réservés
Unicorn-Validateur unifié W3C