WiCard SSM (Square Signal Modulator)

WiCard SSM (Square Signal Modulator)
Square Signal Modulator or “SSM” is a function which generates square signal pulses with carrier signals. One of the most useful application of Square Signal Modulator is “Infrared Remote Controllers”.
The WiCard has 19 lines which you can set as SSM channel. But only one channel can execute Square Signal Modulator functions every time. The following table shows which pins can execute SSM functions:
PIN | PortBit | Square Signal Modulator (SSM) Output |
A01 | VCC 3.3v | |
A02 | Ground | |
A03 | 0 | * |
A04 | 1 | * |
A05 | 2 | * |
A06 | 3 | * |
A07 | 4 | * |
A08 | 5 | * |
A09 | 6 | * |
A10 | 7 | |
A11 | 16 | * |
A12 | 17 | * |
A13 | 18 | * |
A14 | 19 | |
A15 | 25 | |
B01 | 24 | |
B02 | 23 | |
B03 | 22 | * |
B04 | 21 | * |
B05 | 20 | * |
B06 | 15 | * |
B07 | 14 | * |
B08 | 13 | * |
B09 | 12 | * |
B10 | 11 | * |
B11 | 10 | * |
B12 | 9 | |
B13 | 8 | |
B14 | Ground | |
B15 | VCC 3.3v |
The high output level of output pulse is almost equal with the VCC (3.3V) and the low level of output pulse is equal with Ground (0V).
How to use
In the control box maker, there is a “Square Signal Modulator” element. Drag and drop it into the control box. It will automatically generate the variables and the source code of it.
A SSM element, can be programmed with its shared variables on every channel and in every supported frequencies. So no need to add more element. Also an SSM element needs 133 bytes of shared memory, which is more than half of available shared memory in the current revision of the firmware. So more SSM elements won’t work properly.
The generated variables and source code:
mucSignal_0_Send = 0; muiSignal_0_CMD = 0; mucSignal_0_Timing[128] = 0; main() { ControlBoxHandler(); } ControlBoxHandler() { if(mucSignal_0_Send) { AllocateBuffer(mucSignal_0_Send); FillStreamBuffer(&mucSignal_0_Timing); ConfigurePinAsSSM(muiSignal_0_CMD); mucSignal_0_Send = 0; IgnoreSave(); IgnoreFeedback(); } }
By setting “mucSignal_0_Send” to “1”, the SSM will execute its instructions and functions. Before setting “mucSignal_0_Send”, the timings of the data signal must be set in “mucSignal_0_Timing[0]” to “mucSignal_0_Timing[127]”. Also you have to set the channel (The first byte), the repeat time (The second byte), the high carrier time (The third byte) and the low carrier time (The fourth byte) in “muiSignal_0_CMD” byte of the shared memory first.
A data signal with carrier signal is complex, a complex signal needs a complex programming. We will try to find easier way to setting the Square Signal Modulator channels. Also in the android application which we have provided, we have added the SSM feature for some TV infrared remote controllers.
To downloading the plans, schematics and firmware, please refer to: https://trial.wicard.net
Also to finding out another stuff about WiCard WiFi Module, please refer to our blog.