Archive

Archive for the ‘initiation’ Category

Horloge et table de commutation

6 mars 2010 Commentaires fermés

Dans l’implémentation du code nécessaire au projet « barrette écologique », j’ai quelque peu séché sur le problème du suivi de la table de commutation. Celle-ci contient des données non-triée de temps, de jour(s) de la semaine et de la commutation à appliquer.

Comment trouver à coup sûr la dernière commutation et la prochaine à venir? Une fonction de différence de temps est nécessaire et rend un delta:

delta = ((int) prtc_line->hour - (int) DB_SystemClock.Time.hh) * 60 +
(int) prtc_line->minute - (int) DB_SystemClock.Time.mm;

Petit piège en langage C, les bytes à transformer en int, sinon-> écrêtage à 255. Ensuite, nous parcourons régulièrement toutes les lignes du tableau de commutation.  Ainsi la valeur obsolète sera mise à jour. Celle-ci sera remplacée au fil des scan, si une ligne plus proche existe dans la table, parcourue de 0 à n.

Pour résoudre ce problème, je me suis contenté d’une fonction qui ne traite que 24 heures, laissant à plus tard son complément pour traiter des semaines. Le tableau ci-dessous montre la simplicité du raisonnement pour 24H:

  • Le plus grand delta négatif est celui de la dernière commutation à 11h – l2;
  • Le plus petit delta positif, la prochaine commutation 13h – l3.

Sur une semaine, ça ne fonctionne plus! En effet, admettons que nous sommes lundi (jour=1) et que les commutations sont seulement sur dimanche, jour=7? En admettant que notre fonction « delta » ajoute 24*60 par jour, il apparaît que la prochaine commutation est la première de dimanche, et la commutation en cours est la dernière de dimanche!! Tous des nombres positifs!! Notre fonction va donc trouver

  • Le plus grand delta (mais pas négatif) sera celui de la dernière commutation à 14h – l4;
  • Le plus petit delta positif, la prochaine commutation 10h – l1.

Faut-il une logique « intraday », travaillant avec +/- et une autre pour les jours à distance?

Commutation

l1

l2

time

l3

l4

heure

10h00

11h00

’12:10

13h00

14h00

Delta

-130

-70

delta

+50

+110

Delta corrigé 1 semaine

+9950

+10010

+50

+110

La solution est la suivante: lors de la recherche et comparaison, pour éviter les problèmes des jours répartis sur une semaine, on ajoute une correction de 7 jours * 24 heures * 60 minutes au temps de commutation de la ligne lue s’il est inférieur a 0. ce calcul tient compte du fait que les écarts sont cycliques sur une semaine de 7 jours. De ce fait, le test de comparaison de temps se fait toujours sur des nombres strictement positifs, et fonctionne pour le jour courant et … les autres de la semaine.

Grâce à Code::Blocks, j’ai pu tester et valider mes fonctions efficacement, car modifier + charger le binaire dans le module PIC est bien long… voir: https://microclub.wordpress.com/2009/11/23/barrette-ecologique-suivi

Yves Masur

Publicités

W7 – backup, essais de restauration

19 février 2010 2 commentaires

Les version de Windows précédentes utilisaient NTBACKUP pour copier des fichiers sur une sauvegarde. Une optimisation plus user friendly est implémentée sous W7. Mais comment se passe une restauration depuis zéro? Il faut un certain courage pour s’y lancer. Ou avoir confiance dans le système…

Comme ma version (RC2) arrive au terme de sa période – plus que 10 jours!! – c’est le bon moment pour s’y mettre. Bien entendu, je lance un dernier backup sur un disque de 500 Go connecté par USB, avant d’insérer le DVD de la version finale de W7 et redémarrer le PC. Comme je n’ai plus utilisé Vista depuis, je me propose de formater et installer sur cette partition. Que j’efface (tiens, j’ai plus de place tout à coup!). Et que je formatte, et sélectionne comme LA partition W7 (tiens, W7 demande 100 Mo pour y faire des sauvegardes).

Suit la série d’installation et redémarrage… la clef… le WLAN, la clef WPA… l’utilisateur… le password… le clavier… la langue… la zone. Me voici devant un bureau vierge, avec une résolution minable. Que je passe immédiatement en 1920 x 1200.

Restauration des fichiers: elle redonne tous les fichiers qui étaient dans le chemin C:Users(nom); pas de souci de ce côté. Si un fichier existe déjà, par exemple « desktop.ini » qui est un fichier caché, il pose la question et propose le même traitement pour la suite:

  • ecraser par celui de la sauvegarde
  • conserver
  • remplacer et conserver un copie, au cas où

Evidemment, mon bureau n’a pas changé… Faut-il ré-installer tous les programmes? Essayons avant cela la…

