zsh_root
2024-01-02 7b595546af704983dbafcd0d385c8768ddacefc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
package LedShow;
import java.util.Timer;
import java.util.TimerTask;
 
import PbuliClass.Leds;
import onbon.bx06.Bx6GEnv;
import onbon.bx06.Bx6GException;
import onbon.bx06.Bx6GScreen;
import onbon.bx06.Bx6GScreenClient;
import onbon.bx06.area.DynamicBxArea;
import onbon.bx06.area.page.ImageFileBxPage;
import onbon.bx06.cmd.dyn.DynamicBxAreaRule;
import onbon.bx06.file.BxFileWriterListener;
import onbon.bx06.file.ProgramBxFile;
import onbon.bx06.series.Bx6E;
import onbon.bx06.utils.DisplayStyleFactory;
import onbon.bx06.utils.DisplayStyleFactory.DisplayStyle;
import tbDataModel.Tb_led;
 
public class LedCase implements BxFileWriterListener<Bx6GScreen>{
    private static String ip = Leds.get_tb_led().getIp();
    private static int port =Integer.parseInt(Leds.get_tb_led().getPort());
    static Bx6GScreenClient screen=null;
    static ProgramBxFile pf=null;
    
    //±í¸ñµÄ³¤¶È
    static int w=Integer.parseInt(Leds.get_tb_led().getLed_w()); 
    //±í¸ñµÄ¿í¶È
    static int h=Integer.parseInt(Leds.get_tb_led().getLed_h());
 
    static Tb_led led=Leds.get_tb_led();
    
    
 
 
    /**³õʼ»¯*/
    /**LED³õʼ»¯
     * @throws Exception */
    public static void  chushihua() throws Exception {
        // ³õʼ»¯API£¬´Ë²Ù×÷Ö»ÔÚ³ÌÐòÆô¶¯Ê±ºòÖ´ÐÐÒ»´Î¼´¿É£¬¶à´ÎÖ´Ðлá³öÏÖÄÚ´æ´íÎó
            Bx6GEnv.initial();
            screen= new Bx6GScreenClient("MyScreen",new Bx6E());
            System.out.println("ledͶÆÁ³õʼ»¯³É¹¦£¡");
    }
 
 
    /**ÆÁÄ»Á¬½ÓµÄ·½·¨*/        
    public static void lianjie_screen() {
        try {
            if (!screen.connect(ip, port)) {
//                ShowMessage.zidingyi("Á¬½ÓLEDÆÁĻʧ°Ü£¡");
                return;
            }
        } catch (Exception e) {
            // TODO ×Ô¶¯Éú³ÉµÄ catch ¿é
        }
    }
 
 
    /**ÆÁÄ»¿ª¹Ø¿ØÖÆ*/
    public static void open_screen() {
 
        lianjie_screen();//Á¬½ÓÆÁÄ»
        if(Leds.get_tb_led().getOpen().equals("1")) {
            screen.turnOn(); //  ¿ª»ú    
            // ¼Ì¿ªÓë¿ØÖÆÆ÷Ö®¼äµÄÁ´½Ó
            screen.disconnect();
        }else {
            screen.turnOff(); //  ¹Ø»ú
            // ¼Ì¿ªÓë¿ØÖÆÆ÷Ö®¼äµÄÁ´½Ó
            screen.disconnect();
        }
 
    }
 
 
    /**µ÷ÕûÆÁÄ»ÁÁ¶È*/
    public static void screen_light() {        
        lianjie_screen();//Á¬½ÓÆÁÄ»
        int liangdu=Integer.parseInt(Leds.get_tb_led().getLight());
        screen.manualBrightness((byte)liangdu); //  ½«ÆÁÄ»ÁÁ¶Èµ÷ÕûÖÁ 8
        // ¼Ì¿ªÓë¿ØÖÆÆ÷Ö®¼äµÄÁ´½Ó
        screen.disconnect();
    }
 
    /**ʱ¼äУ׼*/
    public static void time_jiaozhun() {
        lianjie_screen();//Á¬½ÓÆÁÄ»
        screen.syncTime();
        // ¼Ì¿ªÓë¿ØÖÆÆ÷Ö®¼äµÄÁ´½Ó
        screen.disconnect();
    }
 
 
    /**´´½¨Ò»¸ö¶¨Ê±Æ÷ÓÃÓÚ¶¯Ì¬¸üж¯Ì¬ÇøÓò*/
    public static void ding_shi_qi() {
        int time=Integer.parseInt(Leds.get_tb_led().getGengxintime());
        Integer cacheTime = 1000 *time;//´¥·¢Æ÷ʱ¼ä
        Timer timer = new Timer(); 
        // (TimerTask task, long delay, long period)ÈÎÎñ£¬ÑÓ³Ùʱ¼ä£¬¶à¾ÃÖ´ÐР 
        timer.schedule(new TimerTask() { 
            @Override  
            public void run() {  
                try {
                    LEDPreview.chushi();
                    dongtai_jiemu();//¶¯Ì¬½ÚÄ¿
                } catch (Exception e) {
                    // TODO ×Ô¶¯Éú³ÉµÄ catch ¿é
                    e.printStackTrace();
                }  
            }  
        }, 1000, cacheTime);  
 
    }
 
 
 
