If you're lucky, a protocol might have a 16 bit checksum. If you've even *considered* bit errors then you're ahead of some people. A ridiculous number of protocols require low error rates or no transmission error. How do most people solve this problem? Well, they don't. It is possible to patch this scheme with reserved values and escape mechanisms but it becomes very inefficient and nothing like the original intention. The automatic numbering is merely an extra mechanism for packet mangling. The astute will notice this scheme is unworkable because there is no mechanism to prevent device, command or payload from being jumbled. Also, for a micro-controller, less pins for jumper switches means more pins for I/O. This eliminates all of the tedious device numbering and associated device contention. Further, it is possible to decrement device number at each hop. Meanwhile, specific devices fill a (possibly dummy) payload with an acknowledgement or a measurement. For every triple sent, it is also possible to receive a triple. The intent was to send three byte triples around a ring. It should also be obvious that MIDI lacks something.Ī good start to this process was to devise a protocol with three byte payloads: device, command, payload. At this point, it should be obvious to anyone that I should have investigated MIDI in more detail. It could be run in an open loop or, preferably, in a closed loop. And, actually, why is MIDI not used for process control? One or more numbered devices would receive commands, measure variables and switch relays. The MVP would be something like MIDI for process control. In ignorance of UART, I thought about the problem in abstract and thought about particular cases. For too long I've wanted to connect small, inexpensive computers with a network protocol.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |