Main Site Documentation

Y(15-17) sockets on Raptor not working well


#1

Hi,
It seems that Y sockets 15-17 which are also used for screen can’t be used.
My PulseCount module always gives me 0 whereas when on socket 1, it works well.
Am I missing something such a flag to deactivate screen ?
My firmware is up to date.

Thx and regards,

Nathanael


#2

If the LCD is showing anything when you boot, then it is active in the firmware. You will have to deactivate to use any of the display pins:

You could reload the firmware, which does not have an active LCD by default, or look at the documentation for the field referenced below:

namespace: GHI.Premium.Hardware
class: Configuration.LCD
Field: HeadlessConfig

GHIElectronics.NETMF.Hardware.Configuration.LCD.Set(LCD.HeadlessConfig);


#3

@ maverick78 - Is it a console program? Do you have some code that can be shared? What are you connecting to the PulseCount module? Is that correctly connected?

I did not notice the title of the post… :-[


#4

When I plug the screen, it’s all white, nothing more.
I’ve tried GHIElectronics.NETMF.Hardware.Configuration.LCD.Set(LCD.HeadlessConfig); but nothing changed.

Here’s the code i’m using :

	
void ProgramStarted()
{
	Configuration.LCD.Set(Configuration.LCD.HeadlessConfig);
	Debug.Print("Program started");
	var timer = new GT.Timer(200);
	timer.Start();
	timer.Tick += OnTick;
}

private void OnTick(GT.Timer timer)
{
	Debug.Print(pulseCount1.GetCount() + ";" + pulseCount2.GetCount() + ";" + pulseCount3.GetCount() + ";" + pulseCount4.GetCount());
}

With 4 pulse counts : pulseCount1, pulseCount2, pulseCount3 on 15,16 and 17 and pulseCount4 on 1

Only the one on socket 1 actually counts, the others keep sending back 0
My PulseCounts are plugged on a rotary encoder


#5

@ maverick78 - How do you have them hooked up in the designer? You do not need to declare a HeadlessConfiguration if you are using Gadgeteer. Gadgeteer automatically disconnects the RGB displays depending how it is connected in the designer.


#6

Well, in the designer there’s a normal connection, nothing unusual


#7

Could we see a screen shot of your designer layout?


#8

Sure!


#9

@ maverick78 - We have been able to reproduce this issue and it is currently being investigated.


#10

Great ! I look forward to hear some good news :wink:


#11

We have found the problem. The driver does not currently set the state of the enable pin. On the LCD pins, we pull those down by default which disabled the count. This will be fixed in the next SDK. In the mean time, you can create a digital output on the socket you are using on pin 5 and set it high.


#12

Awesome !
I’ve replace the current ctor by this one and it works fine !

	/// <summary>
/// Constructs a new PulseCount instance.
/// </summary>
/// <param name="socketNumber">The socket that this module is plugged in to.</param>
public PulseCount(int socketNumber)
{
	socket = Socket.GetSocket(socketNumber, true, this, null);
	socket.EnsureTypeIsSupported('Y', this);
	ENABLE = new DigitalOutput(socket, Socket.Pin.Five, true, this);
	CS = new DigitalOutput(socket, Socket.Pin.Six, true, this);
	MISO = new DigitalInput(socket, Socket.Pin.Eight, GlitchFilterMode.Off, ResistorMode.Disabled, this);
	MOSI = new DigitalOutput(socket, Socket.Pin.Seven, false, this);
	CLOCK = new DigitalOutput(socket, Socket.Pin.Nine, false, this);
	Initialize();
}

Thanks a lot !