Fast Inter-Propeller Communication Features
I have been messing around with my own object (available here), and decided I wanted to work on it some more. I was wondering what features people would like in it.
A few ideas I had were:
1) The first long sent (before the buffer starts) is a command long (maybe reduce it to a byte to reduce the time it takes). For example, a standard buffer transfer would send $5555_5555 purely as a timing test. But then if you send a different command, say 0, it tells the receiving cog that all transmissions are complete, so the receiving cog can shut down. Or even more cool would be a system setup so it is a 1-wire, 2-way information feed; one cog starts as the TX and the other as RX, and a command could switch the rolls as needed. The only limitation is most likely the active TX cog would be the only one able to change the direction (else collisions may occur).
2) An option for the return ACK bit (right now it is mandatory/automatic). Disabling it would speed transfers just slightly, but would also allow any communication line to be designed as one-way only (not that I think this is a big problem in PCB layouts).
3) Setup the PASM so sends a buffer only when a change occurs (it would constantly be scanning the buffer for changes), this would mean the time interval between sends would be limited as well as the buffer size. This could be combined with idea 1 to allow the command to specify which long(s) have been changed and only send the changed information.
4) Support for RTS/CTS? Possibly create 2-way transmissions on a single line with it?
Are there any other ideas out there for features? Or what are your thoughts on the above ideas?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
April, 2008: when I discovered the answers to all my micro-computational-botherations!
Some of my objects:
MCP3X0X ADC Driver - Programmable Schmitt inputs, frequency reading, and more!
Simple Propeller-based Database - Making life easier and more readable for all your EEPROM storage needs.
String Manipulation Library - Don't allow strings to be the bane of the Propeller, bend them to your will!
Fast Inter-Propeller Comm - Fast communication between two propellers (1.37MB/s @100MHz)!
A few ideas I had were:
1) The first long sent (before the buffer starts) is a command long (maybe reduce it to a byte to reduce the time it takes). For example, a standard buffer transfer would send $5555_5555 purely as a timing test. But then if you send a different command, say 0, it tells the receiving cog that all transmissions are complete, so the receiving cog can shut down. Or even more cool would be a system setup so it is a 1-wire, 2-way information feed; one cog starts as the TX and the other as RX, and a command could switch the rolls as needed. The only limitation is most likely the active TX cog would be the only one able to change the direction (else collisions may occur).
2) An option for the return ACK bit (right now it is mandatory/automatic). Disabling it would speed transfers just slightly, but would also allow any communication line to be designed as one-way only (not that I think this is a big problem in PCB layouts).
3) Setup the PASM so sends a buffer only when a change occurs (it would constantly be scanning the buffer for changes), this would mean the time interval between sends would be limited as well as the buffer size. This could be combined with idea 1 to allow the command to specify which long(s) have been changed and only send the changed information.
4) Support for RTS/CTS? Possibly create 2-way transmissions on a single line with it?
Are there any other ideas out there for features? Or what are your thoughts on the above ideas?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
April, 2008: when I discovered the answers to all my micro-computational-botherations!
Some of my objects:
MCP3X0X ADC Driver - Programmable Schmitt inputs, frequency reading, and more!
Simple Propeller-based Database - Making life easier and more readable for all your EEPROM storage needs.
String Manipulation Library - Don't allow strings to be the bane of the Propeller, bend them to your will!
Fast Inter-Propeller Comm - Fast communication between two propellers (1.37MB/s @100MHz)!