Main Site Documentation

Need help with Feztive module on Cobra II


#1

Greetings,

We are having problems with getting the Feztive example code to work with our Fez Cobra II. We ended up changing the channel from 9 to 6 and the board from Spider to Cobra.

We have a power supply (5 Volts 10 amps), and we are getting power throughout the entire strip, but the lights do not turn on. Has anyone tried to get the Feztive lights to work on the Cobra II, or does anyone have an idea on what we could do to make the example code work with the Cobra II?

Any help would be greatly appreciated.

Thanks!


#2

How have you got it wired up and do you get any errors?


#3

Thanks for the quick response! We don’t get any errors after changing the socket number and the board in the test code for the FEZtive lights.

We are wanting to string these down a hallway we haven’t cut the original strip of lights. We removed the male connector end and soldered those wires to the appropriate spots on the FEZtive module. We are powering on the blue 5v/GRD connector side. For data we are using the standard Gadgeteer cable connected to socket 6 on our Cobra II board, which is connected to the FEZtive module port on the same side as the blue power connector. We read 5v on the other end of the FEZtive light strip so power is getting through.

One thing that just came to mind. Do we actually need to solder the female end to the FEZtive module? I know LED’s are a diode so current only goes one way. I’m not sure how these strips are set up though.

Let me know if you need pictures of the setup.


#4

I personally haven’t used the festive module, but there are people here that have. The more info you can provide the quicker we can help you. So yes pics would be good if you can.


#5

Yes, more info please,
and show us your code too


#6

Here is the Program.cs

using System;
using System.Collections;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Presentation;
using Microsoft.SPOT.Presentation.Controls;
using Microsoft.SPOT.Presentation.Media;
using Microsoft.SPOT.Touch;

using Gadgeteer.Networking;
using GT = Gadgeteer;
using GTM = Gadgeteer.Modules;

namespace TestApp
{
    public partial class Program
    {
        public static GTM.GHIElectronics.FEZtive feztive;

        // This method is run when the mainboard is powered up or reset.   
        void ProgramStarted()
        {
            /*******************************************************************************************
            Modules added in the Program.gadgeteer designer view are used by typing 
            their name followed by a period, e.g.  button.  or  camera.
            
            Many modules generate useful events. Type +=<tab><tab> to add a handler to an event, e.g.:
                button.ButtonPressed +=<tab><tab>
            
            If you want to do something periodically, use a GT.Timer and handle its Tick event, e.g.:
                GT.Timer timer = new GT.Timer(1000); // every second (1000ms)
                timer.Tick +=<tab><tab>
                timer.Start();
            *******************************************************************************************/
            feztive = new GTM.GHIElectronics.FEZtive(6); 
            
            feztive.Initialize(80, 4000);

            feztive.SetAll(feztive.Black);
            feztive.SetAll(feztive.Red);
            feztive.SetAll(feztive.Green);
            feztive.SetAll(feztive.Blue);
            feztive.SetAll(feztive.White);
            feztive.SetAll(feztive.Black);

            feztive.SetLED(feztive.Blue, 42);
            feztive.SetLED(feztive.Green, 75);
            feztive.SetLED(feztive.Red, 12);
            feztive.SetLED(feztive.White, 1);
            feztive.SetLED(feztive.Blue, 79);
            feztive.SetLED(feztive.Green, 57);

            GTM.GHIElectronics.Color blue = new GTM.GHIElectronics.Color(0, 0, 127);
            GTM.GHIElectronics.Color green = new GTM.GHIElectronics.Color(0, 127, 0);

            feztive.SetLED(green, 10);
            feztive.SetLED(blue, 10);

            GTM.GHIElectronics.Color[] curr = feztive.GetCurrentColors();


            // Use Debug.Print to show messages in Visual Studio's "Output" window during debugging.
            Debug.Print("Program Started");
        }
    }
}

Here is the Program.generated.cs

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by the Gadgeteer Designer.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using Gadgeteer;
using GTM = Gadgeteer.Modules;

namespace TestApp
{
    public partial class Program : Gadgeteer.Program
    {
        // GTM.Module definitions

        public static void Main()
        {
            //Important to initialize the Mainboard first
            Mainboard = new GHIElectronics.Gadgeteer.FEZCobra_II();			

            Program program = new Program();
            program.InitializeModules();
            program.ProgramStarted();
            program.Run(); // Starts Dispatcher
        }

        private void InitializeModules()
        {   
            // Initialize GTM.Modules and event handlers here.
        }
    }
}

Here is the xml file. It didn’t work with the change to the Assemblies section or without the change.

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<GadgeteerDefinitions xmlns="http://schemas.microsoft.com/Gadgeteer/2011/Hardware">
<ModuleDefinitions>
<!--
 This module definition should be filled in.  Mouse over any attribute name to get more help about that attribute. 
-->
<!--
 The Unique ID is auto-generated and does not usually need to be modified. 
-->
<ModuleDefinition Name="FEZtive" UniqueId="814bcdc5-aec7-4e3e-8f4e-eb206cff481b" Manufacturer="GHI Electronics" Description="A FEZtive module" InstanceName="feztive" Type="Gadgeteer.Modules.GHIElectronics.FEZtive" ModuleSuppliesPower="false" HardwareVersion="1.0" Image="Resources\Image.jpg" BoardHeight="22" BoardWidth="44" MinimumGadgeteerCoreVersion="2.42.500" HelpUrl="http://www.ghielectronics.com/catalog/product/409">
<!--
 Assemblies listed here are added to the project as references by the designer whenever this module is instantiated.  
-->
<!--  This functionality is used to  -->
<!--    (1) include the output assemblies of this template  -->
<!--
   (2) include other custom assemblies that the module relies on (NB you must edit msm.wxs so these are installed too) 
-->
<!--
   (3) indicate a reliance on a Gadgeteer assembly other than Gadgeteer.dll (which is always referenced) 
-->
<!--  Some examples are provided inline:  -->
<Assemblies>
<!--
 This lists the assemblies which provides the API to this module, i.e. the output assemblies of this template. ((1) in the list above) 
-->
<!--
 If you do not provide support for both NETMF 4.1 and 4.2, the relevant lines should be removed 
-->
<!--
 NB you should use the same name for the same assembly's NETMF 4.1 and NETMF 4.2 versions, since this will make it easier for users to change framework versions 
-->
<!--
 <Assembly MFVersion="4.1" Name="GTM.GHIElectronics.FEZtive"/> 
-->
<Assembly MFVersion="4.2" Name="GTM.GHIElectronics.FEZtive"/>
<!--
 If your module relies on another assembly, then list it here (and see the msm.wxs file since you need to include it in the installer too), e.g.: 
-->
<!--
 
        <Assembly MFVersion="4.1" Name="GHIElectronics.CustomAssembly"/>
-->
<Assembly MFVersion="4.2" Name="GHIElectronics.CustomAssembly"/>
<!--
 If your module either relies upon or is often used with a .NET Gadgeteer assembly other than Gadgeteer.dll, then list it here 
-->
<!--
 so that the designer automatically includes it when your module is included - e.g. by uncommenting the lines below 
-->
<!--
 These .NET Gadgeteer assemblies were separated out for NETMF 4.2, so don't need to be listed for NETMF 4.1 as separate 
-->
<!--
 Uncomment any of the below that you require for this module. 
-->
<!--

        <Assembly MFVersion="4.2" Name="Gadgeteer.Serial" />
        <Assembly MFVersion="4.2" Name="Gadgeteer.DaisyLink" />
        
-->
<Assembly MFVersion="4.2" Name="Gadgeteer.SPI"/>
<!--
 If this is a networking module, then uncomment all four lines below to include Gadgeteer's web client/web server libraries 
-->
<!--
 
        <Assembly MFVersion="4.1" Name="Gadgeteer.WebClient" />
        <Assembly MFVersion="4.1" Name="Gadgeteer.WebServer" />
        <Assembly MFVersion="4.2" Name="Gadgeteer.WebClient" />
        <Assembly MFVersion="4.2" Name="Gadgeteer.WebServer" />
        
-->
</Assemblies>
<!--

      This is an example socket specification with two sockets on the board.  
      The socket positions are specified in mm from the top left corner of the board, with the orientation 90 indicating the socket notches are pointing upwards (0=right, 180=left, 270=down)
      
-->
<Sockets>
<!--
 This example socket is compatible with socket types XY which has electrical connections to pins 3 and 4 
-->
<Socket Left="10" Top="10" Orientation="90" ConstructorOrder="1" TypesLabel="S">
<Types>
<Type>S</Type>
</Types>
<Pins>
<Pin Shared="false">3</Pin>
<Pin Shared="false">4</Pin>
</Pins>
</Socket>
</Sockets>
<!--
 Use the ExtraLibrariesRequired element if this module requires specific firmware libraries to be provided by the mainboard, and so is limited to a subset of mainboards. 
-->
<!--
 
      <ExtraLibrariesRequired>
        <Assembly MFVersion="4.1" Name="FooHelper" ErrorMessage="This module only works with the MainboardName1 or MainboardName2 mainboards." />
        <Assembly MFVersion="4.2" Name="FooHelper" ErrorMessage="This module only works with the MainboardName1 or MainboardName2 mainboards." />
      </ExtraLibrariesRequired>
      
-->
<!--
 Also use the ExtraLibrariesRequired element if this module represents built-in functionality in a mainboard, listing the mainboard's driver as the required assembly. 
-->
<!--
 
      <ExtraLibrariesRequired>
        <Assembly MFVersion="4.1" Name="GHIElectronics.Gadgeteer.MainboardName" ErrorMessage="This module is built-in to the MainboardName mainboard, so cannot be used with any other mainboard." />
        <Assembly MFVersion="4.2" Name="GHIElectronics.Gadgeteer.MainboardName" ErrorMessage="This module is built-in to the MainboardName mainboard, so cannot be used with any other mainboard." />
      </ExtraLibrariesRequired>
      
-->
<!--
 Use the ProvidedSocket tag if this module provides a socket that another module can plug into 
-->
<!--
 The example below is for DaisyLink modules which provide a socket type "*" 
-->
<!--

      <ProvidedSockets>
        <ProvidedSocket Label="*" Left="30" Top="10" Orientation="0" ConstructorParameter="DaisyLinkSocketNumber">
          <Types>
            <Type>*</Type>
          </Types>
        </ProvidedSocket>
      </ProvidedSockets>
      
-->
</ModuleDefinition>
</ModuleDefinitions>
</GadgeteerDefinitions>

#7

Please simplify your code to make sure the LEDs are working first. Maybe a button to control couple LEDs.

Also, please try to modify your posts instead of deleting them.

Welcome to the community.


#8

Apologies for the extra posts. I was new to the interface and was just trying to clean it up. Unfortunately, delete didn’t hide the posts. The code I posted is pretty much the example code given on the GHI site zip file with the socket and motherboard changed. Thanks for the response!

Quick question, should there be a module in Visual Studio 2010 for the FEZtive lights?

Original code source:
http://wiki.tinyclr.com/index.php?title=FEZtive_Module


#9

We figured out our wiring was wrong on the module. The solder points closest to the Gadgeteer plug is the only port that receives data unless we wired it specially. The code worked great from there. However, we were having trouble initializing and modifying more than 8 LED lights. We tried a strip of 89 and they will only turn white. We were only trying to turn them off in the code and they will only stay white. We are powering with an external power supply for the bigger strip. Thanks for any insight you might have. We are done with the project as of now but other groups might jump on this project in the future. I will steer them toward this thread. Thank you!