OpenCores
URL https://opencores.org/ocsvn/present/present/trunk

Subversion Repositories present

[/] [present/] [trunk/] [JavaTests/] [PresentCommTesting/] [src/] [pl/] [com/] [kgajewski/] [serialcomm/] [datagen/] [PresentDataGenerator.java] - Blame information for rev 3

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 gajos
package pl.com.kgajewski.serialcomm.datagen;
2
import java.io.BufferedWriter;
3
import java.io.File;
4
import java.io.FileWriter;
5
import java.io.IOException;
6
 
7
import org.apache.commons.lang3.StringUtils;
8
 
9
 
10
public class PresentDataGenerator {
11
        public static void main(String[] args) {
12
                String drive = "e:\\";
13
                String data = "a112ffc72f68417b";
14
                String key  = "00000000000000000000";
15
 
16
                String data2 = "3333dcd3213210d2";
17
                String key2  = "ffffffffffffffffffff";
18
 
19
                try {
20
                        System.out.println("key");
21
                        File f1 = new File(drive + "key.txt");
22
                        f1.createNewFile();
23
                        formatDataFromHex(key, f1);
24
 
25
                        System.out.println("data");
26
                        File f2 = new File(drive + "data.txt");
27
                        f1.createNewFile();
28
                        formatDataFromHex(data, f2);
29
 
30
                        System.out.println("key2");
31
                        File f3 = new File(drive + "key2.txt");
32
                        f3.createNewFile();
33
                        formatDataFromHex(key2, f3);
34
 
35
                        System.out.println("data2");
36
                        File f4 = new File(drive + "data2.txt");
37
                        f4.createNewFile();
38
                        formatDataFromHex(data2, f4);
39
 
40
                } catch (IOException e1) {
41
                        // TODO Auto-generated catch block
42
                        e1.printStackTrace();
43
                }
44
 
45
        }
46
 
47
        private static void formatDataFromHex(String str, File f) throws IOException {
48
                BufferedWriter bfw = new BufferedWriter(new FileWriter(f));
49
                for (int i = str.length(); i > 0; i -= 2) {
50
                        String substr = str.substring(i - 2, i);
51
 
52
                        parseByteStringHex(bfw, substr);
53
                }
54
                bfw.close();
55
        }
56
 
57
        private static void parseByteStringHex(BufferedWriter bfw, String str)
58
                        throws IOException {
59
                Integer i = Integer.valueOf(str, 16);
60
                String s = Integer.toString(i, 2);
61
                String tmp = "";
62
                for (int j = 8 - s.length(); j > 0; j--) {
63
                        tmp = tmp.concat("0");
64
                }
65
                parseByteString(bfw, tmp + s);
66
        }
67
 
68
        private static void parseByteString(BufferedWriter bfw, String str)
69
                        throws IOException {
70
                int ones = 0;
71
                bfw.write(str);
72
                bfw.write("\n");
73
                str = StringUtils.reverse(str);
74
 
75
                for (int j = 0; j < str.length(); j++) {
76
                        bfw.write(str.charAt(j));
77
                        bfw.write("\n");
78
                        if (str.charAt(j) == '1') {
79
                                ones++;
80
                        }
81
                }
82
                if (ones % 2 == 1) {
83
                        bfw.write("0");
84
                } else {
85
                        bfw.write("1");
86
                }
87
                bfw.write("\n");
88
        }
89
 
90
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.