示例#1
0
        /// <summary>
        /// 更新LED信息
        /// </summary>
        /// <param name="str"></param>
        public static bool UpdateLED(string str)
        {
            bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
            int err = bxdualsdk.bxDual_cmd_tcpPing(LEDip, port, ref data);

            //设置屏幕参数相关  发送节目必要接口,发送动态区可忽略
            err = bxdualsdk.bxDual_program_setScreenParams_G56(bxdualsdk.E_ScreenColor_G56.eSCREEN_COLOR_SINGLE, data.ControllerType, bxdualsdk.E_DoubleColorPixel_G56.eDOUBLE_COLOR_PIXTYPE_1);
            //创建节目
            Creat_Program_6();
            //创建图文区
            Creat_Area_6(0, 0, 0, 96, 64, 1);
            //添加显示文本
            Creat_AddStr_6(1, str, "宋体");
            //发送节目显示
            Net_SengProgram_6(LEDip, port);
            err = bxdualsdk.bxDual_cmd_check_time(LEDip, port);
            return(err == 0);
        }
示例#2
0
        /// <summary>
        /// 打开LED设备
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="areaID"></param>
        /// <returns></returns>
        public static bool OpenLED(string ip, byte areaID)
        {
            LEDip = Encoding.GetEncoding("GBK").GetBytes(ip);
            try
            {
                //初始化动态库
                int err = bxdualsdk.bxDual_InitSdk();
                bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
                err = bxdualsdk.bxDual_cmd_tcpPing(LEDip, port, ref data);
                //设置屏幕参数相关  发送节目必要接口,发送动态区可忽略
                err = bxdualsdk.bxDual_program_setScreenParams_G56(bxdualsdk.E_ScreenColor_G56.eSCREEN_COLOR_SINGLE, data.ControllerType, bxdualsdk.E_DoubleColorPixel_G56.eDOUBLE_COLOR_PIXTYPE_1);

                return(err == 0);
            }
            catch
            {
                return(false);
            }
        }
示例#3
0
 //广播搜索
 public static void Net_search()
 {
     bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
     //网口搜索
     err = bxdualsdk.bxDual_cmd_udpPing(ref data);
     //全搜索,udp-tcp-com
     if (false)
     {
         err = bxdualsdk.bxDual_cmd_searchController(ref data);
     }
     //根据串口搜索
     else
     {
         err = bxdualsdk.bxDual_cmd_uart_searchController(ref data, Program.com);
     }
     Console.WriteLine("ControllerType:0x" + data.ControllerType.ToString("X2"));
     Console.WriteLine("FirmwareVersion:V" + System.Text.Encoding.Default.GetString(data.FirmwareVersion));
     Console.WriteLine("ipAdder:" + System.Text.Encoding.Default.GetString(data.ipAdder));
     Console.WriteLine("\r\n");
 }
示例#4
0
        /// <summary>
        /// BX-5代控制卡发送节目时间
        /// </summary>
        public static void Send_program_time_5()
        {
            //指定IP ping控制卡获取控制卡数据,屏参相关参数已知的情况可省略该步骤
            bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
            int err = bxdualsdk.bxDual_cmd_tcpPing(Program.ip, Program.port, ref data);

            //显示屏屏基色
            byte cmb_ping_Color = 1;

            if (data.Color == 1)
            {
                cmb_ping_Color = 1;
            }
            else if (data.Color == 3)
            {
                cmb_ping_Color = 2;
            }
            else if (data.Color == 7)
            {
                cmb_ping_Color = 3;
            }
            else
            {
                cmb_ping_Color = 4;
            }

            //第一步.设置屏幕参数相关  发送节目必要接口,发送动态区可忽略
            err = bxdualsdk.bxDual_program_setScreenParams_G56((bxdualsdk.E_ScreenColor_G56)cmb_ping_Color, data.ControllerType, bxdualsdk.E_DoubleColorPixel_G56.eDOUBLE_COLOR_PIXTYPE_2);
            Console.WriteLine("bxDual_program_setScreenParams_G56:" + err);

            //第二步,创建节目,设置节目属性
            bxdualsdk.EQprogramHeader header;
            header.FileType           = 0x00;
            header.ProgramID          = 0;
            header.ProgramStyle       = 0x00;
            header.ProgramPriority    = 0x00;
            header.ProgramPlayTimes   = 1;
            header.ProgramTimeSpan    = 0;
            header.ProgramWeek        = 0xff;
            header.ProgramLifeSpan_sy = 0xffff;
            header.ProgramLifeSpan_sm = 0x03;
            header.ProgramLifeSpan_sd = 0x05;
            header.ProgramLifeSpan_ey = 0xffff;
            header.ProgramLifeSpan_em = 0x04;
            header.ProgramLifeSpan_ed = 0x12;
            err = bxdualsdk.bxDual_program_addProgram(ref header);
            Console.WriteLine("bxDual_program_addProgram:" + err);

            //第三步,创建显示分区,设置区域显示位置,示例创建一个区域编号为0,区域大小64*32的时间分区
            bxdualsdk.EQareaHeader aheader;
            aheader.AreaType   = 2;
            aheader.AreaX      = 0;
            aheader.AreaY      = 0;
            aheader.AreaWidth  = 64;
            aheader.AreaHeight = 32;
            err = bxdualsdk.bxDual_program_AddArea(0, ref aheader);
            Console.WriteLine("bxDual_program_AddArea:" + err);

            //第四步,添加时间区域显示内容
            bxdualsdk.EQtimeAreaData_G56 timeData2;
            timeData2.linestyle     = bxdualsdk.E_arrMode.eMULTILINE;
            timeData2.color         = (uint)bxdualsdk.E_Color_G56.eRED;
            timeData2.fontName      = "宋体";
            timeData2.fontSize      = 11;
            timeData2.fontBold      = 0;
            timeData2.fontItalic    = 0;
            timeData2.fontUnderline = 0;
            timeData2.fontAlign     = 0; //0--左对齐,1-居中,2-右对齐
            timeData2.date_enable   = 1;
            timeData2.datestyle     = bxdualsdk.E_DateStyle.eYYYY_MM_DD_MINUS;
            timeData2.time_enable   = 0;
            timeData2.timestyle     = bxdualsdk.E_TimeStyle.eHH_MM_AM;
            timeData2.week_enable   = 0;
            timeData2.weekstyle     = bxdualsdk.E_WeekStyle.eMonday_CHS;
            err = bxdualsdk.bxDual_program_timeAreaAddContent(0, ref timeData2);
            Console.WriteLine("bxDual_program_timeAreaAddContent:" + err);

            //第五步,发送节目到显示屏
            bxdualsdk.EQprogram program = new bxdualsdk.EQprogram();
            err = bxdualsdk.bxDual_program_IntegrateProgramFile(ref program);
            Console.WriteLine("bxDual_program_IntegrateProgramFile:" + err);
            err = bxdualsdk.bxDual_program_deleteProgram();
            Console.WriteLine("bxDual_program_deleteProgram:" + err);

            if (true)//网口
            {
                err = bxdualsdk.bxDual_cmd_ofsStartFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsEndFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsEndFileTransf:" + err);
            }
            else//串口
            {
                err = bxdualsdk.bxDual_cmd_uart_ofsStartFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsEndFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsEndFileTransf:" + err);
            }

            err = bxdualsdk.bxDual_program_freeBuffer(ref program);
            Console.WriteLine("bxDual_program_freeBuffer:" + err);
        }
示例#5
0
        /// <summary>
        /// BX-6代控制卡发送节目时间
        /// </summary>
        public static void Send_program_time_6()
        {
            //指定IP ping控制卡获取控制卡数据,屏参相关参数已知的情况可省略该步骤
            bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
            int err = bxdualsdk.bxDual_cmd_tcpPing(Program.ip, Program.port, ref data);

            //显示屏屏基色
            byte cmb_ping_Color = 1;

            if (data.Color == 1)
            {
                cmb_ping_Color = 1;
            }
            else if (data.Color == 3)
            {
                cmb_ping_Color = 2;
            }
            else if (data.Color == 7)
            {
                cmb_ping_Color = 3;
            }
            else
            {
                cmb_ping_Color = 4;
            }

            //第一步.设置屏幕参数相关  发送节目必要接口,发送动态区可忽略
            err = bxdualsdk.bxDual_program_setScreenParams_G56((bxdualsdk.E_ScreenColor_G56)cmb_ping_Color, data.ControllerType, bxdualsdk.E_DoubleColorPixel_G56.eDOUBLE_COLOR_PIXTYPE_1);
            Console.WriteLine("bxDual_program_setScreenParams_G56:" + err);

            //第二步,创建节目,设置节目属性
            bxdualsdk.EQprogramHeader_G6 header;
            header.FileType             = 0x00;
            header.ProgramID            = 0;
            header.ProgramStyle         = 0x00;
            header.ProgramPriority      = 0x00;
            header.ProgramPlayTimes     = 1;
            header.ProgramTimeSpan      = 0;
            header.SpecialFlag          = 0;
            header.CommExtendParaLen    = 0x00;
            header.ScheduNum            = 0;
            header.LoopValue            = 0;
            header.Intergrate           = 0x00;
            header.TimeAttributeNum     = 0x00;
            header.TimeAttribute0Offset = 0x0000;
            header.ProgramWeek          = 0xff;
            header.ProgramLifeSpan_sy   = 0xffff;
            header.ProgramLifeSpan_sm   = 0x03;
            header.ProgramLifeSpan_sd   = 0x14;
            header.ProgramLifeSpan_ey   = 0xffff;
            header.ProgramLifeSpan_em   = 0x03;
            header.ProgramLifeSpan_ed   = 0x14;
            header.PlayPeriodGrpNum     = 0;
            err = bxdualsdk.bxDual_program_addProgram_G6(ref header);
            Console.WriteLine("bxDual_program_addProgram_G6:" + err);

            //第三步,创建显示分区,设置区域显示位置,示例创建一个区域编号为0,区域大小64*32的时间分区
            bxdualsdk.EQareaHeader_G6 aheader;
            aheader.AreaType       = 2;
            aheader.AreaX          = 0;
            aheader.AreaY          = 0;
            aheader.AreaWidth      = 80;
            aheader.AreaHeight     = 32;
            aheader.BackGroundFlag = 0x00;
            aheader.Transparency   = 101;
            aheader.AreaEqual      = 0x00;
            bxdualsdk.EQSound_6G stSoundData = new bxdualsdk.EQSound_6G();
            stSoundData.SoundFlag            = 0;
            stSoundData.SoundVolum           = 0;
            stSoundData.SoundSpeed           = 0;
            stSoundData.SoundDataMode        = 0;
            stSoundData.SoundReplayTimes     = 0;
            stSoundData.SoundReplayDelay     = 0;
            stSoundData.SoundReservedParaLen = 0;
            stSoundData.Soundnumdeal         = 0;
            stSoundData.Soundlanguages       = 0;
            stSoundData.Soundwordstyle       = 0;
            stSoundData.SoundDataLen         = 0;
            byte[] t = new byte[1];
            t[0] = 0;
            stSoundData.SoundData = IntPtr.Zero;
            aheader.stSoundData   = stSoundData;
            err = bxdualsdk.bxDual_program_addArea_G6(0, ref aheader);
            Console.WriteLine("bxDual_program_addArea_G6:" + err);
            //区域添加边框
            if (true)
            {
                bxdualsdk.EQscreenframeHeader_G6 sfheader;
                sfheader.FrameDispStype     = 0x01; //边框显示方式0x00 –闪烁 0x01 –顺时针转动 0x02 –逆时针转动 0x03 –闪烁加顺时针转动 0x04 –闪烁加逆时针转动 0x05 –红绿交替闪烁 0x06 –红绿交替转动 0x07 –静止打出
                sfheader.FrameDispSpeed     = 0x10; //边框显示速度
                sfheader.FrameMoveStep      = 0x01; //边框移动步长,单位为点,此参 数范围为 1~16
                sfheader.FrameUnitLength    = 2;    //边框组元长度
                sfheader.FrameUnitWidth     = 2;    //边框组元宽度
                sfheader.FrameDirectDispBit = 0;    //上下左右边框显示标志位,目前只支持6QX-M卡
                byte[] img = Encoding.Default.GetBytes("E:\\黄10.png");
                bxdualsdk.bxDual_program_picturesAreaAddFrame_G6(0, ref sfheader, img);
            }

            //第四步,添加时间显示内容
            bxdualsdk.EQtimeAreaData_G56 timeData2;
            timeData2.linestyle     = bxdualsdk.E_arrMode.eSINGLELINE;
            timeData2.color         = (uint)bxdualsdk.E_Color_G56.eRED;
            timeData2.fontName      = "宋体";
            timeData2.fontSize      = 12;
            timeData2.fontBold      = 1;
            timeData2.fontItalic    = 0;
            timeData2.fontUnderline = 0;
            timeData2.fontAlign     = 0; //0--左对齐,1-居中,2-右对齐
            timeData2.date_enable   = 1;
            timeData2.datestyle     = bxdualsdk.E_DateStyle.eYYYY_MM_DD_CHS;
            timeData2.time_enable   = 0;
            timeData2.timestyle     = bxdualsdk.E_TimeStyle.eHH_MM_SS_COLON;
            timeData2.week_enable   = 0;
            timeData2.weekstyle     = bxdualsdk.E_WeekStyle.eMonday_CHS;
            err = bxdualsdk.bxDual_program_timeAreaAddContent_G6(0, ref timeData2);
            Console.WriteLine("bxDual_program_timeAreaAddContent_G6:" + err);

            //第五步,发送节目到显示屏
            bxdualsdk.EQprogram_G6 program = new bxdualsdk.EQprogram_G6();
            err = bxdualsdk.bxDual_program_IntegrateProgramFile_G6(ref program);
            Console.WriteLine("bxDual_program_IntegrateProgramFile_G6:" + err);
            err = bxdualsdk.bxDual_program_deleteProgram_G6();
            Console.WriteLine("bxDual_program_deleteProgram_G6:" + err);

            if (true)//网口
            {
                err = bxdualsdk.bxDual_cmd_ofsStartFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.dfileName, program.dfileType, program.dfileLen, 1, program.dfileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsEndFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsEndFileTransf:" + err);
            }
            else//串口
            {
                err = bxdualsdk.bxDual_cmd_uart_ofsStartFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.dfileName, program.dfileType, program.dfileLen, 1, program.dfileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsEndFileTransf(Program.com, Program.baudRate);
            }

            err = bxdualsdk.bxDual_program_freeBuffer_G6(ref program);
            Console.WriteLine("bxDual_program_freeBuffer_G6:" + err);
        }
