A while ago, a few guys figured out that they could transmit FM signals using the Raspberry Pi's GPIO ports, and another person realized that he could use the RasPi for controlling his home automation equipment:
http://www.skagmo.com/page.php?p=projects/22_pihat
This is the file that controls the radio for this:
https://github.com/s7mx1/pihat/blob/master/radio.c
Now, I would like to port this to a language that's easier than C for me to experiment with, like Go or Python. However, I am not really clear on how this is done.
Skagmo uses the harmonics to generate a frequency of 433 MHz. Say you only want a frequency that's 100 MHz, for simplicity, how do you generate that? From what I understand, it has something to do with a GPIO clock (or maybe SPI? I am not sure).
From what I can see in the file, he sets three bits on some GPIO function selection register, and then initializes the clock with a struct, and then sets a bit whenever he wants to transmit high or low.
Is this in the carrier wave? Where is the carrier wave?
I also found this Python script that claims to do the same thing, but I'm not sure if it uses the native transmitter or if the person connected an external one to the RasPi.
Basically, I would really appreciate an explanation or a short reference on how this works, exactly, and if Python/Go are fast enough to transmit signals that can mimic my garage door remote (ASK-modulated, it seems), or if I have to do it in C.