Sony SIRCS Transmitter in PASM (WIP)
JonnyMac
Posts: 9,194
My March column in Nuts & Volts generated a lot of interest as I demonstrated how to transmit 20-bit SIRCS codes to a camera (I recently used this code to help a friend control a DVD player). As I want to port my intervalometer to the Propeller I started with the SIRCS transmitter.
This differs from what's presently in ObEx (Sony_Send.spin) thusly:
A. SIRCS driver written in PASM, not Spin
B. Runs in own cog, hence is "non blocking" during transmission (caller can detect when TX is active)
C. Will transmit any number of bits, supporting 12-, 15-, and 20-bit SIRCS codes
D. Maintains 45ms frame timing between leading edges of ir packets (regardless of packet size)
To give credit where it's due, I "liberated" Tom Doyle's method of activating/deactivating the ctra (preset for the modulation frequency) based on the bit being transmitted; all other ideas (good, bad, or otherwise) are my own. After I've wrung it out for a few days I'll create an object that is easily incorporated into other applications. So far it works fine, but as I'm new to PASM I want to evaluate what I've done to see if there are ways to do them "better."
This differs from what's presently in ObEx (Sony_Send.spin) thusly:
A. SIRCS driver written in PASM, not Spin
B. Runs in own cog, hence is "non blocking" during transmission (caller can detect when TX is active)
C. Will transmit any number of bits, supporting 12-, 15-, and 20-bit SIRCS codes
D. Maintains 45ms frame timing between leading edges of ir packets (regardless of packet size)
To give credit where it's due, I "liberated" Tom Doyle's method of activating/deactivating the ctra (preset for the modulation frequency) based on the bit being transmitted; all other ideas (good, bad, or otherwise) are my own. After I've wrung it out for a few days I'll create an object that is easily incorporated into other applications. So far it works fine, but as I'm new to PASM I want to evaluate what I've done to see if there are ways to do them "better."