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:

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.

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 *

11 + 11 =