Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Anders Blomdell
LabComm
Commits
e70c1e31
Commit
e70c1e31
authored
Dec 09, 2014
by
Anders Blomdell
Browse files
Fixed wiki_example
parent
4d657ef3
Changes
5
Hide whitespace changes
Inline
Side-by-side
examples/Makefile
View file @
e70c1e31
...
@@ -11,6 +11,7 @@ all:
...
@@ -11,6 +11,7 @@ all:
test
:
test
:
echo
More to be
done
...
echo
More to be
done
...
cd
simple
;
sh compile.sh
&&
sh run.sh
cd
simple
;
sh compile.sh
&&
sh run.sh
$(MAKE)
-C
wiki_example
test
$(MAKE)
-C
duck_typing
test
$(MAKE)
-C
duck_typing
test
$(MAKE)
-C
twoway
test
$(MAKE)
-C
twoway
test
...
...
examples/wiki_example/Makefile
View file @
e70c1e31
GENERATED
=
\
data.java
\
example.c
\
example.cs
\
example.encoded
\
example.h
\
example.javaencoded
\
example.py
\
example_encoder
\
log_message.java
all
:
all
:
test
:
./run
clean
:
clean
:
rm
-f
$(GENERATED)
*
.class
distclean
:
distclean
:
clean
examples/wiki_example/data.java
deleted
100644 → 0
View file @
4d657ef3
/*
sample float data;
*/
import
java.io.IOException
;
import
se.lth.control.labcomm.Decoder
;
import
se.lth.control.labcomm.Dispatcher
;
import
se.lth.control.labcomm.Encoder
;
import
se.lth.control.labcomm.Handler
;
import
se.lth.control.labcomm.Sample
;
public
class
data
implements
Sample
{
public
interface
Handler
extends
Handler
{
public
void
handle_data
(
float
value
)
throws
Exception
;
}
public
static
void
register
(
Decoder
d
,
Handler
h
)
throws
IOException
{
d
.
register
(
new
Dispatcher
(),
h
);
}
public
static
void
register
(
Encoder
e
)
throws
IOException
{
e
.
register
(
new
Dispatcher
());
}
private
static
class
Dispatcher
implements
Dispatcher
{
public
Class
getSampleClass
()
{
return
data
.
class
;
}
public
String
getName
()
{
return
"data"
;
}
public
byte
[]
getSignature
()
{
return
signature
;
}
public
void
decodeAndHandle
(
Decoder
d
,
Handler
h
)
throws
Exception
{
((
Handler
)
h
).
handle_data
(
data
.
decode
(
d
));
}
}
public
static
void
encode
(
Encoder
e
,
float
value
)
throws
IOException
{
e
.
begin
(
data
.
class
);
e
.
encodeFloat
(
value
);
e
.
end
(
data
.
class
);
}
public
static
float
decode
(
Decoder
d
)
throws
IOException
{
float
result
;
result
=
d
.
decodeFloat
();
return
result
;
}
private
static
byte
[]
signature
=
new
byte
[]
{
37
,
};
}
examples/wiki_example/example_encoder.c
View file @
e70c1e31
#include
<sys/types.h>
#include
<sys/types.h>
#include
<sys/stat.h>
#include
<sys/stat.h>
#include
<fcntl.h>
#include
<fcntl.h>
#include
<labcomm.h>
#include
<labcomm_default_memory.h>
#include
<labcomm_fd_reader.h>
#include
<labcomm_fd_reader.h>
#include
<labcomm_fd_writer.h>
#include
<labcomm_fd_writer.h>
#include
"example.h"
#include
"example.h"
...
@@ -8,10 +10,13 @@
...
@@ -8,10 +10,13 @@
int
main
(
int
argc
,
char
*
argv
[])
{
int
main
(
int
argc
,
char
*
argv
[])
{
int
fd
;
int
fd
;
struct
labcomm_encoder
*
encoder
;
struct
labcomm_encoder
*
encoder
;
struct
labcomm_writer
*
labcomm_fd_writer
;
int
i
,
j
;
int
i
,
j
;
fd
=
open
(
"example.encoded"
,
O_WRONLY
|
O_CREAT
|
O_TRUNC
,
0644
);
fd
=
open
(
"example.encoded"
,
O_WRONLY
|
O_CREAT
|
O_TRUNC
,
0644
);
encoder
=
labcomm_encoder_new
(
labcomm_fd_writer
,
&
fd
,
NULL
,
NULL
);
labcomm_fd_writer
=
labcomm_fd_writer_new
(
labcomm_default_memory
,
fd
,
1
);
encoder
=
labcomm_encoder_new
(
labcomm_fd_writer
,
NULL
,
labcomm_default_memory
,
NULL
);
labcomm_encoder_register_example_log_message
(
encoder
);
labcomm_encoder_register_example_log_message
(
encoder
);
labcomm_encoder_register_example_data
(
encoder
);
labcomm_encoder_register_example_data
(
encoder
);
for
(
i
=
0
;
i
<
argc
;
i
++
)
{
for
(
i
=
0
;
i
<
argc
;
i
++
)
{
...
@@ -31,4 +36,5 @@ int main(int argc, char *argv[]) {
...
@@ -31,4 +36,5 @@ int main(int argc, char *argv[]) {
float
f
=
i
;
float
f
=
i
;
labcomm_encode_example_data
(
encoder
,
&
f
);
labcomm_encode_example_data
(
encoder
,
&
f
);
}
}
return
0
;
}
}
examples/wiki_example/run
View file @
e70c1e31
#!/bin/sh
#!/bin/sh
# Auto generate code from .lc file
# Auto generate code from .lc file
java
-jar
../../compiler/labcomm_compiler.jar
\
java
-jar
../../compiler/labcomm
2014
_compiler.jar
\
--c
=
example.c
--h
=
example.h
\
--c
=
example.c
--h
=
example.h
\
--java
=
.
\
--java
=
.
\
--cs
=
example.cs
\
--cs
=
example.cs
\
--python
=
example.py
\
--python
=
example.py
\
example.lc
example.lc
||
exit
1
# Compile executables
# Compile executables
(
cd
../../lib/c
;
make
liblabcomm.a
)
(
cd
../../lib/c
;
make
all
||
exit
1
)
gcc
-o
example_encoder
-I
../../lib/c/
\
gcc
-Wall
-Werror
-o
example_encoder
-I
../../lib/c/
2014
\
example_encoder.c
\
example_encoder.c
\
example.c
\
example.c
\
../../lib/c/liblabcomm
.a
../../lib/c/liblabcomm
2014.a
||
exit
1
javac
-cp
../../lib/java:.
*
.java
javac
-cp
../../lib/java:.
*
.java
||
exit
1
# Run through all executables (c->java->Python)
# Run through all executables (c->java->Python)
./example_encoder one two
./example_encoder one two
||
exit
1
java
-cp
../../lib/java:. example_decoder_encoder example.encoded example.javaencoded
java
-cp
../../lib/java:. example_decoder_encoder example.encoded example.javaencoded
||
exit
1
PYTHONPATH
=
../../lib/python ./example_decoder.py example.javaencoded
PYTHONPATH
=
../../lib/python ./example_decoder.py example.javaencoded
||
exit
1
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment