Esempio n. 1
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);
        }
Esempio n. 2
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);
        }
Esempio n. 3
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);
        }
Esempio n. 4
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());
        }
Esempio n. 5
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);
        }