[OT] Schema Belt CP – Rx Futaba

Prosegue lo studio per la modifica del mio elicottero. La cosa più complicata è stata capire come alimentare la ricevente, come connettere i servomeccanismi alla ricevente e quale servomeccanismo fa cosa:

  • L’alimentazione la riceve dal BEC (Battery Eliminator Circuit) dell’ESC (Electronic Speed Controller).
  • Le connessioni seguono uno standard de facto (vedi schema sottostante) che è indipendente dal costruttore.
    image
  • Se per uno dei servo meccanismi la risposta è banale, perché serve a modificare l’incidenza (l’inclinazione) delle pale del rotore di coda, per gli altri tre la cosa si fa un po’ più complicata. Poiché l’elicottero “ESky Belt CP” utilizza un “piatto ciclico a 120°”, i servomeccanismi contribuiscono tutti e tre a modificare l’inclinazione dell’asse di rotazione (in avanti o dietro, verso destra o sinistra) e l’incidenza delle pale del rotore principale. E’ la trasmittente che si occupa di trasformare i comandi da noi richiesti tramite i due joystick nella miscela di comandi che vengono trasmessi ai tre servomeccanismi.

[OT] Modifiche all’elicottero, per la nuova stagione

Tornato ad avere un po’ più di tempo libero, ho deciso di riparare il mio elicottero radiocomandato, un ESky Belt CP, e con l’occasione montare la nuova ricevente (Futaba R137F) ai servomeccanismi.

Futaba TX (T7CP)Futaba RX (R137F)

Il cambio della ricevente è una diretta conseguenza dell’acquisto di una trasmittente di qualità, la Futaba 7CP (a 7 canali), che sostituisce quella (difettosa e comunque di pessima qualità) che era presente nella confezione originale. Mi sono anche iscritto ad un forum di aeromodellismo per trovare consigli e aiuti necessari a questa nuova avventura.

Sto preparando le foto e il materiale per realizzare un piccolo manuale di montaggio/smontaggio, messa a punto e configurazione, una sorta di “ESky Belt Cp for dummies”.

Hely Belt CP (lato sx) Hely Belt CP (lato dx) Hely Belt CP (Servo Rotore di coda) 

Nel frattempo continuo ad allenarmi su un simulatore di volo (Phoenix) che mi piace un sacco. Proprio ieri sera sono riuscito per la prima volta a capire come si usa l’idle (che non è il tempo in cui la CPU sta senza far nulla) e ora riesco a fare (solo sul simulatore!) anche qualche acrobazia 3D e qualche secondo di volo rovesciato.

E’ una fantastica ginnastica celebrale.

Quando l’elicottero ha la coda rivolta verso di noi i comandi agiscono in un modo. Quando ha il muso puntato verso di noi l’effetto di uno di essi si inverte e per andare a sinistra devi agire come per andare a destra. Quando l’elicottero sta sotto sopra si inverte il comando di cabrata/picchiata e per puntare il muso in alto (cabrata) in realtà devi picchiare…

Insomma è un gran casino, ma quando le cose vanno è veramente divertente!

Certe piccole soddisfazioni…

Un po’ di tempo fa ho pubblicato alcuni post intitolati “[WPF] Feature o bug del framework?” (I°parte, II°parte, III° parte ed epilogo) su un comportamento di WPF che a me sembrava non corretto perché (IMHO) “non onora la relazione di binding two way”:

A fronte delle osservazioni mosse da LudovicoVan (sosteneva che il comportamento fosse corretto e “by design”), dopo aver un po’ insistito con le mie tesi, per evitare polemica mi sono arreso.

Ma su segnalazione di Leonardo, ecco venirmi insperatamente in aiuto un certo Karl Shifflett col suo post: WPF 4.0 Data Binding Change (great feature).

Caro LudovicoVan, mi sa che stavolta ti devi arrendere tu!

Workshop UgiDotNet Predappio 2009

viaggio con Susi 049 ugidotnet predappio 085 

Finalmente ho un po’ di tempo per postare sul workshop!

E’ stato un vero colpo di fortuna (di quelli che iniziano con la lettera “c”) partecipare alla mitica cena, che non dimenticherò tanto facilmente. L’ospitalità della Dental Trey è stata spettacolare, e visto che non ero certo ne un organizzatore ne tanto meno uno speaker dell’evento, ho cercato di ricambiare facendo un (bel) po’ di foto.

