PDA

View Full Version : Unsolved A fully connected network of 5 Propellers - how to?



Mario_
11-18-2011, 01:20 AM
Hello,

The problem I want to address:
I want to build a robot that will run 5 Propellers in parallel.
Each Propeller has a specific mandate (and many concurrent tasks are done by each propellers).
Prop. 1- Control motors to move the robot
Prop. 2- Power management
Prop. 3- Image analysis (1 camera)
Prop. 4- Sensors data analysis (distance, ...)
Prop. 5- General tasks + robot mission

Propeller should be able to communicate directly with any other Propeller at any time.
Actually, I need (would like) to create a "fully connected network of Propellers".
I think I2C is probably the best solution for that (please tell me).
But, the best solution would involve no master, and no slave (direct communication, no master).
I can dedicate one cog per Propeller for the communication.

My question:
Do you have an example (source code, web links) that would help me program these Propellers.
I'm relatively novice, any suggestions will help me.

Thanks a lot

mindrobots
11-18-2011, 02:08 AM
Wow! Ambitious project!

I have a similar robot plan on my long-term project board. I intend to use PropForth for the software and am still evaluating the hardware needs.

Master prop for control and coordination
Slave prop for motor control
Slave prop for sensors
Slave prop for robot health and misc functions

PropForth has a relatively well developed support structure for multiple prop configurations with high speed communication between props. As you add props, you can pretty much issue commands to individual cogs regardless of which prop they are on.

PropForth is currently at release 4.6, release 5.0 is coming soon. 5.0 has significant changes to allow the use of expanded memory structures for the Forth vocabulary. It's a major rewrite and revision so I'm happily awaiting it's arrival before I resume my robot project.

Cluso99
11-18-2011, 04:04 AM
mario_: Firstly, welcome to the forum.

Do you really need all those props??? Remember, there are 8 processors (cores or cogs) per prop chip???

Comms between props is often discussed and it really depends on what you are passing. I2C is not the simplest method IMHO. I like plain serial. Its easy and fast (115,200 easily).

frank freedman
11-18-2011, 04:43 AM
mario_: Firstly, welcome to the forum.

Do you really need all those props??? Remember, there are 8 processors (cores or cogs) per prop chip???

Comms between props is often discussed and it really depends on what you are passing. I2C is not the simplest method IMHO. I like plain serial. Its easy and fast (115,200 easily).

Agree with Cluso99, but would attempt to go a bit further depending in IO pin requirements. Consider using the direct serial in a star topology with a logical token ring access scheme to gain a guaranteed access time to any given node (propchip). Or use CANBUS (but more complex and extra hardware).

Edit: a part of recommending a token passing scheme is to prevent the props from stomping all over each other ..... collision.....
Frank

ElectricAye
11-18-2011, 05:25 AM
I'm not sure this will help, but it provides some thoughts on giving the Props an ID:

http://forums.parallax.com/showthread.php?132007-Multi-Prop-ID-Process-Make-More-Simple&p=1005332#post1005332

Though I have yet to try it myself, I am particularly intrigued by Phil Pilgrim's idea of using the ID chips as seen here:

http://forums.parallax.com/showthread.php?132007-Multi-Prop-ID-Process-Make-More-Simple&p=1005332&viewfull=1#post1005332

You might also have a look at this:

http://forums.parallax.com/showthread.php?134641-DEMO-High-Speed-Multi-Prop-to-Prop-Communication

$WMc%
11-18-2011, 05:54 AM
You can run 230Kbaud with PropBasic even faster if you use a 6,25MHz xtal
'
But I'm sure you already know this

frank freedman
11-18-2011, 07:04 AM
Taking the token ring thing a step further, assume one cog on each prop is the local master handling the comms among other things a star could be a single wire physical implementation just wire for short hop, may 20mA loop or diff driver/recvr for longer higher noise environs. Give the submaster its own id and then on por all props wait a delay * id if no traffic before time out it must be the first node Token starts there. No one else talks without getting the token passed to them. One additional cog for watchdog to reset the ring if token lost. Result n node negtwork over 1 wire/io pin per prop. = reliable comms, no collisions, set guaranteed time for each prop to talk (if fixed packet sizes).

Frank