    /**¶¯Ì¬Çø½ÚÄ¿@throws Exception */
    @SuppressWarnings("unused")
    public static void dongtai_jiemu() throws Exception {
 
        lianjie_screen();//Á¬½ÓÆÁÄ»
        int style=4;
        int StayTime=Integer.parseInt(Leds.get_tb_led().getTayTime())*100;
 
        DisplayStyle[] styles = DisplayStyleFactory.getStyles().toArray(new DisplayStyle[0]);
        
        // ÒÔÏÂÊǶ¯Ì¬Çø²¿·Ö Demo
        // ¶¯Ì¬ÇøµÄÌØµãÊÇ
        //ÔËÐÐģʽ£º
        //0£ºÑ­»·ÏÔʾ¡£
        //1£ºÏÔʾÍê³Éºó¾²Ö¹ÏÔʾ×îºóÒ»Ò³Êý¾Ý¡£
        //2£ºÑ­»·ÏÔʾ£¬³¬¹ýÉ趨ʱ¼äºóÊý¾ÝÈÔδ¸üÐÂʱ²»ÔÙÏÔʾ¡£
        //3£ºÑ­»·ÏÔʾ£¬³¬¹ýÉ趨ʱ¼äºóÊý¾ÝÈÔδ¸üÐÂʱÏÔʾ LogoÐÅÏ¢¡£
        //4£ºÑ­»·ÏÔʾ£¬ÏÔʾÍê×îºóÒ»Ò³ºó¾Í²»ÔÙÏÔʾ¡£
 
        //ÊÇ·ñÁ¢¼´²¥·Å£º
        //0£ºÓëÒì²½½ÚĿһÆð²¥·Å¡£
        //1£ºÒì²½½ÚĿֹͣ²¥·Å£¬½ö²¥·Å¶¯Ì¬ÇøÓò¡£
        //2£ºµ±²¥·ÅÍê½ÚÄ¿±àºÅ×î¸ßµÄÒì²½½ÚÄ¿ºó²¥·Å¸Ã¶¯Ì¬ÇøÓò¡£
 
        DynamicBxAreaRule dtq = new DynamicBxAreaRule();// ¶¨ÒåÒ»¸ö¶¯Ì¬Çø£¬¿ÉÒÔͨ¹ýIDÀ´¸üв»Í¬µÄ¶¯Ì¬ÇøÄÚÈÝ, ´Ë´¦ ID Îª0
 
        dtq.setId(0);// É趨¶¯Ì¬ÇøID £¬´Ë´¦IDΪ0 £¬¶à¸ö¶¯Ì¬ÇøID²»ÄÜÏàͬ
 
        // immediatePlay ¨C  ±íʾÀàÈݸüкó¶¯Ì¬Çø²¥·Å·½Ê½
        // 0:ÓëÒì²½½ÚĿһÆð²¥·Å
        // 1:Òì²½½ÚÄ¿ Í£Ö¹²¥·Å£¬½ö²¥·Å¶¯Ì¬Çø
        // 2:µ±²¥·ÅÍê½ÚÄ¿±àºÅ×ø¸ßµÄÒì²½½ÚÄ¿ºó²¥·Å¸Ã¶¯Ì¬Çø
        dtq.setImmediatePlay((byte)0);
 
        //RunMode ¨C  ±íʾ¶¯Ì¬ÇøµÄÔËÐÐģʽ
        // 0:Ñ­»·ÏÔʾ
        // 1:ÏÔʾÍê³Éºó¾²Ö¹ÏÔʾ×îºóÒ»Ò³Êý¾Ý
        //2:Ñ­»·ÏÔʾ£¬³¬¹ýÉ趨ʱ¼äºóÊý¾ÝÈÔδ¸üÐÂʱ²»ÔÙÏÔʾ
        //3:Ñ­»·ÏÔʾ£¬³¬¹ýÉ趨ʱ¼äºóÊý¾ÝÈÔδ¸üÐÂʱÏÔʾLogoÐÅÏ¢
        //4:Ñ­»·ÏÔʾ£¬ÏÔʾÍê³É×îºóÒ»Ò³ºó¾Í²»ÔÙÏÔʾ
        dtq.setRunMode((byte)0);
        DynamicBxArea area = new DynamicBxArea(0,0,w,h, screen.getProfile());
        ImageFileBxPage iPage = new ImageFileBxPage( "image/mapfile/led.png" );
        area.addPage(iPage);
        screen.writeDynamic(dtq, area);        
        // ¼Ì¿ªÓë¿ØÖÆÆ÷Ö®¼äµÄÁ´½Ó
        screen.disconnect();
 
    }
 
 
 
 
 
 
    @Override
    public void cancel(Bx6GScreen arg0, String arg1, Bx6GException arg2) {
        // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù
    }
 
    @Override
    public void done(Bx6GScreen arg0) {
        // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù
    }
 
    @Override
    public void fileFinish(Bx6GScreen arg0, String arg1, int arg2) {
        // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù
    }
 
 
    @Override
    public void fileWriting(Bx6GScreen arg0, String arg1, int arg2) {
        // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù
    }
 
    @Override
    public void progressChanged(Bx6GScreen arg0, String arg1, int arg2, int arg3) {
        // TODO ×Ô¶¯Éú³ÉµÄ·½·¨´æ¸ù
    }
 
 
    public static int getTitlefont() {
        int titlefont=14;
        return titlefont;
    }
 
 
    public static int getTitle2() {
        int title2=14;
        return title2;
    }
 
 
    public static int getNeirongfont() {
        int neirongfont=14;
        return neirongfont;
    }
}