Mountaineer Ethernet - 8MB Flash - RGB Led

Richieste di supporto in merito a problemi su hardware e firmware

06/12/2012 16:30:28
Gravatar
Totale Interventi 41

Mountaineer Ethernet - 8MB Flash - RGB Led

Ciao!!!

Due cosine....  a breve mi arriverà una Mountaineer Ethernet....   

vorrei capire quale sia il modo migliore di gestire gli 8Mb Flash...  ci sono driver per montarli? o bisogna x forza usare l'interfaccia SPI manualmente?

(come in questo post: http://www.tinyclr.com/forum/search?q=user%3A2455&page=2)

Inoltre l'accesso al led RGB onboard...  come si fa'?

 

Grazie a tutti

ciao

Alberto

07/12/2012 06:55:18
Gravatar
Totale Interventi 75

Re: Mountaineer Ethernet - 8MB Flash - RGB Led

Ciao.

Dunque, per la gestione della flash onboard al momento puoi solamente scegliere tra l'accesso diretto via SPI che hai già linkato oppure implementare (sfruttando sostanzialmente la stessa classe) l'interfaccia block-storage definita nel progetto codeshare dell'utente taylorza che trovi su tinyclr.com qui: http://www.tinyclr.com/codeshare/entry/559

Quando (e se) l'avrai implementata sarei molto contento se la condividerai su tinyclr.it, magari con un post del blog dedicato all'argomento.

Quanto ai led RGB on-board della Mountaineer, facendo riferimento al seguente sorgente (reperibile dal sito Mountaineer Group), https://dl.dropbox.com/u/7414592/TinyCLR.it/Misc/MountaineerETH.cs, puoi utilizzare un codice del tipo:

using System;
using Microsoft.SPOT;
using System.Threading;
using Microsoft.SPOT.Hardware;
using Mountaineer.Netmf.Hardware;

namespace TestLeds
{
    public static class Program
    {
        static OutputPort _ledR, _ledG, _ledB;
        
        public static void Main()
        {
            _ledR = new OutputPort(OnboardIO.LedRed, false);
            _ledG = new OutputPort(OnboardIO.LedGreen, false);
            _ledB = new OutputPort(OnboardIO.LedBlue, false);

            while (true)
            {
                _ledR.Write(true);
                Thread.Sleep(500);
                _ledR.Write(false);
                Thread.Sleep(500);

                _ledG.Write(true);
                Thread.Sleep(500);
                _ledG.Write(false);
                Thread.Sleep(500);

                _ledB.Write(true);
                Thread.Sleep(500);
                _ledB.Write(false);
                Thread.Sleep(500);
            }
        }
    }
}

07/12/2012 09:01:04
Gravatar
Totale Interventi 41

Re: Mountaineer Ethernet - 8MB Flash - RGB Led

ciao! Graie x la risposta. mi sa ke il driver l hanno già implementato http://www.tinyclr.com/codeshare/entry/598 per il led speravo in un accesso analogico.... eheheh Grazie comunque
07/12/2012 09:06:54
Gravatar
Totale Interventi 75

Re: Mountaineer Ethernet - 8MB Flash - RGB Led

Già, e da più di un mese! Non me n'ero accorto...Embarassed

Per l'accesso pseudo-analogico puoi usare i tre canali PWM che trovi identificati (nel file .cs linkato) come PwmRed, PwmGreen e PwmBlue, aggiunstando il duty-cycle puoi ottenere il dimming di ciascuna componente colore molto facilmente.

07/12/2012 18:22:23
Gravatar
Totale Interventi 41

Re: Mountaineer Ethernet - 8MB Flash - RGB Led

molto bene... magari x il led faro un componente draggabile nel designer... un po come per il pulsante e x l ethernet! (chissà xke non l han fatto direttamente i montanari)
11/12/2012 11:05:34
Gravatar
Totale Interventi 41

Re: Mountaineer Ethernet - 8MB Flash - RGB Led

Bhe proprio un componente draggabile no...  ma questo si..

 

 

using System;
using Microsoft.SPOT;
using Gadgeteer;
using Microsoft.SPOT.Hardware;

namespace Mountaineer.Netmf.Hardware
{
/// <summary>
/// Board RGB Led
/// </summary>
public class BoardRGBLed
{
#region Private Fields

private static Microsoft.SPOT.Hardware.PWM _ledR, _ledG, _ledB;

private static Color _setColor = Color.Black;
private static Color _actualColor = Color.Black;

#endregion

#region Static Constructor

static BoardRGBLed()
{
_ledR = new PWM(OnboardIO.PwmRed, 1000, 0, false);
_ledG = new PWM(OnboardIO.PwmGreen, 1000, 0, false);
_ledB = new PWM(OnboardIO.PwmBlue, 1000, 0, false);

updatePWM(_setColor);
}

#endregion

#region Internal Methods

/// <summary>
/// update PWM to reflect the actual color
/// </summary>
private static void updatePWM(Color color)
{
if (color != Color.Black)
{
_ledB.DutyCycle = (double)(color.B / (byte)255);
_ledG.DutyCycle = (double)(color.G / (byte)255);
_ledR.DutyCycle = (double)(color.R / (byte)255);

_ledB.Start();
_ledG.Start();
_ledR.Start();
}
else
{
_ledB.Stop();
_ledG.Stop();
_ledR.Stop();
}
}

#endregion

#region Public Methods

/// <summary>
/// Set a Static Color
/// </summary>
/// <param name="color"></param>
public static void SetStaticColor(Color color)
{
_setColor = _actualColor = color;

updatePWM(_setColor);
}

#endregion

#region Public Property

/// <summary>
/// Obtain the Actual Color.
/// </summary>
public static Color ActualColor
{
get
{
return _actualColor;
}
}

#endregion
}
}

11/12/2012 11:49:04
Gravatar
Totale Interventi 75

Re: Mountaineer Ethernet - 8MB Flash - RGB Led

Ottimo! Non scarterei l'ipotesi di farne un breve articolo didattico con qualche foto e perché no, anche un piccolo video su youtube, no?

11/12/2012 11:53:19
Gravatar
Totale Interventi 41

Re: Mountaineer Ethernet - 8MB Flash - RGB Led

eheheh appena mi arriva la Mountaineer!!! ;)   ci sta mettendo una vita!!!   ergo sto codice non è ancora stato testato... ma non vedo perchè non debba funzionare ;)

20/12/2012 12:04:49
Gravatar
Totale Interventi 41

Re: Mountaineer Ethernet - 8MB Flash - RGB Led

scheda arrivata...  peccato che appena referenzio Microsoft.SPOT.Hardware.PWM sbombazza alla grande!

02/01/2013 09:20:25
Gravatar
Totale Interventi 41

Re: Mountaineer Ethernet - 8MB Flash - RGB Led

Risolto il problema...  e il led RGB funziona alla grandissima!.

 

 

Ora il solo problema è capire come far andare le flash memory...  ;(