示例#6
0
        /// <summary>
        /// BX-6代控制卡发送节目多区域
        /// </summary>
        public static void Send_program_areas_6()
        {
            //指定IP ping控制卡获取控制卡数据,屏参相关参数已知的情况可省略该步骤
            bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
            int err = bxdualsdk.bxDual_cmd_tcpPing(Program.ip, Program.port, ref data);

            //显示屏屏基色
            byte cmb_ping_Color = 1;

            if (data.Color == 1)
            {
                cmb_ping_Color = 1;
            }
            else if (data.Color == 3)
            {
                cmb_ping_Color = 2;
            }
            else if (data.Color == 7)
            {
                cmb_ping_Color = 3;
            }
            else
            {
                cmb_ping_Color = 4;
            }

            //设置屏幕参数相关  发送节目必要接口,发送动态区可忽略
            err = bxdualsdk.bxDual_program_setScreenParams_G56((bxdualsdk.E_ScreenColor_G56)cmb_ping_Color, data.ControllerType, bxdualsdk.E_DoubleColorPixel_G56.eDOUBLE_COLOR_PIXTYPE_1);
            Console.WriteLine("bxDual_program_setScreenParams_G56:" + err);

            //创建节目,设置节目属性
            bxdualsdk.EQprogramHeader_G6 header;
            header.FileType             = 0x00;
            header.ProgramID            = 0;
            header.ProgramStyle         = 0x00;
            header.ProgramPriority      = 0x00;
            header.ProgramPlayTimes     = 1;
            header.ProgramTimeSpan      = 0;
            header.SpecialFlag          = 0;
            header.CommExtendParaLen    = 0x00;
            header.ScheduNum            = 0;
            header.LoopValue            = 0;
            header.Intergrate           = 0x00;
            header.TimeAttributeNum     = 0x00;
            header.TimeAttribute0Offset = 0x0000;
            header.ProgramWeek          = 0xff;
            header.ProgramLifeSpan_sy   = 0xffff;
            header.ProgramLifeSpan_sm   = 0x03;
            header.ProgramLifeSpan_sd   = 0x14;
            header.ProgramLifeSpan_ey   = 0xffff;
            header.ProgramLifeSpan_em   = 0x03;
            header.ProgramLifeSpan_ed   = 0x14;
            header.PlayPeriodGrpNum     = 0;
            err = bxdualsdk.bxDual_program_addProgram_G6(ref header);
            Console.WriteLine("bxDual_program_addProgram_G6:" + err);

            //创建显示分区,设置区域显示位置,示例创建一个区域编号为0,区域大小64*32的图文分区
            bxdualsdk.EQareaHeader_G6 aheader;
            aheader.AreaType       = 0;
            aheader.AreaX          = 0;
            aheader.AreaY          = 0;
            aheader.AreaWidth      = 64;
            aheader.AreaHeight     = 16;
            aheader.BackGroundFlag = 0x00;
            aheader.Transparency   = 101;
            aheader.AreaEqual      = 0x00;
            bxdualsdk.EQSound_6G stSoundData = new bxdualsdk.EQSound_6G();
            stSoundData.SoundFlag            = 0;
            stSoundData.SoundVolum           = 0;
            stSoundData.SoundSpeed           = 0;
            stSoundData.SoundDataMode        = 0;
            stSoundData.SoundReplayTimes     = 0;
            stSoundData.SoundReplayDelay     = 0;
            stSoundData.SoundReservedParaLen = 0;
            stSoundData.Soundnumdeal         = 0;
            stSoundData.Soundlanguages       = 0;
            stSoundData.Soundwordstyle       = 0;
            stSoundData.SoundDataLen         = 0;
            byte[] t = new byte[1];
            t[0] = 0;
            stSoundData.SoundData = IntPtr.Zero;
            aheader.stSoundData   = stSoundData;
            err = bxdualsdk.bxDual_program_addArea_G6(0, ref aheader);  //添加图文区域
            Console.WriteLine("bxDual_program_addArea_G6:" + err);

            //添加显示内容,此处为图文分区0添加字符串
            byte[] str  = Encoding.GetEncoding("GBK").GetBytes("显示数据");
            byte[] font = Encoding.GetEncoding("GBK").GetBytes("宋体");
            bxdualsdk.EQpageHeader_G6 pheader;
            pheader.PageStyle        = 0x00;
            pheader.DisplayMode      = 0x04; //移动模式
            pheader.ClearMode        = 0x01;
            pheader.Speed            = 15;   //速度
            pheader.StayTime         = 0;    //停留时间
            pheader.RepeatTime       = 1;
            pheader.ValidLen         = 10;
            pheader.CartoonFrameRate = 0x00;
            pheader.BackNotValidFlag = 0x00;
            pheader.arrMode          = bxdualsdk.E_arrMode.eSINGLELINE;
            pheader.fontSize         = 10;
            pheader.color            = (uint)0x01;
            pheader.fontBold         = 0;
            pheader.fontItalic       = 0;
            pheader.tdirection       = bxdualsdk.E_txtDirection.pNORMAL;
            pheader.txtSpace         = 0;
            pheader.Valign           = 1;
            pheader.Halign           = 0;
            err = bxdualsdk.bxDual_program_picturesAreaAddTxt_G6(0, str, font, ref pheader);
            Console.WriteLine("bxDual_program_picturesAreaAddTxt_G6:" + err);

            //创建显示分区,设置区域显示位置,示例创建一个区域编号为1,区域大小64 * 32的时间分区,Y轴64,区域之间不可重叠
            bxdualsdk.EQareaHeader_G6 aheader1;
            aheader1.AreaType       = 2;
            aheader1.AreaX          = 0;
            aheader1.AreaY          = 16;
            aheader1.AreaWidth      = 64;
            aheader1.AreaHeight     = 16;
            aheader1.BackGroundFlag = 0x00;
            aheader1.Transparency   = 101;
            aheader1.AreaEqual      = 0x00;
            aheader1.stSoundData    = stSoundData;
            err = bxdualsdk.bxDual_program_addArea_G6(1, ref aheader1);
            Console.WriteLine("bxDual_program_addArea_G6:" + err);

            //添加时间区域显示内容
            bxdualsdk.EQtimeAreaData_G56 timeData2;
            timeData2.linestyle     = bxdualsdk.E_arrMode.eMULTILINE;
            timeData2.color         = (uint)bxdualsdk.E_Color_G56.eRED;
            timeData2.fontName      = "simsun";
            timeData2.fontSize      = 10;
            timeData2.fontBold      = 0;
            timeData2.fontItalic    = 0;
            timeData2.fontUnderline = 0;
            timeData2.fontAlign     = 1; //0--左对齐,1-居中,2-右对齐
            timeData2.date_enable   = 0;
            timeData2.datestyle     = bxdualsdk.E_DateStyle.eYYYY_MM_DD_MINUS;
            timeData2.time_enable   = 1;
            timeData2.timestyle     = bxdualsdk.E_TimeStyle.eHH_MM_COLON;
            timeData2.week_enable   = 0;
            timeData2.weekstyle     = bxdualsdk.E_WeekStyle.eMonday;
            err = bxdualsdk.bxDual_program_timeAreaAddContent_G6(1, ref timeData2);
            Console.WriteLine("bxDual_program_timeAreaAddContent_G6:" + err);

            //发送节目到显示屏
            bxdualsdk.EQprogram_G6 program = new bxdualsdk.EQprogram_G6();
            err = bxdualsdk.bxDual_program_IntegrateProgramFile_G6(ref program);
            Console.WriteLine("bxDual_program_IntegrateProgramFile_G6:" + err);
            err = bxdualsdk.bxDual_program_deleteProgram_G6();
            Console.WriteLine("bxDual_program_deleteProgram_G6:" + err);

            if (true)//网口
            {
                err = bxdualsdk.bxDual_cmd_ofsStartFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.dfileName, program.dfileType, program.dfileLen, 1, program.dfileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsEndFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsEndFileTransf:" + err);
            }
            else//串口
            {
                err = bxdualsdk.bxDual_cmd_uart_ofsStartFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.dfileName, program.dfileType, program.dfileLen, 1, program.dfileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsEndFileTransf(Program.com, Program.baudRate);
            }

            err = bxdualsdk.bxDual_program_freeBuffer_G6(ref program);
            Console.WriteLine("bxDual_program_freeBuffer_G6:" + err);
        }
示例#7
0
        /// <summary>
        /// BX-5代控制卡发送节目多区域
        /// </summary>
        public static void Send_program_areas_5()
        {
            //指定IP ping控制卡获取控制卡数据,屏参相关参数已知的情况可省略该步骤
            bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
            int err = bxdualsdk.bxDual_cmd_tcpPing(Program.ip, Program.port, ref data);

            //显示屏屏基色
            byte cmb_ping_Color = 1;

            if (data.Color == 1)
            {
                cmb_ping_Color = 1;
            }
            else if (data.Color == 3)
            {
                cmb_ping_Color = 2;
            }
            else if (data.Color == 7)
            {
                cmb_ping_Color = 3;
            }
            else
            {
                cmb_ping_Color = 4;
            }

            //设置屏幕参数相关  发送节目必要接口,发送动态区可忽略
            err = bxdualsdk.bxDual_program_setScreenParams_G56((bxdualsdk.E_ScreenColor_G56)cmb_ping_Color, data.ControllerType, bxdualsdk.E_DoubleColorPixel_G56.eDOUBLE_COLOR_PIXTYPE_1);
            Console.WriteLine("bxDual_program_setScreenParams_G56:" + err);

            //创建节目,设置节目属性
            bxdualsdk.EQprogramHeader header;
            header.FileType           = 0x00;
            header.ProgramID          = 0;
            header.ProgramStyle       = 0x00;
            header.ProgramPriority    = 0x00;
            header.ProgramPlayTimes   = 1;
            header.ProgramTimeSpan    = 0;
            header.ProgramWeek        = 0xff;
            header.ProgramLifeSpan_sy = 0xffff;
            header.ProgramLifeSpan_sm = 0x03;
            header.ProgramLifeSpan_sd = 0x05;
            header.ProgramLifeSpan_ey = 0xffff;
            header.ProgramLifeSpan_em = 0x04;
            header.ProgramLifeSpan_ed = 0x12;
            err = bxdualsdk.bxDual_program_addProgram(ref header);
            Console.WriteLine("bxDual_program_addProgram:" + err);

            //创建显示分区,设置区域显示位置,示例创建一个区域编号为0,区域大小64*32的图文分区
            bxdualsdk.EQareaHeader aheader;
            aheader.AreaType   = 0;
            aheader.AreaX      = 0;
            aheader.AreaY      = 0;
            aheader.AreaWidth  = 64;
            aheader.AreaHeight = 16;
            err = bxdualsdk.bxDual_program_AddArea(0, ref aheader);
            Console.WriteLine("bxDual_program_AddArea:" + err);

            //添加显示内容,此处为图文分区0添加字符串
            byte[] str  = Encoding.GetEncoding("GBK").GetBytes("显示数据");
            byte[] font = Encoding.GetEncoding("GBK").GetBytes("宋体");
            bxdualsdk.EQpageHeader pheader;
            pheader.PageStyle   = 0x00;
            pheader.DisplayMode = 0x02;
            pheader.ClearMode   = 0x01;
            pheader.Speed       = 10;
            pheader.StayTime    = 0;
            pheader.RepeatTime  = 1;
            pheader.ValidLen    = 0;
            pheader.arrMode     = bxdualsdk.E_arrMode.eMULTILINE;
            pheader.fontSize    = 12;
            pheader.color       = (uint)0x01;
            pheader.fontBold    = 0;
            pheader.fontItalic  = 0;
            pheader.tdirection  = bxdualsdk.E_txtDirection.pNORMAL;
            pheader.txtSpace    = 0;
            pheader.Valign      = 1;
            pheader.Halign      = 1;
            err = bxdualsdk.bxDual_program_picturesAreaAddTxt(0, str, font, ref pheader);
            Console.WriteLine("bxDual_program_picturesAreaAddTxt:" + err);

            //创建显示分区,设置区域显示位置,示例创建一个区域编号为1,区域大小64 * 32的时间分区,Y轴64,区域之间不可重叠
            bxdualsdk.EQareaHeader aheader1;
            aheader1.AreaType   = 2;
            aheader1.AreaX      = 0;
            aheader1.AreaY      = 16;
            aheader1.AreaWidth  = 64;
            aheader1.AreaHeight = 16;
            err = bxdualsdk.bxDual_program_AddArea(1, ref aheader1);
            Console.WriteLine("bxDual_program_AddArea:" + err);

            //添加时间区域显示内容
            bxdualsdk.EQtimeAreaData_G56 timeData2;
            timeData2.linestyle     = bxdualsdk.E_arrMode.eMULTILINE;
            timeData2.color         = (uint)bxdualsdk.E_Color_G56.eRED;
            timeData2.fontName      = "宋体";
            timeData2.fontSize      = 12;
            timeData2.fontBold      = 0;
            timeData2.fontItalic    = 0;
            timeData2.fontUnderline = 0;
            timeData2.fontAlign     = 0; //0--左对齐,1-居中,2-右对齐
            timeData2.date_enable   = 0;
            timeData2.datestyle     = bxdualsdk.E_DateStyle.eYYYY_MM_DD_MINUS;
            timeData2.time_enable   = 1;
            timeData2.timestyle     = bxdualsdk.E_TimeStyle.eHH_MM_AM;
            timeData2.week_enable   = 0;
            timeData2.weekstyle     = bxdualsdk.E_WeekStyle.eMonday_CHS;
            err = bxdualsdk.bxDual_program_timeAreaAddContent(1, ref timeData2);
            Console.WriteLine("bxDual_program_timeAreaAddContent:" + err);

            //发送节目到显示屏
            bxdualsdk.EQprogram program = new bxdualsdk.EQprogram();
            err = bxdualsdk.bxDual_program_IntegrateProgramFile(ref program);
            Console.WriteLine("bxDual_program_IntegrateProgramFile:" + err);
            err = bxdualsdk.bxDual_program_deleteProgram();
            Console.WriteLine("bxDual_program_deleteProgram:" + err);

            if (true)//网口
            {
                err = bxdualsdk.bxDual_cmd_ofsStartFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsEndFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsEndFileTransf:" + err);
            }
            else//串口
            {
                err = bxdualsdk.bxDual_cmd_uart_ofsStartFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsEndFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsEndFileTransf:" + err);
            }

            err = bxdualsdk.bxDual_program_freeBuffer(ref program);
            Console.WriteLine("bxDual_program_freeBuffer:" + err);
        }
示例#8
0
        public static void Server_get()
        {
            int err        = 0;
            int ServerPort = 8135;
            int port       = 5005;
            //启动服务器
            int pServer = bxdualsdk.bxDual_Start_Server(ServerPort);

            byte[] cards = new byte[2048];
            //控制卡上线个数
            int count = 0;

            Thread.Sleep(2000);
            List <ServerList> server_list = new List <ServerList>();

            count = 0;
            server_list.Clear();

            for (int i = 0; i < 2048; i++)
            {
                cards[i] = 0;
            }
            while (count == 0)
            {
                //获取控制卡数据与上线数量
                count = bxdualsdk.bxDual_Get_CardList(cards);
            }
            server_list.Clear();
            //一个控制卡数据20个长度
            for (int i = 0; i < count; i++)
            {
                //前16位数据是控制卡网络ID编号
                byte[] barcodevalue = cards.Skip(0 + i * 20).Take(16).ToArray();
                //根据网络ID获取通讯使用端口
                port = bxdualsdk.bxDual_Get_Port_Barcode(barcodevalue);
                ServerList price = new ServerList(barcodevalue, port);
                server_list.Add(price);
                string ssss = Encoding.Default.GetString(barcodevalue);
                Console.WriteLine("barcode:" + i + ":" + System.Text.Encoding.Default.GetString(barcodevalue) + "   port:" + port);
                server_list.Add(price);
            }
            //启动线程,判断控制卡在线情况
            Thread thread = new Thread(t => get());

            thread.Start();

            //以第一张上线控制卡做通信示例
            //服务器IP
            byte[] server_ip = Encoding.GetEncoding("GBK").GetBytes("192.168.89.100");
            //控制卡网络ID
            byte[] barcode1 = cards.Skip(0).Take(16).ToArray();
            //控制卡通信端口
            int port1 = bxdualsdk.bxDual_Get_Port_Barcode(barcode1);

            //通信获取该控制卡信息,接口函数调用步骤与固定IP调用步骤一致,参数换成服务器IP和通信端口
            bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
            err = bxdualsdk.bxDual_cmd_tcpPing(server_ip, (ushort)port1, ref data);
            if (err == 0)
            {
                //控制卡型号值
                Console.WriteLine("ControllerType:0x" + data.ControllerType.ToString("X2"));
                //控制卡固件版本
                Console.WriteLine("FirmwareVersion:V" + System.Text.Encoding.Default.GetString(data.FirmwareVersion));
                //控制卡IP
                Console.WriteLine("ipAdder:" + System.Text.Encoding.Default.GetString(data.ipAdder));
            }
            else
            {
                Console.WriteLine("通信失败:" + err);
            }
            while (false)
            {
                string[] s = new string[] { "装载中", "未装载", "不加装" };
                for (int i = 0; i < 3; i++)
                {
                    SendTextMsg(s[i], (ushort)port1);
                    Thread.Sleep(2000);
                }
            }


            //关闭服务器
            err = bxdualsdk.bxDual_Stop_Server(pServer);
            //结束线程
            //thread.Abort();
            //while (thread.ThreadState != ThreadState.Aborted)
            //{
            //    Thread.Sleep(100);
            //}
        }
示例#9
0
        /// <summary>
        /// BX-5代控制卡发送节目图片
        /// </summary>
        public static void Send_program_png_5()
        {
            Console.WriteLine(DateTime.Now.ToString());
            //指定IP ping控制卡获取控制卡数据,屏参相关参数已知的情况可省略该步骤
            bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
            int err = bxdualsdk.bxDual_cmd_tcpPing(Program.ip, Program.port, ref data);

            //显示屏屏基色
            byte cmb_ping_Color = 1;

            if (data.Color == 1)
            {
                cmb_ping_Color = 1;
            }
            else if (data.Color == 3)
            {
                cmb_ping_Color = 2;
            }
            else if (data.Color == 7)
            {
                cmb_ping_Color = 3;
            }
            else
            {
                cmb_ping_Color = 4;
            }

            //第一步.设置屏幕参数相关  发送节目必要接口,发送动态区可忽略
            err = bxdualsdk.bxDual_program_setScreenParams_G56((bxdualsdk.E_ScreenColor_G56)cmb_ping_Color, data.ControllerType, bxdualsdk.E_DoubleColorPixel_G56.eDOUBLE_COLOR_PIXTYPE_1);
            Console.WriteLine("bxDual_program_setScreenParams_G56:" + err);

            //第二步,创建节目,设置节目属性
            bxdualsdk.EQprogramHeader header;
            header.FileType           = 0x00;
            header.ProgramID          = 0;
            header.ProgramStyle       = 0x00;
            header.ProgramPriority    = 0x00;
            header.ProgramPlayTimes   = 1;
            header.ProgramTimeSpan    = 0;
            header.ProgramWeek        = 0xff;
            header.ProgramLifeSpan_sy = 0xffff;
            header.ProgramLifeSpan_sm = 0x03;
            header.ProgramLifeSpan_sd = 0x05;
            header.ProgramLifeSpan_ey = 0xffff;
            header.ProgramLifeSpan_em = 0x04;
            header.ProgramLifeSpan_ed = 0x12;
            err = bxdualsdk.bxDual_program_addProgram(ref header);
            Console.WriteLine("bxDual_program_addProgram:" + err);

            //第三步,创建显示分区,设置区域显示位置,示例创建一个区域编号为0,区域大小64*32的图文分区
            bxdualsdk.EQareaHeader aheader;
            aheader.AreaType   = 0;
            aheader.AreaX      = 0;
            aheader.AreaY      = 0;
            aheader.AreaWidth  = 256;
            aheader.AreaHeight = 64;
            err = bxdualsdk.bxDual_program_AddArea(0, ref aheader);
            Console.WriteLine("bxDual_program_AddArea:" + err);

            //第四步,添加显示内容,此处为图文分区0添加图片,该步骤可多次调用,添加多张图片,每张图片用不同的编号
            byte[] img = Encoding.GetEncoding("GBK").GetBytes("KB2001.png");
            bxdualsdk.EQpageHeader pheader;
            pheader.PageStyle   = 0x00;
            pheader.DisplayMode = 0x02;
            pheader.ClearMode   = 0x01;
            pheader.Speed       = 10;
            pheader.StayTime    = 0;
            pheader.RepeatTime  = 1;
            pheader.ValidLen    = 0;
            pheader.arrMode     = bxdualsdk.E_arrMode.eMULTILINE;
            pheader.fontSize    = 12;
            pheader.color       = (uint)0x01;
            pheader.fontBold    = 0;
            pheader.fontItalic  = 0;
            pheader.tdirection  = bxdualsdk.E_txtDirection.pNORMAL;
            pheader.txtSpace    = 0;
            pheader.Valign      = 1;
            pheader.Halign      = 1;
            err = bxdualsdk.bxDual_program_pictureAreaAddPic(0, 0, ref pheader, img);
            Console.WriteLine("bxDual_program_pictureAreaAddPic:" + err);

            //第五步,发送节目到显示屏
            bxdualsdk.EQprogram program = new bxdualsdk.EQprogram();
            err = bxdualsdk.bxDual_program_IntegrateProgramFile(ref program);
            Console.WriteLine("bxDual_program_IntegrateProgramFile:" + err);
            err = bxdualsdk.bxDual_program_deleteProgram();
            Console.WriteLine("bxDual_program_deleteProgram:" + err);

            if (true)//网口
            {
                err = bxdualsdk.bxDual_cmd_ofsStartFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsEndFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsEndFileTransf:" + err);
            }
            else//串口
            {
                err = bxdualsdk.bxDual_cmd_uart_ofsStartFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsEndFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsEndFileTransf:" + err);
            }

            err = bxdualsdk.bxDual_program_freeBuffer(ref program);
            Console.WriteLine("bxDual_program_freeBuffer:" + err);
            Console.WriteLine(DateTime.Now.ToString());
        }
示例#10
0
        /// <summary>
        /// BX-6代控制卡发送节目图片
        /// </summary>
        public static void Send_program_png_6()
        {
            //指定IP ping控制卡获取控制卡数据,屏参相关参数已知的情况可省略该步骤
            bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
            int err = bxdualsdk.bxDual_cmd_tcpPing(Program.ip, Program.port, ref data);

            //显示屏屏基色
            byte cmb_ping_Color = 1;

            if (data.Color == 1)
            {
                cmb_ping_Color = 1;
            }
            else if (data.Color == 3)
            {
                cmb_ping_Color = 2;
            }
            else if (data.Color == 7)
            {
                cmb_ping_Color = 3;
            }
            else
            {
                cmb_ping_Color = 4;
            }

            //第一步.设置屏幕参数相关  发送节目必要接口,发送动态区可忽略
            err = bxdualsdk.bxDual_program_setScreenParams_G56((bxdualsdk.E_ScreenColor_G56)cmb_ping_Color, data.ControllerType, bxdualsdk.E_DoubleColorPixel_G56.eDOUBLE_COLOR_PIXTYPE_1);
            Console.WriteLine("bxDual_program_setScreenParams_G56:" + err);

            //第二步,创建节目,设置节目属性
            bxdualsdk.EQprogramHeader_G6 header;
            header.FileType             = 0x00;
            header.ProgramID            = 0;
            header.ProgramStyle         = 0x00;
            header.ProgramPriority      = 0x00;
            header.ProgramPlayTimes     = 1;
            header.ProgramTimeSpan      = 0;
            header.SpecialFlag          = 0;
            header.CommExtendParaLen    = 0x00;
            header.ScheduNum            = 0;
            header.LoopValue            = 0;
            header.Intergrate           = 0x00;
            header.TimeAttributeNum     = 0x00;
            header.TimeAttribute0Offset = 0x0000;
            header.ProgramWeek          = 0xff;
            header.ProgramLifeSpan_sy   = 0xffff;
            header.ProgramLifeSpan_sm   = 0x03;
            header.ProgramLifeSpan_sd   = 0x14;
            header.ProgramLifeSpan_ey   = 0xffff;
            header.ProgramLifeSpan_em   = 0x03;
            header.ProgramLifeSpan_ed   = 0x14;
            header.PlayPeriodGrpNum     = 0;
            err = bxdualsdk.bxDual_program_addProgram_G6(ref header);
            Console.WriteLine("bxDual_program_addProgram_G6:" + err);

            //第三步,创建显示分区,设置区域显示位置,示例创建一个区域编号为0,区域大小64*32的图文分区
            bxdualsdk.EQareaHeader_G6 aheader;
            aheader.AreaType       = 0;
            aheader.AreaX          = 0;
            aheader.AreaY          = 0;
            aheader.AreaWidth      = data.ScreenWidth;
            aheader.AreaHeight     = data.ScreenHeight;
            aheader.BackGroundFlag = 0x00;
            aheader.Transparency   = 101;
            aheader.AreaEqual      = 0x00;
            bxdualsdk.EQSound_6G stSoundData = new bxdualsdk.EQSound_6G();
            stSoundData.SoundFlag            = 0;
            stSoundData.SoundVolum           = 0;
            stSoundData.SoundSpeed           = 0;
            stSoundData.SoundDataMode        = 0;
            stSoundData.SoundReplayTimes     = 0;
            stSoundData.SoundReplayDelay     = 0;
            stSoundData.SoundReservedParaLen = 0;
            stSoundData.Soundnumdeal         = 0;
            stSoundData.Soundlanguages       = 0;
            stSoundData.Soundwordstyle       = 0;
            stSoundData.SoundDataLen         = 0;
            byte[] t = new byte[1];
            t[0] = 0;
            stSoundData.SoundData = IntPtr.Zero;
            aheader.stSoundData   = stSoundData;
            err = bxdualsdk.bxDual_program_addArea_G6(0, ref aheader);
            Console.WriteLine("bxDual_program_addArea_G6:" + err);

            //第四步,添加显示内容,此处为图文分区0添加图片,该步骤可多次调用,添加多张图片,每张图片用不同的编号
            byte[] img = Encoding.GetEncoding("GBK").GetBytes("Led3.png");
            bxdualsdk.EQpageHeader_G6 pheader;
            pheader.PageStyle        = 0x00;
            pheader.DisplayMode      = 0x01; //移动模式
            pheader.ClearMode        = 0x01;
            pheader.Speed            = 15;   //速度
            pheader.StayTime         = 0;    //停留时间
            pheader.RepeatTime       = 1;
            pheader.ValidLen         = 0;
            pheader.CartoonFrameRate = 0x00;
            pheader.BackNotValidFlag = 0x00;
            pheader.arrMode          = bxdualsdk.E_arrMode.eSINGLELINE;
            pheader.fontSize         = 10;
            pheader.color            = (uint)0x01;
            pheader.fontBold         = 0;
            pheader.fontItalic       = 0;
            pheader.tdirection       = bxdualsdk.E_txtDirection.pNORMAL;
            pheader.txtSpace         = 0;
            pheader.Valign           = 1;
            pheader.Halign           = 0;
            err = bxdualsdk.bxDual_program_pictureAreaAddPic_G6(0, 0, ref pheader, img);
            Console.WriteLine("bxDual_program_pictureAreaAddPic_G6:" + err);

            //第五步,发送节目到显示屏
            bxdualsdk.EQprogram_G6 program = new bxdualsdk.EQprogram_G6();
            err = bxdualsdk.bxDual_program_IntegrateProgramFile_G6(ref program);
            Console.WriteLine("bxDual_program_IntegrateProgramFile_G6:" + err);
            err = bxdualsdk.bxDual_program_deleteProgram_G6();
            Console.WriteLine("bxDual_program_deleteProgram_G6:" + err);

            if (true)//网口
            {
                err = bxdualsdk.bxDual_cmd_ofsStartFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.dfileName, program.dfileType, program.dfileLen, 1, program.dfileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsEndFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsEndFileTransf:" + err);
            }
            else//串口
            {
                err = bxdualsdk.bxDual_cmd_uart_ofsStartFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.dfileName, program.dfileType, program.dfileLen, 1, program.dfileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsEndFileTransf(Program.com, Program.baudRate);
            }

            err = bxdualsdk.bxDual_program_freeBuffer_G6(ref program);
            Console.WriteLine("bxDual_program_freeBuffer_G6:" + err);
        }