Restauration du système: un avertissement m’indique que la récupération standard suffit pour la plupart des problèmes, sinon, il est possible de passer à la version avancée. Allons-y pour la standard. Après la restauration, le système me délogue et redémarre. Et après l’ouverture de session, je me retrouve devant un bureau pourvu d’icônes… standard. Je 2xclique dessus Total Commander, et contre toute attente, il se lance! Idem avec Code::Block, DOSBOX, TTermPro… jusqu’à SoundRescue, qui prétend ne pas être enregistré. Humm… Mon soupçon augmente lorque je regarde C:Program Files, qui est quasi vide; il se vérifie lorsque la dé-installation de programme est vide, et se confirme lorsque je vérifie le lien de VNC: « D:Program FilesRealVNCVNC4vncviewer.exe ». Ils pointent sur la partition D:, qui – toujours présente – est l’ancienne de W7!!

En outre, tous les programmes installés « à la main » dans la racine de C: n’y sont pas non plus. Je les ai repris de la partition D:. En guise de conclusion, le backup de W7 sauvegarde vos données de profil, mais guère plus.

Yves Masur

Liens – jusqu’ou?

23 juin 2009 Commentaires fermés

Or donc Vista et W7 supportent les liens sur les arborescences NTFS. Jusqu’ou? voici quelques expériences, faites sur un dique à 2 partitions: C: et D: qui ont Vista et W7 64 bits. Le système démarré obtient le C:, l’autre le D: et respectivement. Un seul répertoire temp est suffisant; on peut le créer ainsi:

C:>mklink /J temp d:temp
Jonction créée pour temp <<===>> d:temp

Ainsi l’on voit c:temp et D:temp, mais le « vrai » est sur D:, est c’est transparent:

C:temp>dir
 Le volume dans le lecteur C s'appelle Vista
 Le numéro de série du volume est 4C45-D48C
 Répertoire de C:temp
20.06.2009  11:02    <REP>          .
20.06.2009  11:02    <REP>          ..
11.06.2009  10:05           131'906 cmd-c.pdf
06.06.2009  06:25               403 driverinst.log

Pour la petite histoire, le disque C: avait déjà un lien sur c:temp, nommé tmp. Ce dernier était un moment orphelin, vu que le répertoire cible « C:temp » était détruit en vue de le remplacer par le lien sur son alter-ego de D:temp. Et maintenant, si je liste C:tmp, le contenu est automatiquement celui de D:temp !

Qui dit mieux? Un programme, pour voir. La tricherie est assez monstrueuse: j’envisage de lancer non moins que Firefox de W7 (en 32 bits, donc dans le répertoire x86) par la session Vista. Un premier essai ne fonctianne pas, car des résidus sont restés dans « Programm Files » de Vista:

C:Program Files>mklink /J "Mozilla Firefox" "d:Program Files (x86)Mozilla Firefox"
Impossible de créer un fichier déjà existant.

La destruction du répertoire soigne le mal; et on reprend:

C:Program Files>mklink /J "Mozilla Firefox" "d:Program Files (x86)Mozilla Firefox"
Jonction créée pour Mozilla Firefox <<===>> d:Program Files (x86)Mozilla Firefox

Ensuite, je crée le raccourci sur l’EXE mappé dans le lien. Celui-ci possède le répertoire: « C:Program FilesMozilla Firefoxfirefox.exe ». Il vise dont à travers le lien! Et ça fonctionne pile-poil.

En conclusion, on peut grâce aux liens arranger  des configurations sans ré-installer, installer à double ou copier les mêmes données. Prudence avec les backup…

Yves Masur

Festival de robotique – photos de Michel Vonlanthen

18 janvier 2009 2 commentaires

Michel Vonlanthen a (enfin!) publié ses photos lors du festival de robotique 2008 de l’EPFL. Elles sont visibles en commençant ici: http://www.hb9afo.ch/blog/20080419_epfl_festival%20robotique/robotique.gif

Et ensuite, le chargement de la suivante se fait en diaporama. Elle sont représentatives de l’ensemble de la manifestation, qui avait eu un succès mérité. Merci Michel pour ces vues!  Et un conseil en passant: utilise plutôt Jalbum pour créer tes albums WEB… il fait tout: imagettes, réduction, mise en page, navigation, skin, etc, etc!

Yves Masur

Simulateur de Dauphin

29 novembre 2007 Commentaires fermés

(texte et image de Daniel Roux, repris de la page « Simulateur de Dauphin » sur Epsitec.ch dans le but de faire de la pub pour cet excellent travail didactique)

En 1977, le professeur Jean-Daniel Nicoud crée le Dauphin, un génial petit ordinateur livré en kit, qu’il fallait construire soi-même. Cette sympathique machine a rencontré un grand succès en Suisse romande, permettant à de nombreux passionnés de s’initier à cette nouvelle discipline.