PJ Allen
11-18-2011, 11:50 AM
Isn't Humanoido leading the way, blazing the trail as it were, (http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain) in multi-Propeller, hyper-networked ultra-slendiferousness -- or is that all a big joke?

prof_braino
11-18-2011, 02:37 PM
I want to build a robot that will run 5 Propellers in parallel.
Prop. 1- Control motors to move the robot
Prop. 2- Power management
Prop. 3- Image analysis (1 camera)
Prop. 4- Sensors data analysis (distance, ...)
Prop. 5- General tasks + robot mission

Propeller should be able to communicate directly with any other Propeller at any time.
Actually, I need (would like) to create a "fully connected network of Propellers".
But, the best solution would involve no master, and no slave (direct communication, no master).
I can dedicate one cog per Propeller for the communication.



Hi Mario

Welcome to the forums. As folks have said, there are many starts on this type of archtecture, with varying amounts of complexity and overhead.

The simplest might be using propforth, as sugggested by mindrobots. It already includes the ability to have multiple props connected more or less transparently, each time you another prop, you add 6 more cores (one core on each chipt is used for communication) and 28 more I/O pins (two are used for communication and we usually leave 30 & 31 for serial, since we can). The physical connection and communication protocol is already complete, to the application and user accessing a remote cog is the same as accessing a local cog.

As an example:
5 prop chips times 6 available cores per chip would leave you with 30 usable cores. Do you need so many? One core can control 16 servos (2 counters per core, and 8 servos per counter). One prop can control 28 servos (actual max is: 2 counters per core, 8 servos per counter, 6 cores per prop equals 48 , but we run out of pins)

IF you define the actual tasks you want to do, you may find that most of them can fit on a single prop, such as power management, motor control, sensor input. Propforth has not addresseed image analysis (yet) nor AI for mission planning, but the notion is leaning towards off loading the database and number crunching to a workstation processor, remember the prop is a mincrocontroler, not a workstation. But there are things like the raspberrypi and android phones coming out that would fit nicely and ralatively easily.

The current version of propforth is adequate to implement all the peices you want to use. The next version (PF5.0) should be more than adequate for bringing all the peices together into a single application.

What ever you chose, I suggest that you define all the "parts" as best you can, start work on getting the motors to turn, and sensors to read, etc. Doing that will give you a better handle on where to go next.

PJ Allen
11-18-2011, 05:14 PM
Mario_,
Fill the Big Brain (http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain) will answer all of your questions, what to do and how to do it. Fill the Big Brain (http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain) is the preeminent Propeller project, it's the distillation of all that the Propeller truly is and can be.

It's odd that it's over in Robotics, but its real home is here in the Propeller Forum.

Ron Czapala
11-18-2011, 09:58 PM
Mario_,
Fill the Big Brain (http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain) will answer all of your questions, what to do and how to do it. Fill the Big Brain (http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain) is the preeminent Propeller project, it's the distillation of all that the Propeller truly is and can be.

It's odd that it's over in Robotics, but its real home is here in the Propeller Forum.

@PJ -
What have you been smoking??? :confused:

PJ Allen
11-19-2011, 01:15 AM
We need look no further, Fill the Big Brain (http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain) shows us all the Propeller's greatness!
Fill the Big Brain (http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain) is Pure Propeller Perfection; it's exactly what Mario_ was asking about.

Mike G
11-19-2011, 01:25 AM
I agree with PJ ya gota' checkout the Big Brain thread.

mindrobots
11-19-2011, 01:33 AM
If I remember correctly, the Big Brain started out as a Basic Stamp multi-processor amalgam and than evolved to a Propeller based massively parallel architecture. Since it's processor agnostic, it should probably remain in the robotics forum as it strives for machine awareness.

PJ Allen
11-19-2011, 01:54 AM
No, mindrobots, the Big Brain is 100 Propellers, it is not "processor agnostic", even though it is programmable in "multiple languages".
It is the Acme of multiple Propeller Performance, writ large.
If only they'd move "Fill the Big Brain" to its rightful home, right here in the Propeller Forum (instead of languishing in the fetid backwater of the Robotics Forum, pearls cast before swine), then everyone, especially the new people, could delight and profit in the nearly daily updates to "Fill the Big Brain".

Anyway, "Fill the Big Brain" has all of the answers to any questions that Mario_ may have.