Unica pecca (purtroppo inevitabile) l’accavallamento delle sessioni, unitamente al fatto che per quanto mi sia molto esercitato, ancora non possiedo il dono dell’ubiquità. Quindi mi sono perso, davvero a malincuore, sia la sessione su Mono che quella su SL3 (Corrado, perdonami!).

Per il resto è già stato detto tutto, e mi unisco agli altri nel ringraziare chi si fa un mazzo tanto (Andrea & Co.) per organizzare un evento che è riuscito magnificamente.

Le foto le trovate su facebook .

E per finire un invito e una tiratina d’orecchie (non prendetemi per un rompiballe perfettino, che anch’io ho i miei bei difetti, ma qualcuno lo deve pur dire):

1. Pur essendo un evento gratuito per chi vi partecipa, non è che non costa nulla farlo: uno fra tutti, il costo del catering, senza contare che tutti i relatori sono venuti gratuitamente, sostenendo autonomamente le spese di viaggio, vitto e alloggio (ad esclusione della mitica cena, offerta da chi ospitava l’evento!).

2. Visto che alcuni di noi contribuiscono sia con una quota annuale (del tutto spontanea) e avendo gradito l’evento sempre spontaneamente contribuiscono a rinforzare le esigue casse dell’associazione, fa un po’ rodere il chiccherone vedere sprecati i soldi dell’associazione.

3. Visto che Andrea ha scritto circa una settimana prima dell’evento una mail a chi si era iscritto per chiedere conferma della partecipazione, e visto che tale conferma comunque non era obbligatoria, chi non ha disdetto (e per fortuna alcuni di quelli che per un motivo o per l’altro non potevano più venire lo hanno fatto) e poi non è venuto, ha fatto spendere inutilmente 20 euro di catering. Poiché gli smemorati sono stati circa una 50ina ecco che i soldi spesi inutilmente ammontano a circa un migliaio di euro, che non è proprio un piccola cifra.

Detto questo, per dovere di cronaca e per stimolare ad una maggiore “reattività” e partecipazione, l’invito (come sempre) è quello di fare un pensierino sull’utilità di un piccolo contributo all’associazione, sia come quota annuale che come contributo alle spese del workshop (che in quest’ultimo caso non sarebbe più “gratuito” in senso stretto, relativamente a chi versa il contributo, ma rimarrebbe gratuito per la volontarietà soggettiva del contributo stesso). Per chi vuole farlo, secondo il vecchio proverbio contadino “di poco si campa, di niente si crepa!”, tutte le informazioni si trovano in questa pagina.

L’importanza dei fondamentali

image

Ho sempre “invidiato” (in senso positivo) chi ha una conoscenza approfondita degli argomenti che mi interessano. Adrian per la sua completa conoscenza del C#, Raf per qualunque cosa (si dice che non si muova bit nell’universo che lui non voglia), Davide per SQL Server, Andrea per le Architetture dei Sistemi (pare che il quarto giorno Dio creo Andrea, poi gli chiese consiglio su come completare la creazione…).

Io, molto più prosaicamente, continuo il mio percorso formativo, per passione e per tigna. Voglio capire. Voglio arrivare a comprendere una cosa e continuo a studiarla finché non la sento mia. E’ la differenza che passa tra scalare una vetta seguendo una via ferrata e scalarla in free climbing, proprio come il titolo del blog di Simone: “Code Climbing”.

E’ un piacere intellettuale, ma anche una sofferenza.

Oggi mi è capitato di trovare un libro, “C# in depth” di Jon Skeet, che è come acqua frizzante per la mia mente assetata. Una vera goduria.

Problemi audio con Windows 7 e Virtual PC 2007

Oggi mi sono scontrato con un problema assurdo: Windows 7, installato in una Virtual Machine di Virtual PC 2007, non ne voleva sapere di utilizzare la scheda audio del mio Dell Vostro 420 (una Realtek High Definition Audio).

Prima mossa (totalmente idiota): ricerca del driver della Realtek compatibile con Win7 (la R2.24) e relativa installazione in Windows 7. Chiaramente non ha funzionato, e la spiegazione è semplicissima: Virtual PC 2007 “offre” al sistema operativo guest una scheda audio virtuale e quindi devo installare su Windows 7 il driver di “quella” scheda, e non di quella fisica.

Dopo essermi chiarito le idee grazie a una bella chiacchierata con Francesco, sono andato a cercare quale fosse questa scheda e ho trovato un bel post di Ben Armstrong che spiega il tutto:

  • Se il sistema ospitato è precedente a Vista, Virtual PC mette a disposizione una “ISA Sound Blaster 16 sound card” virtuale;
  • Se il sistema operativo è Vista (e quindi vale anche per Windows 7), Virtual PC 2007 mette a disposizione una non meglio specificata “Synthetic Sound Card” compatibile con Vista

