Main Site Documentation

Serial Ports on Cerbuino Bee


#1

I have hopefully an easy question.

The Cerbuino Bee is listed as having two serial ports.

One is on Socket 1, the other on Socket 2.

I looks like the one on Socket 1 is shared with the D0/D1 pins on the Ardunio Headers, which is also shared with the XBee Socket.

It appears, from other posts and code samples that is COM1 (and all you have to do is create a serial port on COM1 and it will use those pins), but the developer’s guide seems to say it’s COM7?

My question is, what is the COM port to use the pins on Socket 2 (PA2 and PA3)?

Also, on a related note, can the Cerb family use Software UART (or was this strictly a premium feature)? Does anyone have a code example on how to do that if it’s possible?

Thanks,

Tom


#2

Hi,
in this Project you can see how a Serial port on Socket 2 is used on the Cerbuino Bee (Class Bluetooth.cs)
https://www.ghielectronics.com/community/codeshare/entry/763


#3

I appreciate your reply.

So, the relevant section of the code (plus a couple of things) is:

this.reset = new GTI.DigitalOutput(socket, Socket.Pin.Six, false, this);
                this.statusInt = new GTI.InterruptInput(socket, Socket.Pin.Three, GTI.GlitchFilterMode.Off, GTI.ResistorMode.Disabled, GTI.InterruptMode.RisingAndFallingEdge, this);
                
                this.serialPort = new GTI.Serial(socket, (int)baud, GTI.Serial.SerialParity.None, GTI.Serial.SerialStopBits.One, 8, GTI.Serial.HardwareFlowControl.NotRequired, this);
                
                //this.statusInt.Interrupt += new GTI.InterruptInput.InterruptEventHandler(statusInt_Interrupt);
                this.serialPort.ReadTimeout = Timeout.Infinite;
                this.serialPort.Open();
                Thread.Sleep(5);

                this.reset.Write(true);

This does give me a way to do it, if there is no direct answers to my questions. So there is no hardcoded COM port to socket 2 (that anyone is aware of)?


#4

I don’t know if there are other options, this way was just used in the original Bluetooth Driver.
Don’t miss to include a reference to “Gadgeteer.Serial” if you want to go this way.


this.serialPort = new GTI.Serial(socket, (int)baud, GTI.Serial.SerialParity.None, GTI.Serial.SerialStopBits.One, 8, GTI.Serial.HardwareFlowControl.NotRequired, this);
this.serialPort.ReadTimeout = Timeout.Infinite;
this.serialPort.Open(); 

#5

Thanks!


#6

Here’s some additional references to help you.

https://www.ghielectronics.com/docs/45/fez-cerbuino-bee-developer shows you the pinouts and UART numbers; the following threads expose some of the UART to COM mapping.

https://www.ghielectronics.com/community/forum/topic?id=10015

https://www.ghielectronics.com/community/forum/topic?id=14373

@ Jeff@ GHI, probably worth updating most of the mainboard pages (at least in Cerb family devices) with a succinct COMx to UARTn mapping table !


#7

That’s the one that I referred to earlier as stating COM7 for Socket 1/D0D1/Xbee. Well, it sort of does. Not directly.

Ah, not to be daft, but, do those threads say Socket 2 is COM6 ?

Yes please…


#8

@ Brett - sorry for slow reply. That isn’t the only thing that needs a mapping section… some of the mappings are obscure and not defined anywhere other than digging down into the porting kit. I’ve done some as they’ve come up in the forum; and others while I’ve been working on SoC manuals. UART should have been one of the first !! It will be next.