示例#11
0
        /// <summary>
        /// BX-6代控制卡发送节目文本
        /// </summary>
        public static void Send_program_txt_6()
        {
            //指定IP ping控制卡获取控制卡数据,屏参相关参数已知的情况可省略该步骤
            bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
            int err = 0;

            if (true)
            {
                err = bxdualsdk.bxDual_cmd_tcpPing(Program.ip, Program.port, ref data);
            }
            else
            {
                err = bxdualsdk.bxDual_cmd_uart_searchController(ref data, Program.com);
            }
            Console.WriteLine("ControllerType:0x" + data.ControllerType.ToString("X2"));
            Console.WriteLine("FirmwareVersion:V" + System.Text.Encoding.Default.GetString(data.FirmwareVersion));
            Console.WriteLine("ipAdder:" + System.Text.Encoding.Default.GetString(data.ipAdder));
            Console.WriteLine("ScreenWidth:" + data.ScreenWidth.ToString());
            Console.WriteLine("ScreenHeight:" + data.ScreenHeight.ToString());
            Console.WriteLine("cmb_ping_Color:" + data.Color.ToString());
            Console.WriteLine("\r\n");

            //显示屏屏基色
            byte cmb_ping_Color = 1;

            if (data.Color == 1)
            {
                cmb_ping_Color = 1;
            }
            else if (data.Color == 3)
            {
                cmb_ping_Color = 2;
            }
            else if (data.Color == 7)
            {
                cmb_ping_Color = 3;
            }
            else
            {
                cmb_ping_Color = 4;
            }

            //第一步.设置屏幕参数相关  发送节目必要接口,发送动态区可忽略
            err = bxdualsdk.bxDual_program_setScreenParams_G56((bxdualsdk.E_ScreenColor_G56)cmb_ping_Color, data.ControllerType, bxdualsdk.E_DoubleColorPixel_G56.eDOUBLE_COLOR_PIXTYPE_1);
            Console.WriteLine("bxDual_program_setScreenParams_G56:" + err);

            //第二步,创建节目,设置节目属性
            bxdualsdk.EQprogramHeader_G6 header;
            header.FileType             = 0x00;
            header.ProgramID            = 0;
            header.ProgramStyle         = 0x00;
            header.ProgramPriority      = 0x00;
            header.ProgramPlayTimes     = 1;
            header.ProgramTimeSpan      = 0;
            header.SpecialFlag          = 0;
            header.CommExtendParaLen    = 0x00;
            header.ScheduNum            = 0;
            header.LoopValue            = 0;
            header.Intergrate           = 0x00;
            header.TimeAttributeNum     = 0x00;
            header.TimeAttribute0Offset = 0x0000;
            header.ProgramWeek          = 0xff;
            header.ProgramLifeSpan_sy   = 0xffff;
            header.ProgramLifeSpan_sm   = 0x03;
            header.ProgramLifeSpan_sd   = 0x14;
            header.ProgramLifeSpan_ey   = 0xffff;
            header.ProgramLifeSpan_em   = 0x03;
            header.ProgramLifeSpan_ed   = 0x14;
            header.PlayPeriodGrpNum     = 0;
            err = bxdualsdk.bxDual_program_addProgram_G6(ref header);
            Console.WriteLine("bxDual_program_addProgram_G6:" + err);
            //节目添加播放时段,目前仅支持一组时间,多组不支持
            if (false)
            {
                bxdualsdk.EQprogrampTime_G56 Time;
                Time.StartHour   = 0x17;
                Time.StartMinute = 0x29;
                Time.StartSecond = 0x00;
                Time.EndHour     = 0x17;
                Time.EndMinute   = 0x30;
                Time.EndSecond   = 0x00;

                bxdualsdk.EQprogramppGrp_G56 headerGrp;
                headerGrp.playTimeGrpNum = 1;
                headerGrp.timeGrp0       = Time;
                headerGrp.timeGrp1       = Time;
                headerGrp.timeGrp2       = Time;
                headerGrp.timeGrp3       = Time;
                headerGrp.timeGrp4       = Time;
                headerGrp.timeGrp5       = Time;
                headerGrp.timeGrp6       = Time;
                headerGrp.timeGrp7       = Time;
                err = bxdualsdk.bxDual_program_addPlayPeriodGrp_G6(ref headerGrp);
                Console.WriteLine("program_addPlayPeriodGrp:" + err);
            }
            //节目添加边框
            if (false)
            {
                bxdualsdk.EQscreenframeHeader_G6 sfheader;
                sfheader.FrameDispStype     = 0x01; //边框显示方式
                sfheader.FrameDispSpeed     = 0x10; //边框显示速度
                sfheader.FrameMoveStep      = 0x01; //边框移动步长
                sfheader.FrameUnitLength    = 2;    //边框组元长度
                sfheader.FrameUnitWidth     = 2;    //边框组元宽度
                sfheader.FrameDirectDispBit = 0;    //上下左右边框显示标志位,目前只支持6QX-M卡
                byte[] img = Encoding.Default.GetBytes("F:\\黄10.png");
                bxdualsdk.bxDual_program_addFrame_G6(ref sfheader, img);
            }

            //第三步,创建显示分区,设置区域显示位置,示例创建一个区域编号为0,区域大小64*32的图文分区
            bxdualsdk.EQareaHeader_G6 aheader;
            aheader.AreaType       = 0;
            aheader.AreaX          = 0;
            aheader.AreaY          = 0;
            aheader.AreaWidth      = data.ScreenWidth;
            aheader.AreaHeight     = data.ScreenHeight;
            aheader.BackGroundFlag = 0x00;
            aheader.Transparency   = 101;
            aheader.AreaEqual      = 0x00;
            bxdualsdk.EQSound_6G stSoundData = new bxdualsdk.EQSound_6G();//该语音属性在节目无效
            stSoundData.SoundFlag            = 0;
            stSoundData.SoundVolum           = 0;
            stSoundData.SoundSpeed           = 0;
            stSoundData.SoundDataMode        = 0;
            stSoundData.SoundReplayTimes     = 0;
            stSoundData.SoundReplayDelay     = 0;
            stSoundData.SoundReservedParaLen = 0;
            stSoundData.Soundnumdeal         = 0;
            stSoundData.Soundlanguages       = 0;
            stSoundData.Soundwordstyle       = 0;
            stSoundData.SoundDataLen         = 0;
            byte[] t = new byte[1];
            t[0] = 0;
            stSoundData.SoundData = IntPtr.Zero;
            aheader.stSoundData   = stSoundData;
            err = bxdualsdk.bxDual_program_addArea_G6(0, ref aheader);  //添加图文区域
            Console.WriteLine("bxDual_program_addArea_G6:" + err);
            //区域添加边框
            if (false)
            {
                bxdualsdk.EQscreenframeHeader_G6 sfheader;
                sfheader.FrameDispStype     = 0x01; //边框显示方式0x00 –闪烁 0x01 –顺时针转动 0x02 –逆时针转动 0x03 –闪烁加顺时针转动 0x04 –闪烁加逆时针转动 0x05 –红绿交替闪烁 0x06 –红绿交替转动 0x07 –静止打出
                sfheader.FrameDispSpeed     = 0x10; //边框显示速度
                sfheader.FrameMoveStep      = 0x01; //边框移动步长,单位为点,此参 数范围为 1~16
                sfheader.FrameUnitLength    = 2;    //边框组元长度
                sfheader.FrameUnitWidth     = 2;    //边框组元宽度
                sfheader.FrameDirectDispBit = 0;    //上下左右边框显示标志位,目前只支持6QX-M卡
                byte[] img = Encoding.Default.GetBytes("E:\\黄10.png");
                bxdualsdk.bxDual_program_picturesAreaAddFrame_G6(0, ref sfheader, img);
            }

            //第四步,添加显示内容,此处为图文分区0添加字符串
            byte[] str  = Encoding.GetEncoding("GBK").GetBytes("\\FKB00خۇش كەپسىز");
            byte[] font = Encoding.GetEncoding("GBK").GetBytes("宋体");
            bxdualsdk.EQpageHeader_G6 pheader;
            pheader.PageStyle        = 0x00;
            pheader.DisplayMode      = 0x04; //移动模式
            pheader.ClearMode        = 0x01;
            pheader.Speed            = 2;    //速度
            pheader.StayTime         = 100;  //停留时间
            pheader.RepeatTime       = 1;
            pheader.ValidLen         = 0;
            pheader.CartoonFrameRate = 0x00;
            pheader.BackNotValidFlag = 0x00;
            pheader.arrMode          = bxdualsdk.E_arrMode.eSINGLELINE;
            pheader.fontSize         = 20;
            pheader.color            = (uint)0x01;
            pheader.fontBold         = 0;
            pheader.fontItalic       = 0;
            pheader.tdirection       = bxdualsdk.E_txtDirection.pNORMAL;
            pheader.txtSpace         = 0;
            pheader.Valign           = 1;
            pheader.Halign           = 0;
            err = bxdualsdk.bxDual_program_picturesAreaAddTxt_G6(0, str, font, ref pheader);
            Console.WriteLine("bxDual_program_picturesAreaAddTxt_G6:" + err);

            //添加语音,该功能仅部分控制卡支持,一个节目只能在一个图文区添加语音播报
            if (false)
            {
                byte[] soundstr = Encoding.GetEncoding("gb2312").GetBytes("请张三到1号窗口取药");
                bxdualsdk.EQPicAreaSoundHeader_G6 psoundheader;
                psoundheader.SoundPerson          = 3;
                psoundheader.SoundVolum           = 5;
                psoundheader.SoundSpeed           = 5;
                psoundheader.SoundDataMode        = 0;
                psoundheader.SoundReplayTimes     = 0;
                psoundheader.SoundReplayDelay     = 1000;
                psoundheader.SoundReservedParaLen = 3;
                psoundheader.Soundnumdeal         = 1;
                psoundheader.Soundlanguages       = 1;
                psoundheader.Soundwordstyle       = 1;
                err = bxdualsdk.bxDual_program_pictureAreaEnableSound_G6(0, psoundheader, soundstr);
                Console.WriteLine("program_pictureAreaEnableSound_G6:" + err);
            }

            //第五步,发送节目到显示屏
            bxdualsdk.EQprogram_G6 program = new bxdualsdk.EQprogram_G6();
            err = bxdualsdk.bxDual_program_IntegrateProgramFile_G6(ref program);
            Console.WriteLine("bxDual_program_IntegrateProgramFile_G6:" + err);
            err = bxdualsdk.bxDual_program_deleteProgram_G6();
            Console.WriteLine("bxDual_program_deleteProgram_G6:" + err);

            if (true)//网口
            {
                err = bxdualsdk.bxDual_cmd_ofsStartFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.dfileName, program.dfileType, program.dfileLen, 1, program.dfileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsEndFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsEndFileTransf:" + err);
            }
            else//串口
            {
                err = bxdualsdk.bxDual_cmd_uart_ofsStartFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.dfileName, program.dfileType, program.dfileLen, 1, program.dfileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsEndFileTransf(Program.com, Program.baudRate);
            }

            err = bxdualsdk.bxDual_program_freeBuffer_G6(ref program);
            Console.WriteLine("bxDual_program_freeBuffer_G6:" + err);
        }