Tutto chiaro, ma siamo punto a capo: e dove lo trovo il driver per sta benedetta “Synthetic Sound Card” ?

Con un po’ di ricerca e molta fortuna, mi sono imbattuto in un post del 2007 (!!!) che spiega come fare. L’installazione delle Virtual Machine Additions copia i drivers della scheda audio in questione nella cartella “C:\Program Files\Virtual Machine Additions”.

Quindi basta andare su Windows 7 e selezionare “Computer | Manage” :

image

Selezionare “Microsoft Virtual Machine Audio Device Card” :

image

Fare l’update del driver (“Action | Update Driver Software…”) , cliccando poi su “Browse my computer for driver software”:

image

Impostare il percorso “C:\Program Files\Virtual Machine Additions”:

image

Completare i passi di installazione.

Se avete tenuto le dita incrociate, a questo punto la vostra Virtual Machine con Windows 7 dovrebbe poter tranquillamente usare l’audio del vostro PC.

Remix 2009

image

Ci sarò (forse, non credo, ma si!).

Certifichespiralitoso… (se lo dici forte avrai un successo strepitoso!)

image

Su segnalazione di Francesco, mi sto cimentando in “Are You Certifiable?”

Molto carino, peccato non poter scegliere l’argomento (uno a caso… WPF!).

Come arrivare da XML a XSLT (senza perdersi per strada)

Studiando XML e XSD, mi sono imbattuto in una serie (direi una babele) di sigle diverse. In questo post cerco di fare un po’ d’ordine:

In modo molto semplificato (considerando che partiamo già da XML, che è un Markup Language derivato dall’antesignano SGML) possiamo dire che ci sono molti linguaggi, principalmente divisi nei seguenti contesti:

  • La descrizione della struttura dei dati
  • La descrizione dei dati
  • La descrizione del formato di rappresentazione dei dati

Per la struttura abbiamo l’ XML Schema Language (di cui esiste una infinità di diverse implementazioni), tra le quali XSD (di cui ho già parlato nel mio precedente post) è l’unica implementazione raccomandata dal W3C.

Per i dati abbiamo l’XML di cui, ad esempio, XHTML e XAML sono due implementazioni assai note, ciascuna nel suo campo di applicazione (Web e WPF).

Per la rappresentazione abbiamo gli Style Language, di cui abbiamo le seguenti implementazioni:

Tra queste, CSS è assai nota agli sviluppatori Web, mentre XSL è a sua volta una famiglia di linguaggi di trasformazione, così composta:

Tra questi ultimi,  XSLT sta per eXtensible Stylesheet Language Transformations e ha come obiettivo principale la trasformazione di:

  • un documento XML in un altro documento XML
  • un documento XML in un altro formato (ad esempio HTML, XHTML, RTF, ma anche in qualsiasi altro formato di solo testo).

Un esempio concreto è la visualizzazione di un file XML in Internet Explorer 8 che usa proprio un file XSLT per trasformare l’XML in XHTML.

E così, acronimo dopo acronimo, siamo arrivati a casa!

XML Schemas

Partecipare al progetto di federico è per me una fantastica fonte di stimoli per studiare anche le cose che fino ad oggi mi sono risultate indigeste. Fra queste (a parte XML che ho studiato per lavorare in XAML con WPF)  c’è XSD.

XSD sta per XML Schema Definition ed è il primo XML Schema Language “raccomandato” dal consorzio W3C (World Wide Web Consortium).

XSD serve a definire il tipo di un documento XML in termini di vincoli: quali elementi ed attributi possono apparire, in quale relazione reciproca, quale tipo di dati può contenere, ed altro. Può essere usata anche con un programma di validazione, al fine di accertare a quale tipo appartiene un determinato documento XML.

Oltre alla documentazione ufficiale:

ho trovato molto comodo questo tutorial della w3schools.com, grazie al quale, armato di pazienda (e di bella speranza), sto realizzando un piccolo file XSD che servirà a formalizzare (e all’occorrenza validare) gli elementi e attributi contenuti nel file XML (Maggiordomus.config.xml) usato per descrivere gli ambienti e gli attuatori gestiti della casa domotica gestita da Maggiordomus.

«luglio»
domlunmarmergiovensab
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678