usbSerial test en FEZ-Cerberus

Uno de los requerimientos habituales en nuestros diseños es la posibilidad de intercambiar tramas con otros dispositivos a través del puerto serie.

En este ejemplo, realizaremos el punto de entrada para el modulo “usbSerial” en un FEZ-Cerberus. En el siguiente ejemplo recibiremos los bytes enviados por el dispositivo anfitrión y simplemente los reenviaremos… efectivamente! “Echo Response!”.

Espero os sea útil.
PepLluis,

using Microsoft.SPOT;
 
using GT = Gadgeteer;
using Gadgeteer.Modules.GHIElectronics;
 
namespace usbSerialSample
{
    public partial class Program
    {
        void ProgramStarted()
        {
            // Configurar el modulo serie
            usbSerial.Configure(9600, GT.Interfaces.Serial.SerialParity.None, GT.Interfaces.Serial.SerialStopBits.One,8);
            usbSerial.SerialLine.DataReceived += new GT.Interfaces.Serial.DataReceivedEventHandler(SerialLine_DataReceived);
            usbSerial.SerialLine.Open();
        }
 
        void SerialLine_DataReceived(GT.Interfaces.Serial sender, System.IO.Ports.SerialData data)
        {
            try
            {
                led7r.TurnLightOn(1, true);                     // Indicar Recepción led 1 (modulo led7r)
                int toRead = usbSerial.SerialLine.BytesToRead;  // Cantidad de bytes disponibles para leer
                byte[] buffer = new byte[toRead];               // Dimensionar array para leer del buffer
                usbSerial.SerialLine.Read(buffer, 0, toRead);   // leer bytes recibidos
                usbSerial.SerialLine.Write(buffer, 0, toRead);  // reenviar de vuelta bytes recibidos
                led7r.TurnLightOff(7);                          // apagar led señalizacion "error"
                led7r.TurnLightOff(1);                          // apagar led 1, para indicar fin operación
            }
            catch
            {
                led7r.TurnLightOn(7, true);                     // señalizar error encendiendo led rojo (led7r)
            }
        }
 
     }
}

Como rellenar una hoja Excel, directamente de los ‘datapoints’ de un Chart

Esta seria la idea:

Imports Microsoft.Office.Interop
        ' Definir Aplicacion, Hoja y Rango
        Dim oXL As Excel.Application
        Dim oWB As Excel.Workbook
        Dim oRg As Excel.Range
        ' Iniciar excel y obtener objeto "aplicacion"
        oXL = New Excel.Application
        ' Ajustar propiedades a tu gusto
        oXL.Visible = True
        oXL.DisplayAlerts = False
        ' Obtener una nueva hoja
        oWB = oXL.Workbooks.Add
        ' Trabajar con la hoja 1
        Dim ws As Excel.Worksheet = DirectCast(oWB.Worksheets(1), Excel.Worksheet)
        ws.Cells(1, 1) = "Titulo 1"
        Dim Col As Integer = 2
        Dim Row As Integer
        ' Imaginando un LineChar con valores numericos... distribuir series en columnas
        For Each s As Charting.Series In LineChar2D1.chart1.Series
            ws.Cells(1, Col) = s.Name
            Row = 1
            For Each p As Charting.DataPoint In LineChar2D1.chart1.Series(s.Name).Points
                'Mostrar valores en columnas por series
                ws.Cells(Row, Col) = p.YValues(0).ToString("N2")
                Row += 1
            Next
            Col += 1
        Next
        ' Ajustar aspecto final (Seleccionando rangos)
        oRg = CType(ws.Columns("A"Type.Missing), Excel.Range)
        oRg.AutoFit()

No olvideis que en chart tambien disponemos de la utilidad ‘Points.DataBindXY’ para procesarlos en bloque 馃槈
Espero os sea util,
PepLluis,

PD. No olvideis importar el espacio de nombres de ‘Office.Interop’

Un buen momento para saber como progresa Roslyn

Nuestra visi贸n de compilador continua siendo el proceso por el que el c贸digo entra por un extremo, produciendo los binarios que salen por el otro. No dejes de conocer "Roslyn" pues vas a ver como los compiladores de Visual Basic y C # como API’s. Estas API’s van a permitir tener una vista previa de la pr贸xima generaci贸n de modelos de objetos y de idiomas para la generaci贸n de c贸digo, el an谩lisis y la refactorizaci贸n, y el soporte para el uso de secuencias de comandos interactivos para Visual Basic y C #.

http://msdn.microsoft.com/es-es/roslyn

Saludos,
PepLluis,

GadgetoPlayer!

Te gusta mi 鈥楪adgetoPlayer鈥? Cualquier cosa es posible con esta colecci贸n de dispositivos con diversos procesadores, con plataformas de distintos fabricantes y un solo entorno MicroFramework en 鈥淰isual Studio鈥 y dos lenguajes 鈥淰B / C#鈥濃 nada mejor para desarrollar prototipos r谩pidos en tiempo record!

GadgetoPlayer

Saludos,
PepLluis,