示例#12
0
        /// <summary>
        /// BX-5代控制卡发送节目文本
        /// </summary>
        public static void Send_program_txt_5()
        {
            //指定IP ping控制卡获取控制卡数据,屏参相关参数已知的情况可省略该步骤
            bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
            int err = 0;

            if (true)
            {
                err = bxdualsdk.bxDual_cmd_tcpPing(Program.ip, Program.port, ref data);
            }
            else
            {
                err = bxdualsdk.bxDual_cmd_uart_searchController(ref data, Program.com);
            }

            //显示屏屏基色
            byte cmb_ping_Color = 1;

            if (data.Color == 1)
            {
                cmb_ping_Color = 1;
            }
            else if (data.Color == 3)
            {
                cmb_ping_Color = 2;
            }
            else if (data.Color == 7)
            {
                cmb_ping_Color = 3;
            }
            else
            {
                cmb_ping_Color = 4;
            }

            //第一步.设置屏幕参数相关  发送节目必要接口,发送动态区可忽略
            err = bxdualsdk.bxDual_program_setScreenParams_G56((bxdualsdk.E_ScreenColor_G56)cmb_ping_Color, data.ControllerType, bxdualsdk.E_DoubleColorPixel_G56.eDOUBLE_COLOR_PIXTYPE_1);
            Console.WriteLine("bxDual_program_setScreenParams_G56:" + err);

            //第二步,创建节目,设置节目属性
            bxdualsdk.EQprogramHeader header;
            header.FileType           = 0x00;
            header.ProgramID          = 0;
            header.ProgramStyle       = 0x00;
            header.ProgramPriority    = 0x00;
            header.ProgramPlayTimes   = 1;
            header.ProgramTimeSpan    = 0;
            header.ProgramWeek        = 0xff;
            header.ProgramLifeSpan_sy = 0xffff;
            header.ProgramLifeSpan_sm = 0x03;
            header.ProgramLifeSpan_sd = 0x05;
            header.ProgramLifeSpan_ey = 0xffff;
            header.ProgramLifeSpan_em = 0x04;
            header.ProgramLifeSpan_ed = 0x12;
            err = bxdualsdk.bxDual_program_addProgram(ref header);
            Console.WriteLine("bxDual_program_addProgram:" + err);
            //节目添加边框属性
            if (false)
            {
                bxdualsdk.EQscreenframeHeader sfheader;
                sfheader.FrameDispFlag  = 0x01;
                sfheader.FrameDispStyle = 0x01;
                sfheader.FrameDispSpeed = 0x10;
                sfheader.FrameMoveStep  = 0x01;
                sfheader.FrameWidth     = 2;
                sfheader.FrameBackup    = 0;
                byte[] img = Encoding.Default.GetBytes("F:\\黄10.png");
                bxdualsdk.bxDual_program_addFrame(ref sfheader, img);
            }
            //节目添加播放时段,目前仅支持一组时间,多组不支持,Time有效,Time1无效
            if (false)
            {
                bxdualsdk.EQprogrampTime_G56 Time;
                Time.StartHour   = 0x13;
                Time.StartMinute = 0x25;
                Time.StartSecond = 0x00;
                Time.EndHour     = 0x13;
                Time.EndMinute   = 0x26;
                Time.EndSecond   = 0x00;
                bxdualsdk.EQprogrampTime_G56 Time1;
                Time1.StartHour   = 0x13;
                Time1.StartMinute = 0x27;
                Time1.StartSecond = 0x00;
                Time1.EndHour     = 0x13;
                Time1.EndMinute   = 0x28;
                Time1.EndSecond   = 0x00;

                bxdualsdk.EQprogramppGrp_G56 headerGrp;
                headerGrp.playTimeGrpNum = 2;
                headerGrp.timeGrp0       = Time;
                headerGrp.timeGrp1       = Time1;
                headerGrp.timeGrp2       = Time;
                headerGrp.timeGrp3       = Time;
                headerGrp.timeGrp4       = Time;
                headerGrp.timeGrp5       = Time;
                headerGrp.timeGrp6       = Time;
                headerGrp.timeGrp7       = Time;
                err = bxdualsdk.bxDual_program_addPlayPeriodGrp(ref headerGrp);
                Console.WriteLine("program_addPlayPeriodGrp:" + err);
            }

            //第三步,创建显示分区,设置区域显示位置,示例创建一个区域编号为0,区域大小64*32的图文分区
            bxdualsdk.EQareaHeader aheader;
            aheader.AreaType   = 0;
            aheader.AreaX      = 0;
            aheader.AreaY      = 0;
            aheader.AreaWidth  = 64;
            aheader.AreaHeight = 32;
            err = bxdualsdk.bxDual_program_AddArea(0, ref aheader);
            Console.WriteLine("bxDual_program_AddArea:" + err);
            //区域添加边框
            if (false)
            {
                bxdualsdk.EQareaframeHeader afheader;
                afheader.AreaFFlag      = 0x01;
                afheader.AreaFDispStyle = 0x01;
                afheader.AreaFDispSpeed = 0x08;
                afheader.AreaFMoveStep  = 0x01;
                afheader.AreaFWidth     = 3;
                afheader.AreaFBackup    = 0;
                byte[] img = Encoding.Default.GetBytes("黄10.png");
                bxdualsdk.bxDual_program_picturesAreaAddFrame(0, ref afheader, img);
            }

            //第四步,添加显示内容,此处为图文分区0添加字符串
            byte[] str  = Encoding.GetEncoding("GBK").GetBytes("显示内容");
            byte[] font = Encoding.GetEncoding("GBK").GetBytes("宋体");
            bxdualsdk.EQpageHeader pheader;
            pheader.PageStyle   = 0x00;
            pheader.DisplayMode = 0x04;
            pheader.ClearMode   = 0x01;
            pheader.Speed       = 10;
            pheader.StayTime    = 0;
            pheader.RepeatTime  = 1;
            pheader.ValidLen    = 0;
            pheader.arrMode     = bxdualsdk.E_arrMode.eMULTILINE;
            pheader.fontSize    = 16;
            pheader.color       = (uint)0x01;
            pheader.fontBold    = 0;
            pheader.fontItalic  = 0;
            pheader.tdirection  = bxdualsdk.E_txtDirection.pNORMAL;
            pheader.txtSpace    = 0;
            pheader.Valign      = 1;
            pheader.Halign      = 1;
            err = bxdualsdk.bxDual_program_picturesAreaAddTxt(0, str, font, ref pheader);
            Console.WriteLine("bxDual_program_picturesAreaAddTxt:" + err);

            //第五步,发送节目到显示屏
            bxdualsdk.EQprogram program = new bxdualsdk.EQprogram();
            err = bxdualsdk.bxDual_program_IntegrateProgramFile(ref program);
            Console.WriteLine("bxDual_program_IntegrateProgramFile:" + err);
            err = bxdualsdk.bxDual_program_deleteProgram();
            Console.WriteLine("bxDual_program_deleteProgram:" + err);

            if (true)//网口
            {
                err = bxdualsdk.bxDual_cmd_ofsStartFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsEndFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsEndFileTransf:" + err);
            }
            else//串口
            {
                err = bxdualsdk.bxDual_cmd_uart_ofsStartFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsEndFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsEndFileTransf:" + err);
            }

            err = bxdualsdk.bxDual_program_freeBuffer(ref program);
            Console.WriteLine("bxDual_program_freeBuffer:" + err);
        }
示例#13
0
        /// <summary>
        /// BX-5代控制卡发送节目表盘
        /// </summary>
        public static void Send_program_clock_5()
        {
            //指定IP ping控制卡获取控制卡数据,屏参相关参数已知的情况可省略该步骤
            bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
            int err = bxdualsdk.bxDual_cmd_tcpPing(Program.ip, Program.port, ref data);

            //显示屏屏基色
            byte cmb_ping_Color = 1;

            if (data.Color == 1)
            {
                cmb_ping_Color = 1;
            }
            else if (data.Color == 3)
            {
                cmb_ping_Color = 2;
            }
            else if (data.Color == 7)
            {
                cmb_ping_Color = 3;
            }
            else
            {
                cmb_ping_Color = 4;
            }

            //第一步.设置屏幕参数相关  发送节目必要接口,发送动态区可忽略
            err = bxdualsdk.bxDual_program_setScreenParams_G56((bxdualsdk.E_ScreenColor_G56)cmb_ping_Color, data.ControllerType, bxdualsdk.E_DoubleColorPixel_G56.eDOUBLE_COLOR_PIXTYPE_1);
            Console.WriteLine("bxDual_program_setScreenParams_G56:" + err);

            //第二步,创建节目,设置节目属性
            bxdualsdk.EQprogramHeader header;
            header.FileType           = 0x00;
            header.ProgramID          = 0;
            header.ProgramStyle       = 0x00;
            header.ProgramPriority    = 0x00;
            header.ProgramPlayTimes   = 1;
            header.ProgramTimeSpan    = 0;
            header.ProgramWeek        = 0xff;
            header.ProgramLifeSpan_sy = 0xffff;
            header.ProgramLifeSpan_sm = 0x03;
            header.ProgramLifeSpan_sd = 0x05;
            header.ProgramLifeSpan_ey = 0xffff;
            header.ProgramLifeSpan_em = 0x04;
            header.ProgramLifeSpan_ed = 0x12;
            err = bxdualsdk.bxDual_program_addProgram(ref header);
            Console.WriteLine("bxDual_program_addProgram:" + err);

            //第三步,创建显示分区,设置区域显示位置,示例创建一个区域编号为0,区域大小64*32的时间分区
            bxdualsdk.EQareaHeader aheader;
            aheader.AreaType   = 2;
            aheader.AreaX      = 0;
            aheader.AreaY      = 0;
            aheader.AreaWidth  = 64;
            aheader.AreaHeight = 32;
            err = bxdualsdk.bxDual_program_AddArea(0, ref aheader);
            Console.WriteLine("bxDual_program_AddArea:" + err);

            //第四步,添加表盘区域显示内容
            bxdualsdk.EQAnalogClockHeader_G56 acheader;
            acheader.OrignPointX   = 32;
            acheader.OrignPointY   = 16;
            acheader.UnitMode      = 0x00;
            acheader.HourHandWidth = 0x02;
            acheader.HourHandLen   = 0x08;
            acheader.HourHandColor = 0x01;
            acheader.MinHandWidth  = 0x02;
            acheader.MinHandLen    = 0x0b;
            acheader.MinHandColor  = 0x01;
            acheader.SecHandWidth  = 0x02;
            acheader.SecHandLen    = 0x0d;
            acheader.SecHandColor  = 0x01;
            bxdualsdk.ClockColor_G56 ClockColor;
            ClockColor.Color369 = 0xff0000;
            ClockColor.ColorDot = 0xff0000;
            ClockColor.ColorBG  = 0xff0000;
            err = bxdualsdk.bxDual_program_timeAreaAddAnalogClock(0, ref acheader, bxdualsdk.E_ClockStyle.eCIRCLE, ref ClockColor);
            Console.WriteLine("bxDual_program_timeAreaAddAnalogClock:" + err);

            //第五步,发送节目到显示屏
            bxdualsdk.EQprogram program = new bxdualsdk.EQprogram();
            err = bxdualsdk.bxDual_program_IntegrateProgramFile(ref program);
            Console.WriteLine("bxDual_program_IntegrateProgramFile:" + err);
            err = bxdualsdk.bxDual_program_deleteProgram();
            Console.WriteLine("bxDual_program_deleteProgram:" + err);

            if (true)//网口
            {
                err = bxdualsdk.bxDual_cmd_ofsStartFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsEndFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsEndFileTransf:" + err);
            }
            else//串口
            {
                err = bxdualsdk.bxDual_cmd_uart_ofsStartFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsEndFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsEndFileTransf:" + err);
            }

            err = bxdualsdk.bxDual_program_freeBuffer(ref program);
            Console.WriteLine("bxDual_program_freeBuffer:" + err);
        }
