login

online now

We have 139 guests and no members online

search

 
Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1

TOPIC: Serial Interface (Pins 9/10/11)

Serial Interface (Pins 9/10/11) 6 years 10 months ago #11

I'm glad you are using Pins 9, 10, and 11 for the communication pins. They don't interfere with other shield boards that use 0, 1, and 2. I hope you keep this in the final version but could you supply a little code to show how to set up these pins correctly?
Last Edit: 5 years 5 months ago by administrator.
The administrator has disabled public write access.

Re: The Breadboard 6 years 10 months ago #12

Thanks. I've been frustrated with pin allocation on my own projects and did not want to pass that along to others. The code I am using is one that allows you to specify the pins for communication; I simply added the overflow logic that the chip generates for flow control.

The code base that I modified ( NewSoftSerial.h ) was found at arduiniana.org under the CCS-A license that I also have my code available under. I would recommend that you download the GinSing source code here and take a look at GinSingSerial.cpp/h; it might be of the most help. If you have any questions please feel free to reply on this topic.
The administrator has disabled public write access.

Re: Serial Interface (Pins 9/10/11) 6 years 7 months ago #29

So you can reconfigure the serial pins in software! This is FANTASTIC news!

I'm using the AsyncLabs WiShield and they use pins 10/11/12/13 for SPI and they are NOT configurable. So the default pins for the GinSing would otherwise conflict for me.

Assuming this is correct, I intend to order one of these sweet sweet little shields :)
The administrator has disabled public write access.

Re: Serial Interface (Pins 9/10/11) 6 years 7 months ago #34

Hmm, yes and no.

There must be a wire somehow between the chip and the Arduino I/O pins. I have included a bit of the schematic that shows how the board ties the serial pins on the chip ( 7,9,10) to the Arduino pins (9/10/11). So I think it might still be a problem for you on the hardware side. On the software side the GinSing serial code can use any pins you assign for RX,TX,DTR, which are of course by default set at 9,10, and 11.

As the software allows for any pin assignments, in theory you could mod the board so that you jumper the chip pins to whatever pins you want, but that capability does not exist in hardware. FWIW I did consider using jumpers to allow you to select between two possible sets of pins, but I was hoping that 9,10,11 were far enough away not to be a problem to most folks. If anyone has a suggestion on a neat way to do hardware pin assignments I'd like to make that priority on the next board rev - clearly the Arduino shields don't naturally play nice with each other (yet)...

pinassignment.png
The administrator has disabled public write access.

Re: Serial Interface (Pins 9/10/11) 6 years 7 months ago #36

Hhhmmmm...

Well what about using SPI on the (somewhat) standard pins 11 (MOSI), 12 (MISO), 13 (SCK)m and then have a jumper to move around which pin the SS (Slave Select pin) is on to help avoid conflicts with other SPI based shields.

Anyway for the existing version I could create a sorta wiring harness to redirect the pins from this shield into other pins on the Arduino, and then use the software to configure the lib for those new pins right?
Last Edit: 6 years 7 months ago by Wavesonics.
The administrator has disabled public write access.

Re: Serial Interface (Pins 9/10/11) 6 years 7 months ago #42

Yes, I'll give that a thought - thanks! I definitely want to make it so that I can just have a single jumper pad on the board to make it play nice. Thanks for the advice!

If it were me, I would trace the chip pin wires on the board and then cut them with an exacto knife - you can use the Eagle file board layout diagram to identify the traces and on what side of the board. Then I would solder jumper wires onto the pin pads on the chip socket that could be plugged into the headers on top (or just soldered to the jumper pads as well ).
The administrator has disabled public write access.

Re: Serial Interface (Pins 9/10/11) 6 years 7 months ago #44

Ah that's a good thought, that may be the road I go.
The administrator has disabled public write access.

Re: Serial Interface (Pins 9/10/11) 6 years 7 months ago #45

I had another thought. If you have a kit but have not built it yet, you could cut the leads off the header for pins 9,10, and 11. You could then jumper those pins on the header to any other pin on the header that you would like.

This would require that the GinSing board be on the top, but it does not require any special mods to the board other than modifying the header. Here are the kind of jumpers that I would recommend to go from header pin to header pin:

6" M/M jumper
The administrator has disabled public write access.

Re: Serial Interface (Pins 9/10/11) 6 years 5 months ago #65

One of the new features on the V1.2 board is the ability to configure the interface pins to avoid conflicts with other shields. Each of the 3 pins can individually be jumpered to one of two pins on the Arduino:




By default, the GinSing software is assumed to be set up such that pins 2,3, and 4 are used for communication. When the GinSing software is initialized, you specify the pins that correspond to each of the hardware pins. This is the sample code that initializes GinSing and determines what pins will be used:

#define rcvPin 4 // this is the pin used for receiving ( either 4 or 12 )
#define sndPin 3 // this is the pin used for transmitting ( either 3 or 11 )
#define ovfPin 2 // this is the pin used for overflow control ( either 2 or 10 )

GS.begin ( rcvPin , sndPin , ovfPin );
Last Edit: 6 years 5 months ago by administrator.
The administrator has disabled public write access.
  • Page:
  • 1
Time to create page: 0.199 seconds