mindrobots
11-19-2011, 02:16 AM
Post #55 - I thought I remembered some Stamp involvement. An earlier post mentions the BOE being used in the brain stem.

Brain Blob Preliminary Specs

Preliminary Specs
21 boards
1 Basic Stamp 2 Module
20 Propeller Chips
20 Parallax Proto Boards
21 EEPROMs
...20x64K+1x2K=130,000 KBYTES
... approx 127MB
1 Board of Education
161 Cores with 80MHz Clock
160 cores at 20 MIPS = 3,200 MIPS
Expands to 1000x
320 Counters
US Serial Communication
Breadboards
External Power Source
1-Data Light per Board
Hybrid 1-Wire Half Duplex and
2-Wire Interface Full Duplex
BUS Design

PJ Allen
11-19-2011, 02:25 AM
None of which makes "Fill the Big Brain" less a Propeller project than someone using an LED or any other auxilliary components, or discussions of "Prop-Forth" and so on. The emphasis is the Propeller and "Fill the Big Brain" has taken the Propeller to heights previously unimaginable, "a fully connected network of Propellers", and something for all Propeller users to aspire.

(Please stop the distractions.)

Duane Degn
11-19-2011, 04:12 AM
Mario_,

Welcome.

There many different ways to have Propeller chips communicate with each other. The method used varies according to the needs and the skill of the programmer.

