Rotary Encoder H1 modules after upgrading from FEZ Spider to FEZ Spider II

One difference that I have noticed after upgrading the mainboard in my project from the FEZ Spider to FEZ Spider II is that socket 6 has changed from socket types C, S, and Y to C, S, and X. My project requires rotary H1 modules be connected to sockets 6 and 8. Is this no longer possible?

Also, in the Gadgeteer model explorer I cannot connect even the rotary H1 module to socket 8 (which hasn’t changed) let alone socket 6.

Okay, I was able to get one of the rotaryH1s connected to the mainboard in the designer by removing it and adding it again from the toolbox. This apparently got me the new version of the rotaryH1 because the version of its assembly in the .csproj file went up from 4.3.6.0 to 4.3.7.10.

I still can’t add a new rotaryH1 module to socket 6 due to the change from Y to X. Is there a workaround possible?

What other modules do you have connected? You will not get an H1 working on an X socket for the simple reason that an X socket cannot support the required pins.

Based on the pinouts [1,2], it looks like socket 6 should be able to use the rotary encoder module. If anything, shouldn’t the rotaryH1 module really require an “S” socket rather than “Y” vs. “X”?


=========================================================================================================
Socket				Pin1	Pin2	Pin3	Pin4		Pin5		Pin6	Pin7	Pin8	Pin9	Pin10
---------------------------------------------------------------------------------------------------------
C (Spider I, II)	+3.3V	+5V		GPIO!	CAN TD (G)	CAN RD (G)	GPIO	[UN]	[UN]	[UN]		GND
S (Spider I, II)	+3.3V	+5V		GPIO!	GPIO		GPIO		CS		MOSI	MISO	SCK		GND
X (Spider    II)	+3.3V	+5V		GPIO!	GPIO		GPIO		[UN]	[UN]	[UN]	[UN]		GND
Y (Spider I    )	+3.3V	+5V		GPIO!	GPIO		GPIO		GPIO	GPIO	GPIO	GPIO	GND
										
=========================================================================================================
Socket				Pin1	Pin2	Pin3	Pin4		Pin5		Pin6	Pin7	Pin8	Pin9	Pin10
---------------------------------------------------------------------------------------------------------
Rotary H1 Module	+3.3V			LFLAG	DFLAG		CNT_EN		SS		MOSI	MISO	SCK		GND

References
[1] [url]https://www.ghielectronics.com/docs/305/gadgeteer-sockets-quick-reference[/url]
[2] [url]https://www.ghielectronics.com/catalog/product/457[/url]

@ Sprigo - I just saw that there was a reply as I submitted my latest comment. Unfortunately as of now all of the other “Y” sockets are in use for other things, so I’d like to get this to work if at all possible. It would require redesigning other parts that I wasn’t expecting to have to in the change from FEZ Spider I to FEZ Spider II.

Please list all modules you need connected.

You could always grab the driver source code off BitBucket and modify it for an ‘S’ socket.

https://bitbucket.org/ghi_elect/gadgeteer/src/2567b2403077bdc7235f3697308d0f8966f6c6de/Modules/GHIElectronics/RotaryH1/?at=master

Gus, thanks in advance for any help you can give me. I need the following modules:

[ul]USB Client SP - For programming only. Makes no difference here though.
Display TE35 - Uses Y sockets 12 & 14 (also 13 & 10 but they don’t matter)
2x Rotary H1 - Uses Y socket 8 & ? (was 6 on Spider I)
3x Breakout TB10
[ol]Socket 5 - I have to use PWM 0 Capture input 0, (LPC2478 name “PCAP0[0]” / LPC1788 name “PWM0_CAP0”), which is on Socket 5 pin 8. I think on the EMX there was one other pin that could function as PCAP0[0] but it didn’t work for me.
Socket 9 - I’m using 3 analog inputs on pins 3-5 and SPI on pins 7-9
Socket 11 - I’m using PWM 0 outputs 1 and 2 on pins 8-9, as well as a few GPIOs (3!, 6, and 7)[/ol][/ul]

The LPC1788 also has PWM0_CAP0 function on P3[22], which I’m not sure I can get to. On the FEZ Spider II schematic it is shown at the top (J1 / Alarm) and listed under “Unused pins”. Is there a way to access that?

@ DarrenUtd - Are you using all 7 pins on the Breakout TB10s? If they’re all used, Sprigo’s suggestion is probably your best bet. The Rotary H1 is a SPI module underneath, so you can add a copy of it to your project and modify it to use SPI so you can use socket 6. J1 is not exposed on any socket.

Thanks John. No I am not using all 7 pins on the TB10s, pretty much just the ones I listed above. For example, on Socket 5 I an only using 2 pins, but it is the only place where I can use the PWM0_CAP0 function so I can’t free the socket up.

I will try modifying the H1 to use an SPI socket.

@ John or Gus - I’m working on modifying the rotary H1 code. But just curious - why did socket 6 on the Spider II change to a ‘X’ socket from a ‘Y’ on the Spider I? ‘X’ would imply that pins 6, 7, 8, and 9 are unusable, but don’t they correspond to P4.28, P0.9, P0.8, and P0.7 on the LPC1788, which should be capable of acting as GPIOs as needed for a ‘Y’ socket?

@ DarrenUtd - The SPI bus on that socket is used for the G120’s flash. To prevent any issues, it should only ever be used as SPI so we removed GPIO capability.