示例#14
0
        /// <summary>
        /// BX-6代控制卡发送节目表盘
        /// </summary>
        public static void Send_program_clock_6()
        {
            //指定IP ping控制卡获取控制卡数据,屏参相关参数已知的情况可省略该步骤
            bxdualsdk.Ping_data data = new bxdualsdk.Ping_data();
            int err = bxdualsdk.bxDual_cmd_tcpPing(Program.ip, Program.port, ref data);

            //显示屏屏基色
            byte cmb_ping_Color = 1;

            if (data.Color == 1)
            {
                cmb_ping_Color = 1;
            }
            else if (data.Color == 3)
            {
                cmb_ping_Color = 2;
            }
            else if (data.Color == 7)
            {
                cmb_ping_Color = 3;
            }
            else
            {
                cmb_ping_Color = 4;
            }

            //第一步.设置屏幕参数相关  发送节目必要接口,发送动态区可忽略
            err = bxdualsdk.bxDual_program_setScreenParams_G56((bxdualsdk.E_ScreenColor_G56)cmb_ping_Color, data.ControllerType, bxdualsdk.E_DoubleColorPixel_G56.eDOUBLE_COLOR_PIXTYPE_1);
            Console.WriteLine("bxDual_program_setScreenParams_G56:" + err);

            //第二步,创建节目,设置节目属性
            bxdualsdk.EQprogramHeader_G6 header;
            header.FileType             = 0x00;
            header.ProgramID            = 0;
            header.ProgramStyle         = 0x00;
            header.ProgramPriority      = 0x00;
            header.ProgramPlayTimes     = 1;
            header.ProgramTimeSpan      = 0;
            header.SpecialFlag          = 0;
            header.CommExtendParaLen    = 0x00;
            header.ScheduNum            = 0;
            header.LoopValue            = 0;
            header.Intergrate           = 0x00;
            header.TimeAttributeNum     = 0x00;
            header.TimeAttribute0Offset = 0x0000;
            header.ProgramWeek          = 0xff;
            header.ProgramLifeSpan_sy   = 0xffff;
            header.ProgramLifeSpan_sm   = 0x03;
            header.ProgramLifeSpan_sd   = 0x14;
            header.ProgramLifeSpan_ey   = 0xffff;
            header.ProgramLifeSpan_em   = 0x03;
            header.ProgramLifeSpan_ed   = 0x14;
            header.PlayPeriodGrpNum     = 0;
            err = bxdualsdk.bxDual_program_addProgram_G6(ref header);
            Console.WriteLine("bxDual_program_addProgram_G6:" + err);

            //第三步,创建显示分区,设置区域显示位置,示例创建一个区域编号为0,区域大小64*32的时间分区
            bxdualsdk.EQareaHeader_G6 aheader;
            aheader.AreaType       = 2;
            aheader.AreaX          = 0;
            aheader.AreaY          = 0;
            aheader.AreaWidth      = 64;
            aheader.AreaHeight     = 32;
            aheader.BackGroundFlag = 0x00;
            aheader.Transparency   = 101;
            aheader.AreaEqual      = 0x00;
            bxdualsdk.EQSound_6G stSoundData = new bxdualsdk.EQSound_6G();
            stSoundData.SoundFlag            = 0;
            stSoundData.SoundVolum           = 0;
            stSoundData.SoundSpeed           = 0;
            stSoundData.SoundDataMode        = 0;
            stSoundData.SoundReplayTimes     = 0;
            stSoundData.SoundReplayDelay     = 0;
            stSoundData.SoundReservedParaLen = 0;
            stSoundData.Soundnumdeal         = 0;
            stSoundData.Soundlanguages       = 0;
            stSoundData.Soundwordstyle       = 0;
            stSoundData.SoundDataLen         = 0;
            byte[] t = new byte[1];
            t[0] = 0;
            stSoundData.SoundData = IntPtr.Zero;
            aheader.stSoundData   = stSoundData;
            err = bxdualsdk.bxDual_program_addArea_G6(0, ref aheader);
            Console.WriteLine("bxDual_program_addArea_G6:" + err);

            //第四步,添加表盘显示内容
            bxdualsdk.EQAnalogClockHeader_G56 acheader;
            acheader.OrignPointX   = 32;
            acheader.OrignPointY   = 16;
            acheader.UnitMode      = 0x00;
            acheader.HourHandWidth = 0x02;
            acheader.HourHandLen   = 0x08;
            acheader.HourHandColor = 0x01;
            acheader.MinHandWidth  = 0x02;
            acheader.MinHandLen    = 0x0b;
            acheader.MinHandColor  = 0x01;
            acheader.SecHandWidth  = 0x02;
            acheader.SecHandLen    = 0x0d;
            acheader.SecHandColor  = 0x01;
            bxdualsdk.ClockColor_G56 ClockColor;
            ClockColor.Color369 = 0xff0000;
            ClockColor.ColorDot = 0xff0000;
            ClockColor.ColorBG  = 0xff0000;
            err = bxdualsdk.bxDual_program_timeAreaAddAnalogClock_G6(0, ref acheader, bxdualsdk.E_ClockStyle.eCIRCLE, ref ClockColor);
            Console.WriteLine("bxDual_program_timeAreaAddAnalogClock_G6:" + err);
            byte[] img = Encoding.Default.GetBytes("time.png");
            //添加表盘图片
            //err = bxdualsdk.bxDual_program_timeAreaChangeDialPic_G6(areaID, img);
            //删除表盘图片
            //err = bxdualsdk.bxDual_program_timeAreaRemoveDialPic_G6(areaID);
            //修改表盘样式
            //err = bxdualsdk.bxDual_program_timeAreaChangeAnalogClock_G6(areaID, ref acheader, bxdualsdk.E_ClockStyle.eCIRCLE, ref ClockColor);

            //第五步,发送节目到显示屏
            bxdualsdk.EQprogram_G6 program = new bxdualsdk.EQprogram_G6();
            err = bxdualsdk.bxDual_program_IntegrateProgramFile_G6(ref program);
            Console.WriteLine("bxDual_program_IntegrateProgramFile_G6:" + err);
            err = bxdualsdk.bxDual_program_deleteProgram_G6();
            Console.WriteLine("bxDual_program_deleteProgram_G6:" + err);

            if (true)//网口
            {
                err = bxdualsdk.bxDual_cmd_ofsStartFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.dfileName, program.dfileType, program.dfileLen, 1, program.dfileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsWriteFile(Program.ip, Program.port, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_ofsEndFileTransf(Program.ip, Program.port);
                Console.WriteLine("bxDual_cmd_ofsEndFileTransf:" + err);
            }
            else//串口
            {
                err = bxdualsdk.bxDual_cmd_uart_ofsStartFileTransf(Program.com, Program.baudRate);
                Console.WriteLine("bxDual_cmd_uart_ofsStartFileTransf:" + err);

                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.dfileName, program.dfileType, program.dfileLen, 1, program.dfileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsWriteFile(Program.com, Program.baudRate, program.fileName, program.fileType, program.fileLen, 1, program.fileAddre);
                Console.WriteLine("bxDual_cmd_uart_ofsWriteFile:" + err);
                err = bxdualsdk.bxDual_cmd_uart_ofsEndFileTransf(Program.com, Program.baudRate);
            }

            err = bxdualsdk.bxDual_program_freeBuffer_G6(ref program);
            Console.WriteLine("bxDual_program_freeBuffer_G6:" + err);
        }