From 8a08b9dce9cfc161494ddb07a1c979c7796780ff Mon Sep 17 00:00:00 2001 From: Sebastian Reichel Date: Fri, 15 Jun 2012 22:56:00 +0200 Subject: restructure code it is now loading its components from plugins --- actuators/blinkm.vala | 6 +++--- actuators/motor-controller.vala | 6 +++++- actuators/motor/Makefile | 14 ++++++++++++++ actuators/motor/atmostripe.vala | 19 ++++++++++++++++++- 4 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 actuators/motor/Makefile (limited to 'actuators') diff --git a/actuators/blinkm.vala b/actuators/blinkm.vala index be98260..8068666 100644 --- a/actuators/blinkm.vala +++ b/actuators/blinkm.vala @@ -47,7 +47,7 @@ public class BlinkM : I2CDevice { } public BlinkM(uint8 dev, uint8 addr = 0x09) throws I2CError { - base(dev, addr); + setup(dev, addr); } public void get_firmware_version(out char major, out char minor) throws I2CError { @@ -81,14 +81,14 @@ public class BlinkM : I2CDevice { write_byte(start); } - public void set(uint8 red, uint8 green, uint8 blue) throws I2CError { + public void set_color(uint8 red, uint8 green, uint8 blue) throws I2CError { write_byte('n'); write_byte(red); write_byte(green); write_byte(blue); } - public void get(out uint8 red, out uint8 green, out uint8 blue) throws I2CError { + public void get_color(out uint8 red, out uint8 green, out uint8 blue) throws I2CError { write_byte('g'); red = read_byte(); green = read_byte(); diff --git a/actuators/motor-controller.vala b/actuators/motor-controller.vala index fb596dd..d348e53 100644 --- a/actuators/motor-controller.vala +++ b/actuators/motor-controller.vala @@ -14,6 +14,10 @@ */ public interface MotorController : Device { - public abstract void set(uint8 m, uint8 v); + public abstract uint8 min { get ; } + public abstract uint8 max { get ; } + + public abstract void init(KeyFile cfg) throws Error; + public abstract void set_single(uint8 m, uint8 v); public abstract void set_all(uint8 v); } diff --git a/actuators/motor/Makefile b/actuators/motor/Makefile new file mode 100644 index 0000000..bd35015 --- /dev/null +++ b/actuators/motor/Makefile @@ -0,0 +1,14 @@ +include ../../config.mk + +all: AtmostripeMotorController.so + +clean: + rm -f *.c *.so + +atmostripe.c: atmostripe.vala + $(VALAC) --pkg gmodule-2.0 --pkg posix --pkg linux -C $< ../motor-controller.vala ../../hw/serial-device.vala ../../hw/device.vala + +AtmostripeMotorController.so: atmostripe.c + $(CC) -shared -fPIC `pkg-config --cflags --libs glib-2.0 gobject-2.0 gmodule-2.0` -o $@ $< + +.PHONY: all clean diff --git a/actuators/motor/atmostripe.vala b/actuators/motor/atmostripe.vala index 0cc4eef..ad996e7 100644 --- a/actuators/motor/atmostripe.vala +++ b/actuators/motor/atmostripe.vala @@ -14,7 +14,19 @@ */ public class AtmostripeMotorController : SerialDevice, MotorController { - public void set(uint8 m, uint8 v) { + public uint8 min { + get { return 0; } + } + + public uint8 max { + get { return 255; } + } + + public void init(KeyFile cfg) throws Error { + /* */ + } + + public void set_single(uint8 m, uint8 v) { /* */ } @@ -22,3 +34,8 @@ public class AtmostripeMotorController : SerialDevice, MotorController { /* */ } } + +public Type register_plugin (Module module) { + // types are registered automatically + return typeof(AtmostripeMotorController); +} -- cgit v1.2.3