summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Reichel <sre@ring0.de>2012-07-21 10:20:55 +0200
committerSebastian Reichel <sre@ring0.de>2012-07-21 10:20:55 +0200
commit7837a4a6f86b05c6255eb16fa477e84762b398e6 (patch)
treedaf2f09b82a7761cf4acf5299494b80cadd4e8bc
parent22d3079153be6d674033a483ca81422426a13a85 (diff)
downloadmicrocopterd-7837a4a6f86b05c6255eb16fa477e84762b398e6.tar.bz2
new remote control: socket server
-rw-r--r--microcopter.cfg5
-rw-r--r--receiver.vala4
-rw-r--r--receiver/Makefile10
-rw-r--r--receiver/PS3Pad.vala38
4 files changed, 11 insertions, 46 deletions
diff --git a/microcopter.cfg b/microcopter.cfg
index c099be2..373c44a 100644
--- a/microcopter.cfg
+++ b/microcopter.cfg
@@ -1,6 +1,6 @@
[config]
model = Hexacopter
-receiver = PS3Pad
+receiver = Socket
motorcontroller = AtmostripeMotorController
gyroscope = ITG3200
accelerometer = ADXL345
@@ -29,3 +29,6 @@ i2c-address = 119
[AtmostripeMotorController]
device = /dev/ttyAMA0
+
+[Socket]
+port = 2342
diff --git a/receiver.vala b/receiver.vala
index 48feeeb..7ea5c9f 100644
--- a/receiver.vala
+++ b/receiver.vala
@@ -16,6 +16,6 @@
public abstract class Receiver : Object {
public abstract uint8 size { get; }
public abstract void init(KeyFile cfg) throws Error;
- public abstract double get_value(uint8 channel) throws Error;
- public abstract void set_value(uint8 channel, double value) throws Error;
+ public abstract int32 get_value(uint8 channel) throws Error;
+ public abstract void set_value(uint8 channel, int32 value) throws Error;
}
diff --git a/receiver/Makefile b/receiver/Makefile
index 96d1bb8..fdc2a8c 100644
--- a/receiver/Makefile
+++ b/receiver/Makefile
@@ -1,14 +1,14 @@
include ../config.mk
-all: PS3Pad.so
+all: Socket.so
clean:
rm -f *.c *.so
-PS3Pad.c: PS3Pad.vala
- $(VALAC) --pkg gmodule-2.0 --pkg posix --pkg linux -C $< ../receiver.vala
+socket.c: socket.vala msg-format.vala
+ $(VALAC) --pkg gmodule-2.0 --pkg gio-2.0 --pkg posix --pkg linux -C $^ ../receiver.vala
-PS3Pad.so: PS3Pad.c
- $(CC) -shared -fPIC `pkg-config --cflags --libs glib-2.0 gobject-2.0 gmodule-2.0` -o $@ $<
+Socket.so: socket.c msg-format.c
+ $(CC) -shared -fPIC `pkg-config --cflags --libs glib-2.0 gobject-2.0 gmodule-2.0` -o $@ $^
.PHONY: all clean
diff --git a/receiver/PS3Pad.vala b/receiver/PS3Pad.vala
deleted file mode 100644
index 0ceb98d..0000000
--- a/receiver/PS3Pad.vala
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2012, Sebastian Reichel <sre@ring0.de>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-public class PS3Pad : Receiver {
- public override uint8 size {
- get { return 0; }
- }
-
- public override void init(KeyFile cfg) throws KeyFileError {
- /* TODO */
- }
-
- public override double get_value(uint8 channel) {
- /* TODO */
- return 0;
- }
-
- public override void set_value(uint8 channel, double value) {
- /* TODO */
- }
-}
-
-public Type register_plugin (Module module) {
- // types are registered automatically
- return typeof(PS3Pad);
-}