WiCard SSM (Square Signal Modulator)

WiCard - Smart Programmable WiFi Controller Module

WiCard SSM (Square Signal Modulator)

wicard ssm

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:

PINPortBitSquare Signal Modulator (SSM) Output
A01VCC 3.3v
A02Ground
A030*
A041*
A052*
A063*
A074*
A085*
A096*
A107
A1116*
A1217*
A1318*
A1419
A1525
B0124 
B0223
B0322*
B0421*
B0520*
B0615*
B0714*
B0813*
B0912*
B1011*
B1110*
B129
B138
B14Ground
B15VCC 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.

wicard ssm 1

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.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *

14 + 6 =