Skip to content
Snippets Groups Projects
Commit c222f77c authored by Sven Robertz's avatar Sven Robertz
Browse files

added var array

parent 4143e65f
No related merge requests found
...@@ -5,7 +5,7 @@ import java.io.InputStream; ...@@ -5,7 +5,7 @@ import java.io.InputStream;
import se.lth.control.labcomm.LabCommDecoderChannel; import se.lth.control.labcomm.LabCommDecoderChannel;
public class Decoder public class Decoder
implements TwoInts.Handler, IntString.Handler implements TwoInts.Handler, IntString.Handler, TwoArrays.Handler
{ {
LabCommDecoderChannel decoder; LabCommDecoderChannel decoder;
...@@ -16,6 +16,7 @@ public class Decoder ...@@ -16,6 +16,7 @@ public class Decoder
decoder = new LabCommDecoderChannel(in); decoder = new LabCommDecoderChannel(in);
TwoInts.register(decoder, this); TwoInts.register(decoder, this);
IntString.register(decoder, this); IntString.register(decoder, this);
TwoArrays.register(decoder, this);
try { try {
System.out.println("Running decoder."); System.out.println("Running decoder.");
...@@ -33,6 +34,18 @@ public class Decoder ...@@ -33,6 +34,18 @@ public class Decoder
System.out.println("Got IntString, x="+d.x+", s="+d.s); System.out.println("Got IntString, x="+d.x+", s="+d.s);
} }
public void handle_TwoArrays(TwoArrays d) throws java.io.IOException {
System.out.println("Got TwoArrays:");
for(int i=0; i<d.fixed.length; i++) {
System.out.print(d.fixed[i]+" ");
}
System.out.println();
for(int i=0; i<d.variable[0].length; i++) {
System.out.print(d.variable[0][i]+" ");
System.out.print(d.variable[1][i]+" ");
}
System.out.println();
}
public static void main(String[] arg) throws Exception { public static void main(String[] arg) throws Exception {
Decoder example = new Decoder( Decoder example = new Decoder(
......
...@@ -28,19 +28,25 @@ int main(int argc, char *argv[]) { ...@@ -28,19 +28,25 @@ int main(int argc, char *argv[]) {
printf("Encoding TwoInts, a=%d, b=%d\n", ti.a, ti.b); printf("Encoding TwoInts, a=%d, b=%d\n", ti.a, ti.b);
labcomm_encode_simple_TwoInts(encoder, &ti); labcomm_encode_simple_TwoInts(encoder, &ti);
int foo[10]; int foo[20];
simple_TwoArrays ta; simple_TwoArrays ta;
ta.fixed.a[0] = 17; ta.fixed.a[0] = 17;
ta.fixed.a[1] = 42; ta.fixed.a[1] = 42;
ta.variable.n_0 = 10; ta.variable.n_1 = 10;
ta.variable.a = foo; ta.variable.a = foo;
int k;
for(k=0; k<20; k++) {
foo[k] = k;
}
labcomm_encode_simple_TwoArrays(encoder, &ta);
ti.a = 23; ti.a = 23;
ti.b = 47; ti.b = 47;
printf("Encoding TwoInts, a=%d, b=%d\n", ti.a, ti.b); printf("Encoding TwoInts, a=%d, b=%d\n", ti.a, ti.b);
labcomm_encode_simple_TwoInts(encoder, &ti); labcomm_encode_simple_TwoInts(encoder, &ti);
labcomm_encode_simple_TwoArrays(encoder, &ta);
} }
...@@ -15,5 +15,5 @@ sample struct { ...@@ -15,5 +15,5 @@ sample struct {
sample struct { sample struct {
int fixed[2]; int fixed[2];
int variable[_]; int variable[2,_];
} TwoArrays; } TwoArrays;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment