New module with socket type "A&Y"

I’m busy coding for a new module. The module requires an “A&Y” socket. The Gadgeteer spec allows for a socket requirement of “A&Y”, but nowhere can I see how that should be declared in the GadgeteerHardware.xml file.

Anybody know?

I tried to look at the Gadgeteer Core source code, but the GadgeteerHardware.xml files is parced by the designer, for which we don’t have source code, that I know of…

Any help would be appreciated.

Hi Errol,

If you have one socket that must be labelled both A and Y, you use the following XML:

<Socket Left="30" Top="10" Orientation="90" ConstructorOrder="1" TypesLabel="AY">
          <Types>
            <CompositeType>
              <Types>
                <Type>A</Type>
                <Type>Y</Type>
              </Types>
            </CompositeType>
          </Types>
          <Pins></Pins>
        </Socket>

Hi loveelectronics,

Ahh, “CompositeType”. Thank you very much. I was getting worried that nobody knew how to do it. :slight_smile:

Is that documented anywhere? I need to also do a driver for a module that provides a socket, and there is very little info on that, that I can find anyway.

I’m not sure if it is documented, if it is it will be in the Mainboard and Module builders guide on the Gadgeteer codeplex site.

To create a module that provides a socket is really easy:

Just put this:

<ProvidedSockets>
        <ProvidedSocket Label="A" Left="30" Top="10" Orientation="0" ConstructorParameter="socket1">
          <Types>
            <Type>A</Type>
          </Types>
        </ProvidedSocket>
        <ProvidedSocket Label="B" Left="60" Top="10" Orientation="0" ConstructorParameter="socket2">
          <Types>
            <Type>B</Type>
          </Types>
        </ProvidedSocket>
        <ProvidedSocket Label="C" Left="90" Top="10" Orientation="0" ConstructorParameter="socket3">
          <Types>
            <Type>C</Type>
          </Types>
        </ProvidedSocket>
      </ProvidedSockets>

After the declaration.

Thanks.

None of it is docmented in the module builders guide pdf that is on CodePlex. I was pointed at a Gadgeteer Wiki when I argued that there was no such thing as “A&Y” as that is not in the pdf either.

Thank you very much for your help.

It is a little tricky deciphering some of the advanced features, if you have any more questions feel free to ask me.

Good luck with your module, let us know how you get on!