Exemple #1
0
            static private void AddStructBIntro(byte[] aPacket, ref int nOffset, MagazineAndRow eMagAndRow)
            {
                aPacket[nOffset++] = 0x55;    // Clock run-in
                aPacket[nOffset++] = 0x55;    // Clock run-in
                aPacket[nOffset++] = 0x27;    // Framing code
                switch (eMagAndRow)
                {
                case MagazineAndRow.M8_Y0:            // M == 0 == 8
                    aPacket[nOffset++] = 0x15;        // M=0 Y=0 (header packet)   ==  000 00000  ==  0000 0000 + hamming  ==  10101000 10101000  ==reverse  0x15 0x15
                    aPacket[nOffset++] = 0x15;        //
                    break;

                case MagazineAndRow.M8_Y28:
                    aPacket[nOffset++] = 0x15;        //
                    aPacket[nOffset++] = 0xFD;        //
                    break;

                case MagazineAndRow.M8_Y20:
                    aPacket[nOffset++] = 0x15;        //
                    aPacket[nOffset++] = 0x8C;        //
                    break;

                case MagazineAndRow.M8_Y22:
                    aPacket[nOffset++] = 0x15;        //
                    aPacket[nOffset++] = 0x9B;        //
                    break;

                case MagazineAndRow.M1_Y0:            // M == 0 == 8
                    aPacket[nOffset++] = 0x02;        // M=0 Y=0 (header packet)   ==  000 00000  ==  0000 0000 + hamming  ==  10101000 10101000  ==reverse  0x15 0x15
                    aPacket[nOffset++] = 0x15;        //
                    break;

                case MagazineAndRow.M1_Y28:
                    aPacket[nOffset++] = 0x02;        //
                    aPacket[nOffset++] = 0xFD;        //
                    break;

                case MagazineAndRow.M1_Y20:
                    aPacket[nOffset++] = 0x02;        //
                    aPacket[nOffset++] = 0x8C;        //
                    break;

                case MagazineAndRow.M1_Y22:
                    aPacket[nOffset++] = 0x02;        //
                    aPacket[nOffset++] = 0x9B;        //
                    break;

                default:
                    throw new Exception("wrong magazine and row");
                }
            }
Exemple #2
0
            static public void GetPage888Packet22(byte[] aPacket, bool bFirstField, string sLine, ushort nPacketsCounter, MagazineAndRow eMagAndRow)
            {
                int nOffset = 0;

                AddIntro(aPacket, ref nOffset);                        // 7
                AddStructAToLine17(aPacket, ref nOffset, bFirstField); // 5
                AddStructBIntro(aPacket, ref nOffset, eMagAndRow);     // 5
                AddText(aPacket, ref nOffset, sLine);                  // 40
                AddFooter(aPacket, ref nOffset, nPacketsCounter);      // 4
            }
Exemple #3
0
            static public void GetPage888Packet28(byte[] aPacket, bool bFirstField, ushort nPacketsCounter, MagazineAndRow eMagAndRow)
            {
                int nOffset = 0;

                AddIntro(aPacket, ref nOffset);
                AddStructAToLine17(aPacket, ref nOffset, bFirstField);
                AddStructBIntro(aPacket, ref nOffset, eMagAndRow);

                aPacket[nOffset++] = 0x15;   // DC  0000      Format 1                 teletext  7+1 parity  Cyrillic-2 (rus)  nothing

                aPacket[nOffset++] = 0x03;   // Triplet #1:
                aPacket[nOffset++] = 0x20;   // --> teletext  7+1 parity  Cyrillic-2 (rus)  nothing
                aPacket[nOffset++] = 0x82;   //
                for (int ii = 0; ii < 12; ii++)
                {
                    aPacket[nOffset++] = 0x8B; // Empty Triplets
                    aPacket[nOffset++] = 0x80;
                    aPacket[nOffset++] = 0x00;
                }
                AddFooter(aPacket, ref nOffset, nPacketsCounter);
            }
Exemple #4
0
            static public void GetPage8FFPacket0(byte[] aPacket, bool bFirstField, ushort nPacketsCounter, MagazineAndRow eMagAndRow) // closer
            {
                int nOffset = 0;

                AddIntro(aPacket, ref nOffset);
                AddStructAToLine17(aPacket, ref nOffset, bFirstField);
                AddStructBIntro(aPacket, ref nOffset, eMagAndRow); // 5
                aPacket[nOffset++] = 0xEA;                         // Page No		FF	0xea
                aPacket[nOffset++] = 0xEA;                         // Page No		FF	0xea
                aPacket[nOffset++] = 0x15;                         // subcode + some control bits
                aPacket[nOffset++] = 0x15;                         // subcode + some control bits
                aPacket[nOffset++] = 0x15;                         // subcode + some control bits
                aPacket[nOffset++] = 0xD0;                         // subcode + some control bits --> subtitle
                aPacket[nOffset++] = 0x73;                         // control bits
                aPacket[nOffset++] = 0x15;                         // control bits --> supress header + was interrupted + parallel mode

                aPacket[nOffset++] = 0x86;                         // data. Alpha
                for (int ii = 0; ii < 31; ii++)
                {
                    aPacket[nOffset++] = 0x20; // data SPACE = 0x20
                }
                AddFooter(aPacket, ref nOffset, nPacketsCounter);
            }