Aujourd’hui les PC sont développés par de grandes équipes d’ingénieurs, mais les principes de base sont restés les mêmes. Pour fêter ses 30 ans, la société EPSITEC a développé un ordinateur Dauphin virtuel, accompagné d’un excellent manuel didactique. Tout ceci est gracieusement mis à votre disposition sur la page « Simulateur de Dauphin » sur Epsitec.ch

Avec ce simulateur, vous vous trouvez face à un ordinateur rudimentaire, vierge de tout logiciel, qui ne sait strictement rien faire, exactement comme à l’époque des pionniers de l’informatique. C’est vous qui lui donnez toutes les instructions qu’il doit exécuter. Même les tâches les plus simples telles qu’afficher la valeur correspondant à la touche pressée doivent être programmées. Vous acquerrez ainsi les bases de la programmation en « langage machine », une chose presque totalement oubliée de nos jours.

Ecrire des textes « portables »

3 septembre 1995 Commentaires fermés

(document publié dans le Mi-Chronique No 50 de Décembre 1995 et retouvé en mai 2008 )

Maintenant j’en suis sur, vous n’écrivez pas d’articles parce que vous avez pitié de votre rédacteur. Vous avez réalisé que chaque texte qui m’était envoyé nécessitait de longues minutes de fastidieuses-zé-répétitives opérations pour ajuster les belles colonnes que vous voyez là, faire les petits points bien alignés dans les-zé-numérations etc etc.

Et bien figurez-vous que c’est TOTOmatique, ou presque! Et que même, pour pondre la version WWW de votre journal d’informatique favori (rappel : il s’appelle Mi-Chronique), et bien il ne faut que quelques secondes. Comment c’est-y pas possible ? Grâce à un truc qui existe depuis Word 1.0 (plus ou moins Perfect, certainement) et qui s’appelle le Style!

Apparemment, y’en a qui savent pas s’en servir, ce qui fait que s’ils sont timides en plus, ils n’écrivent pas et que si ils sont gonflés, et bien je dois effectivement passer de longues minutes de fastidieuses-zé-répétitives opérations pour ajuster les belles colonnes que vous voyez là, faire les petits points bien alignés dans les-zé-numérations etc etc. (merci à notre sponsor CUT & PASTE & Co)

Alors je m’en vais vous faire un petit cours sur comment écrire des textes pour les filer à des copains qui devront les mettre en page avec un autre traitement de texte ou une autre machine C’est 3.33 fois plus simple que le judaïsme parce qu’il n’y a que trois lois:

  1. Au kilomètre tu taperas, Point de fantaisie ne feras,
  2. Standard tu sauveras. (au nom du TXT, du RTF et de l’HTML, Amen)

Après, il faut qu’un érudit (moi) explique ces directives au bas peuple (vous) de façon à ce que le bas peuple comprenne pourquoi il mérite l’enfer, la damnation et les coups de bâton de l’érudit:

La première loi dit qu’il ne faut pas espérer que le texte sera imprimé avec la même fonte et la même largeur de papier que celles utilisées pour l’éditer. Il faut donc imaginer que les retours de lignes se feront n’importe où dans le paragraphe. Donc la touche “return” sert à terminer un paragraphe, pas une ligne!

La seconde loi dit qu’il faut pas trop essayer de faire joli à coups de tabulateurs, ou pire de ribambelles d’espaces pour aligner des trucs, de tirets pour faire des soulignés et des machins comme ça car y faudra tout enlever à la main pour que ça ait un look uniforme dans une présentation. Dans un beau texte “portable”, il n’y a pas non plus de multiples sauts de lignes pour séparer des sections du document.

Alors comment transmettre la structure d’un texte? La troisième loi est là pour ça. N’envoyez que des fichiers en TXT (texte pur) ou RTF (Rich Text File) ou encore en HTML (le format des documents WWW sur Internet), qui sont des formats texte avec des informations sur la présentation codées en texte elles aussi. Ainsi, à l’aide de simples appels aux fonctions “recherche & remplace” de votre traitement de textes favori, le récepteur pourra mettre en forme le document. Avec des outils à la GREP, ceci devient même très automatisable, voire totalement automatique avec certains éditeurs/traitement de textes macro-isables, parmi lesquels, Word.

C’est ainsi par exemple que votre bien aimé éditeur en chef s’est mis en tête de créer votre bô journal en ne faisant qu’importer des articles stockés dans des fichiers séparés, ce qui facilite grandement ce dont je vais vous causer dans le prochain article (suspense). Il est alors vachement facile de modifier la mise en page de l’opuscule tout en conservant substantifiquement la moëlle des articles. Alors, siou plaît, vous qui n’écrivez pas d’article, ne les écrivez surtout pas en vous fatiguant à faire des mises en page. Votre Redactor est là pour ça, et vous le payez cher…

Goulu el Redactor

Catégories :histoire, initiation