I attempted a wireless network of sorts in my panic button (http://forums.parallax.com/showthread.php?132849-Propeller-Powered-Panic-Buttons)project. One problem with that particular project was the Nordic FOBs I was using were programmed to transmit only four bytes. I posted code used by the Propellers in the non-FOB button units. I was able to keep the Props from all transmitting at the same time (each Propeller's transmit slot was based on their ID) as they would relay information from one Propeller to another.

Wired communication is of course easier. One issue you'll need to deal with is how to know how big a message is. There are three ways I can think of to deal with this.

1. Have all messages the same length. The panic button project used this method.

2. Declare the length of the message near the beginning of the message (always in same position relative to the start of the message). This way the receiving Prop knows how many bytes to receive. Dynamixel's AX-12 robot servos use this type of protocol.

3. Use an end of message identifier. This is the method I usually use myself. It has the drawback of not being able to send a byte that equals the end of message identifier anywhere else within the message. To avoid use the identifier (a carriage return in my case), I send data as ASCII characters. But limiting the data to ASCII characters usually makes the message longer (probably about twice as long) as message without the ASCII character restriction.

I posted MecanumVision110627a here (http://forums.parallax.com/showthread.php?135201-Driving-100-LED-s&p=1044336&viewfull=1#post1044336). It includes (along with a bunch of other stuff) an example the protocol I use.

ElectricAye's comment about giving Props unique IDs really only pertain to setups where all the Propeller are programmed with the same code.

I used identical code in all the Propeller in my panic button project. I wrote a small program that would load an ID number to upper EEPROM. This way the Props still knew there IDs even after they were loaded with a new version of the program. (Load a program to EEPROM only writes over the lower 32K of the EEPROM.

@PJ, Have you been skipping church again? Shame on you for trying to deprive us swine.

PJ Allen
11-19-2011, 11:47 AM
Why would anyone do any of that stuff when all he needs is to follow the examples as set forth in Fill the Big Brain (http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain)?
It's the compendium of fully connected networking Propellers and Humanoido has done all the work for you.

Don't Hate, Celebrate -- Fill the Big Brain!
Its shining example shows everyone The Way to fully connected networking Propellers!

Leon
11-19-2011, 11:51 AM
I don't think that Humanoido has actually got his contraptions to do anything useful, though. :)

Ron Czapala
11-19-2011, 01:02 PM
Don't Hate, Celebrate -- Fill the Big Brain!
He has so got the Big Brain to do useful things, the list is exhausting. Place your enfeebling cynicism aside and read Fill the Big Brain (http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain)!

Fill the Big Brain is the Propeller Pinnacle, it's the Propeller Polaris!

Let's bring Fill the Big Brain (http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain) back to its true home, here, in the Propeller Forum!

There are so many useful, ingenious and original programming examples ... no, wait!
Hmmmmm?!? Blinking an LED and, and, and... ???

Leon
11-19-2011, 01:04 PM
Never has so much been written about something that does so little.

ElectricAye
11-19-2011, 03:11 PM
You guys casting aspersions upon The Big Brain, shame on you. You're all obviously subscribers to the sour grapes theory. Just because you have yet to figure out a way to make, out of a flattened Lays potato chip bag, a telescope capable of cutting-edge cosmic research, doesn't mean it ain't do-able. So give it a rest.

And think of poor Mario. Dude shows up here asking for help and PJ emerges from Outer Darkness, extends his hand as though willing to help, but then pulls Mario and everyone else here down the rabbit hole where anything can happen.

"Welcome to Disneyland, folks. I'm your tour guide, PJ Allen."
"But... But I thought this was going to be a tour of... of The Pentagon."
"Hold that thought, Grandma. Though some people call it The Pentagon, I'm gonna start you out with a little something more interesting today. Now, as you can see... down here in this steam tunnel... we have..."

Mike Green
11-19-2011, 03:44 PM
Any more discussion of Humanoido or The Big Brain and this thread will be closed. It's off topic. It's a personal attack and it has no place in these forums.

Ron Czapala
11-19-2011, 04:25 PM
@Mario_,

Sorry for helping to hijack your thread.

Your request for information is legitimate and there are many knowledgeable people in these forums.

Good luck with your networking project.

Mario_
11-19-2011, 04:32 PM
Hello All,

first, I would like to thank you all for suggestions, I will take the time to study each of them in details. I really like this Forum.
The description of the problem I want to address is incomplete (wanted to go straight to the point).
Actually, the mandate of each Prop is not really important here.
The capability I would like to develop is to make many Props communicate efficiently (a kind of network of Propellers).
This capability would be very useful in a complex robot that involves many networked Props, each of them being fully busy to fulfill their mandate (all cogs in function).
I strongly believe that we can use the Propeller technology to build such complex systems (which is of course not easy, but really fun and challenging).
I agree, this kind of project is a long term effort. Doing it, you learn a lot and you may end up with very surprising robots.

Thanks again, I really appreciate your feedback,

Mario

Mario_
11-19-2011, 04:35 PM
I forgot to say that I will come back to you as soon as I have a working solution.

Cheers,

Mario

Publison
11-19-2011, 04:37 PM
There is a forum post that has a few projects listed:

http://forums.parallax.com/showthread.php?124172-Multiple-Prop-Projects&highlight=Multiple+Propeller



(http://forums.parallax.com/showthread.php?124172-Multiple-Prop-Projects&highlight=Multiple+Propeller)

jazzed
11-19-2011, 04:49 PM
Hi Mario_

Welcome to these forums. I hope your project succeeds.
Please pardon the lack of housekeeping here.

Many of us are able and willing to help with real solutions.
Start a new thread when you're ready.

Cheers.


I forgot to say that I will come back to you as soon as I have a working solution.

Cheers,

Mario

Duane Degn
11-19-2011, 05:06 PM
There is a forum post that has a few projects listed:

http://forums.parallax.com/showthread.php?124172-Multiple-Prop-Projects&highlight=Multiple+Propeller



(http://forums.parallax.com/showthread.php?124172-Multiple-Prop-Projects&highlight=Multiple+Propeller)

Unfortunately most of the links in the first post of the thread are dead.

I updated some of the links here (http://forums.parallax.com/showthread.php?124172-Multiple-Prop-Projects&p=1015345&viewfull=1#post1015345).

mindrobots
11-19-2011, 05:09 PM
Mario,

It's your choice but you don't need to have a working solution to come back. Many projects are documented on the forum as they proceed from start to finish. People will follow along and during your discovery journey, you may hook someone else's interest or cross paths with a like minded experimenter.

Publison
11-19-2011, 05:54 PM
Mario,

I forgot the link I posted was before the Forum Migration.

On most of the posts, you can replace "parallax" with "parallaxinc" and get to the posts.

I think the posts from Clock Loop where most interesting, and had a lot of info.

Leon
11-20-2011, 04:53 AM
This is weird:

http://forum.sparkfun.com/viewtopic.php?f=4&t=30571

It looks like the same project, using PICs instead of Propellers.

frank freedman
11-20-2011, 05:41 AM
This is weird:

http://forum.sparkfun.com/viewtopic.php?f=4&t=30571

It looks like the same project, using PICs instead of Propellers.

Perhaps it is the same project and poster. That may explain the need for all the prop chips. Poster may not understand the concept or implications of 8 cores in a single chip!!!

Frank

P.s. In the interest of full disclosure, the net connection I suggested was actually implemented in the early '90s using a number of SAB8051 variants and some x86 chips using arcnet devices to connect it all through fibre optics. It ran the non-realtime signaling and parameterization of a major OEMs Card/Angio system.

Mario_
11-20-2011, 02:12 PM
I have to admit, I have submitted the same problem to two other Forums in order to reach the largest audience.
The microcontroller I use more often is and will continue to be the Propeller (I understand its multitask capability), but I use many other types as well (Stamps, Pic, even Arduino!).
Sorry if it may shock some of you guys.

Mario

Mike Green
11-20-2011, 02:57 PM
There is no one universal ultimate microcontroller, good for everything. The Propeller excels at some things and, although some amazing things have been done with it, it's not the best choice for a lot of tasks, particularly where the task is small and simple and cost is an overriding feature.

"to two other Forums" ... I hope these were not other Parallax forums. Cross-posting here is against forum guidelines.

There's a two part article in the Nuts and Volts Columns on networking Stamps together using a multi-drop serial network. The same ideas could be applied to the Propeller. Click on the Resources tab on the main Parallax webpage to get to the N&V Column index.

I've used a large multi-computer network (up to 254 processors) using a simple serial network. Each processor used a serial port with an open collector driver. The original speed was 9600 Baud, but higher speeds could be used. These were connected using a simple twisted pair and a pull-up resistor at the ends of the network. There was a Schmitt trigger buffer for receiving for each processor. These used a simplified version of the ArcNet protocol (here (http://en.wikipedia.org/wiki/ARCNET), here (http://ckp.made-it.com/arcnet.html), and here (http://www.smsc.com/media/Downloads/Arcnet_CircLink_Documents/arcnetoverview.pdf))

Mario_
11-20-2011, 04:12 PM
Thank you Frank, I will study this solution very attentively.

Cheers,

Mario

Ariba
11-20-2011, 05:01 PM
IMHO the most sense makes to combine a PIC and a Propeller.
You get the advantages of the PIC (fast big code, ADCs, PWMs, and a big Flash, which can also hold the code for the Propeller)
and you can have additional 7 parallel tasks from the Propeller (one cog for communication).

So you also need no complicated bus protocol between several chips, you only need one serial connection btween two chips.

Andy

Cluso99
11-20-2011, 11:11 PM
Hello All,

first, I would like to thank you all for suggestions, I will take the time to study each of them in details. I really like this Forum.
The description of the problem I want to address is incomplete (wanted to go straight to the point).
Actually, the mandate of each Prop is not really important here.
The capability I would like to develop is to make many Props communicate efficiently (a kind of network of Propellers).
This capability would be very useful in a complex robot that involves many networked Props, each of them being fully busy to fulfill their mandate (all cogs in function).
I strongly believe that we can use the Propeller technology to build such complex systems (which is of course not easy, but really fun and challenging).
I agree, this kind of project is a long term effort. Doing it, you learn a lot and you may end up with very surprising robots.

Thanks again, I really appreciate your feedback,

Mario

Thanks Mario_ for the clarification. Sorry this went OT (off topic).
To progress further, I suggest that first you just use serial (the Full Duplex Serial or Parallax Serial Terminal objects from OBEX) to get your multiple props (or mix of props and other processors) working in your solution. Once you have this running, you will understand your requirements much better and then be able to ask for help specifically for your newly specified application. This is because, like everything, there are many ways to do something, with some ways being better than others for certain applications.

I prefer where possible to use a propeller, because it is easier and faster to implement, and I am concentrating on one type of chip. However, there are times when another chip just has to be used, be it for price, pins, size, etc. The PING sensor is a classic - it has another tiny processor on board (PIC?). Those who use this module use it as just that, a module - who cares what processor is used.

I for one will be interested to see what you do with your project, so do post progress updates.

Mike: I believe the multiple posts were on other forums, so this is fine.

Mario_
11-21-2011, 12:23 AM
Ho, I forgot to say that the two other forums are Sparkfun (for Pic) and Adafruit (for Arduinos).
The best suggestions (from far) came from Parallax Propeller Forum.

Now, I think I have a lot to read (to understand the suggestions people have posted) before I can go further.

Also want to thank Cluso99.

Best,

Mario

Cluso99
11-21-2011, 03:19 AM
Thankyou Mario_. It's nice to see you obtained more help here. The prop and this forum are great.

I will watch with anticipation to see what you decide after you have digested the help. And, if you get stuck or have any further questions, don't hesitate to ask. We are all really a friendly bunch with lots of various experiences.

Dr_Acula
11-21-2011, 03:54 AM
Propeller should be able to communicate directly with any other Propeller at any time.
Actually, I need (would like) to create a "fully connected network of Propellers".

I'm not sure about that second line - one may reach a point where the overhead of communications means each propeller has no time to do anything.

But that first one - well I have a thought. Get a piece of paper and draw a pentagon. Each point of the pentagon is a propeller so there are 5. Now draw a line between each propeller and every other one. Each prop has 4 lines. Now, it so happens that in the Obex is a piece of code written by Tim Moore where he has put 4 serial port drivers into one cog.

So - if you have each prop talking to 4 others, that will take 8 pins and one cog. That leaves lots of cogs free for other pins, and also lots of pins too. And every propeller can talk directly to every other propeller.

Mario_
11-21-2011, 08:29 PM
Thanks Dr_Acula, the footprint of the solution appears to be small, leaving the cog power and pins for other tasks.

I agree with you, the word "fully connected network of Propellers" may not be the correct words.
My native language is French (from Quebec, Canada), this is why there are glitches here and there in my English!
I would take a 6-month immersion in Australia or USA if my boss would accept to send me there :smile:

Best,

Mario

Humanoido
11-23-2011, 11:59 AM
Isn't Humanoido leading the way, blazing the trail as it were, (http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain) in multi-Propeller, hyper-networked ultra-slendiferousness -- or is that all a big joke?

No joke.

Mario_:

I opted to connect over 100 props using multiple parallel arrays. Even the arrays can run in parallel. See ParP in the Index.

http://forums.parallax.com/showthread.php?124495-Fill-the-Big-Brain&p=977025&viewfull=1#post977025

Props can program without the Master-Slave concept. The key is establishing some rules and using evolution code EC. You could load up the same code in each prop, then based on the ID of that prop, evolve the code for what needs to be accomplished. This technique works with 10 props or a hundred props and likely considerably more.

I wrote up more detail in this thread which successfully tested the concept using the BASIC Stamp SEED Supercomputer.
http://forums.parallax.com/showthread.php?113829-BASIC-STAMP-SEED-Supercomputer

In post 2: The SEED is different from the first Stamp supercomputer BSS, because there is no Master. Each Stamp is an individual with unique rights and personalities.

Mike G
11-23-2011, 01:31 PM
I went down this rabbit hole Mario_ be careful. After several hours of reading and searching, I found an unfulfilling and questionable implementation of a multi-drop serial bus. I never did find where Each Stamp is an individual with unique rights and personalities. The code might exist and I never found the working example.

H, please provide a direct link to the 100+ Propeller and SEED computer code base and schematics.

JonnyMac
11-23-2011, 04:05 PM
Attached is the demo from my January column on a _dirt_simple_ serial protocol called HFCP (Human Friendly Control Protocol) -- yes, intentionally cheezy name. The initial point is to make "talking" to the Propeller though a terminal very easy. As the object is just parsing serial messages (that contain an address in them), it doesn't care if that message comes from a PC or another Propeller. The demo is designed to run on a QuickStart or Demo board and lets you control lights.

This code uses FDS with separate RX and TX pins (through the programming port) but it could just as easily be setup to use FDS in half-duplex mode over one wire (open drain configuration).

You'll need to explore the comments in the main file and the HFCP object for documentation. A full explanation of how it works will be my January 2012 column (Nuts & Volts magazine).

Now... this isn't super robust (no checksum), but it does work. One of my EFX-TEK customers is already using it in a low-bandwidth RS-485 application. I will be adding an optional checksum for those apps where the human is not part of the messaging system.

Mike G
11-23-2011, 08:43 PM
Thanks JonnyMac, your N&V articles have helped me tremendously.