Control Matters
SPLat Controls' aperiodic newsletter

18 Nov 2009
View online

Success in 3:33

Why do people succeed? Is it because they're smart? Or are they just lucky? Neither. Analyst Richard St. John condenses years of interviews into an unmissable 3-minute slideshow on the real secrets of success. See his sudden lecture here. This will also introduce you to TED, a website with heaps of interesting and inspiring video talks.

David Stonier-Gibson

In control - Stuff about or related to control systems

Spaghetti or Lasagne?

Have you ever got tangled up in a program that has become like a bowl of spaghetti, and your brain feels like the pasta sauce? This is what can happen when you try to write a program that must do several things at once, asynchronously with each other. A trivial example would be to program 3 flashing lights, one at 1s, one at 1.36s and one at 2.84s.

The solution is to use MultiTrack. With MultiTrack your pasta dish becomes more like a lasagne, with clearly defined layers, each with its own purpose, smoothly working together to produce an overall outcome.

The vital idea behind MultiTrack is that you can write a program as a number of quite separate tasks which run independently of each other. They can coordinate their activities, by exchanging data (usually very small amounts of data) via shared memory variables.

For example, in a cow insect spray system I programmed recently, one task takes care of filtering genuine cow signals out of "bumpy" raw sensor data, one task takes care of timing the spray head (and limiting the spray time to 2 seconds, in case a cow stalls), and one task controls the chemical/water mix ratio. Because they are separate tasks, if I need to change the timing for the spray it won't affect the timing of the input cow filter or of the chemical dosing pump. By dividing the overall job into separate tasks I can conquer the complexities.

As a bonus, if you need to add a new bit of functionality, say an inhibit push button and timer to prevent a human from getting sprayed when walking through the treatment area, it can be done with the minimum amount of surgery on the existing code.

MultiTrack is extremely easy to use (3 instructions to learn!). There is an introductory mini-tutorial in the SPLat/PC help menu. It will take you 20 minutes tops to run the mini-tutorial. That's about the time it takes to whip up a bowl of spaghetti and sauce, and will be the best investment you ever made in advancing your programming skills.

If you are not yet a SPLat user you should know that MultiTrack is the easiest multitasking operating system on the planet for embedded control systems. Make lasagne, not spaghetti.

Out of control - Nothing much to do with controls, (but interesting)

Defensive Publication - a budget alternative to patents?

Defensive Publication is the strategy of publishing the details of an invention so that it becomes public knowledge, and thereby making it un-patentable. You can only patent something that is novel, not something that is already known, or "prior art". Publishing makes it prior art. This is something you might do if you can't afford the expense of applying for a patent, let alone defending a patent if a big company violates it. There are even special publications dedicated to publishing inventions, for a fee. The idea is that if you have made defensive publication of your idea, then no-one else can subsequently patent it and lock you out of the use of your own idea.

In reality it's not that easy. Smart lawyers can break through the protection of a defensive publication, or simply grind you to bits with long-winded court cases. Also, if you have a patent, even though you may not be able to afford to defend it on your own against an aggressive attacker, a patent adds value to your business if you decide to sell out.

Source: The above is a distillation of feedback I received when I posted a question about defensive publication on the LinkedIn group "Patents -Intellectual Property".

You can now program SPLat hardware in C, with our free RTOS. Click here for details.

Q: What is the difference between Mechanical Engineers and Civil Engineers?
A: Mechanical Engineers build weapons, Civil Engineers build targets.

Reality is that which, when you stop believing in it, doesn't go away.
Philip K. Dick

Subscription information
Please add to your Address Book or whitelist to ensure our emails reach your inbox. Click here for hints.

Copyright 2009 SPLat Controls Pty Ltd. This communication does not constitute professional advice