CHEAP Serial bus, control 200 devices, 50 meters

If you hired the wrong programmer... If you separate the control processes and the user interface, there is not much which can go wrong. If you can tolerate 100ms response time, a professional PC running Windows will do fine for controlling processes.

This goes any control system. You'll need electromechanical fail safes for any critical system.

Reply to
Nico Coesel
Loading thread data ...

No, not UDP. You'll need something which is acknowledged. This gives you reliability and keeps the master waiting for the target to finish and acknowlegde the operation. This prevents overflowing the target's buffers.

Reply to
Nico Coesel

I may be biased working for Rabbit, but I say don't forget it.

A PIC doesn't have enough flash or RAM on chip for a robust implementation of a TCP/IP stack and SNMP to boot, so the external flash and RAM already on the Rabbit Core Modules will be needed for the PIC too.

By the time he puts together the HW, tools, stack, and SNMP and starts writing his application for a PIC-based product, he could have the Rabbit version on the shelf. SNMP is already implemented on top of a mature, robust, royalty-free TCP/IP stack. Support for the HW, development tools, stack and RTOS (if one is used) all come from the same place.

If he wants to move into higher volume he can incorporate the core module design and just buy Rabbit chips and use the same SW. If he wants a web server and browser interface for the app, a rapid application development system for web interfaces will save weeks of complex CGI programming:

formatting link
he wants to add higher security to it, SSL/HTTPS is also implemented and takes advantage of special Rabbit instructions to make it fast, which it won't be on the PIC.

A full version of the development tools with the TCP/IP stack and over

700 sample programs and applications come with the inexpensive development kits:

formatting link

Reply to
Brian

Lets see. 50m radius makes almost 10000m^2. You'd fit

100 devices in there with 10m distance each.

Rene

Reply to
Rene Tschaggelar

Why not acknowledge on the application level ? Just an Ack is boring. A real reply would lower the load of the bus.

Rene

Reply to
Rene Tschaggelar

But how long will the signal wires be?

Jerry

Reply to
Jerry Avins

DDJ didn't publish that? I now remember (I haven't even though of this in years!) that I wrote and DDJ published a semicoherent rant about the C language (I had the bad luck of learning C just before the ANSI standard came out), and once I saw where my published letter took most of a page, I wished I'd submitted it as a "guest editorial" or some such and gotten paid for it! About your code, there's a routine in the Apple ][ ROM (source listing in the "Red Book" included with early ]['s) to do the same thing with a 6502 (its branch and call instructions are almost identical to the HC11), and the code looks almost identical to yours. I'm not accusing you of plagiarism or any such, just pointing out that several people doing the most efficient implementation of a fairly simple task like this are likely to come up with the same solution.

-----

formatting link

Reply to
Ben Bradley

...

I strongly believe that the only way for most of us to become good writers is reading the works of good writers. In that sense, written programs are much like other literature. My assembly code style developed when I was writing code for 1802 (with no role model) and in the 6502, where I had the excellent monitor ROMs of the KIM-1 and the AIM-65 to serve as models of style and repositories of neat ideas. I read them to learn how to use their functions, but to do that, I needed to understand what the code did, and the details were enlightening.

I first encountered the "trick" of one function calling another just after it with no RETURN statement in order to repeat an action in the AIM-65 monitor. In outline, it looks like this:

DBLSP: CALL CRLF CRLF: RETURN

When DBLSP (doublespace) is called, CRLF (Carriage-Return/Line-Feed) executes twice, then returns to the original caller. You don't forget lines like that any sooner than you forget "Jenny kissed me when we met"* if you happen to come across it.

I guess that my point is that writing in the same style often creates similar works. (It's no wonder that some early Mozart sounds rather like Haydn.) There's no plagiarism, but no coincidence, either.

Jerry ____________________________________________

  • Jenny Kissed Me by Leigh Hunt

Jenny kissed me when we met, Jumping from the chair she sat in. Time, you thief! who love to get Sweets into your list, put that in. Say I'm weary, say I'm sad; Say that health and wealth have missed me; Say I'm growing old, but add- Jenny kissed me!

Reply to
Jerry Avins

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.