http://www.linuxha.com/bottlerocket/
Following the 3rd-party app integration guide; configure, make, make install. This puts it in your local machines /usr/local/bin. You then have to upload the program 'br' to your Synology in the same directory.
Set your cross-compiling environment variables to point to the toolchain you installed in /usr/local:
root@xubuntu-vm:/usr/local/bottlerocket-0.04c# export CC=/usr/local/powerpc-linux/bin/powerpc-linux-gcc root@xubuntu-vm:/usr/local/bottlerocket-0.04c# export LD=/usr/local/powerpc-linux/bin/powerpc-linux-ld root@xubuntu-vm:/usr/local/bottlerocket-0.04c# export RANLIB=/usr/local/powerpc-linux/bin/powerpc-linux-ranlib root@xubuntu-vm:/usr/local/bottlerocket-0.04c# export CFLAGS="-I/usr/local/powerpc-linux/include" root@xubuntu-vm:/usr/local/bottlerocket-0.04c# export LDFLAGS="-L/usr/local/powerpc-linux/lib"
Run the configure that came with the code giving it a few extra parameters as specified in the guide:
root@xubuntu-vm:/usr/local/bottlerocket-0.04c# ./configure \ > --host=powerpc-unknown-linux \ > --target=powerpc-unknown-linux \ > --build=i686-pc-linux \ > --prefix=/usr/local creating cache ./config.cache checking for gcc... /usr/local/powerpc-linux/bin/powerpc-linux-gcc checking whether the C compiler (/usr/local/powerpc-linux/bin/powerpc-linux-gcc -I/usr/local/powerpc-linux/include -L/usr/local/powerpc-linux/lib) works... yes checking whether the C compiler (/usr/local/powerpc-linux/bin/powerpc-linux-gcc -I/usr/local/powerpc-linux/include -L/usr/local/powerpc-linux/lib) is a cross-compiler... yes checking whether we are using GNU C... yes checking whether /usr/local/powerpc-linux/bin/powerpc-linux-gcc accepts -g... yes checking how to run the C preprocessor... /usr/local/powerpc-linux/bin/powerpc-linux-gcc -E checking for a BSD compatible install... /usr/bin/install -c checking for features.h... yes checking for errno.h... yes checking for sys/termios.h... yes checking for termios.h... yes guessing x10 port using /dev/ttyS0 for x10 port updating cache ./config.cache creating ./config.status creating Makefile creating config.h
Run make:
root@xubuntu-vm:/usr/local/bottlerocket-0.04c# make /usr/local/powerpc-linux/bin/powerpc-linux-gcc -I/usr/local/powerpc-linux/include -I. -Wall -O2 -DX10_PORTNAME=\"/dev/ttyS0\" -DHAVE_CONFIG_H -c ./br_cmd.c /usr/local/powerpc-linux/bin/powerpc-linux-gcc -I/usr/local/powerpc-linux/include -I. -Wall -O2 -DX10_PORTNAME=\"/dev/ttyS0\" -DHAVE_CONFIG_H -c ./br.c /usr/local/powerpc-linux/bin/powerpc-linux-gcc -I/usr/local/powerpc-linux/include -I. -Wall -O2 -DX10_PORTNAME=\"/dev/ttyS0\" -DHAVE_CONFIG_H -o br br.o br_cmd.o
Run 'make install' which installs it in /usr/local/bin on your local machine:
root@xubuntu-vm:/usr/local/bottlerocket-0.04c# make install /usr/bin/install -c -d -m 755 /usr/local/bin /usr/bin/install -c -m 555 br /usr/local/bin
Now copy the file /usr/local/bin/br to your synology in the same directory.
Once that is running, you issue commands as such:
DiskStation> cd /usr/local/bin/ DiskStation> ./br BottleRocket version 0.04c Usage: ./br [][ ( )
...] Options: -v, --verbose add v's to increase verbosity -x, --port=PORT set port to use -c, --house=[A-P] use alternate house code (default "A") -n, --on=LIST turn on devices in LIST -f, --off=LIST turn off devices in LIST -N, --ON turn on all devices in housecode -F, --OFF turn off all devices in housecode -d, --dim=LEVEL[,LIST] dim devices in housecode to relative LEVEL -B, --lamps_on turn all lamps in housecode on -D, --lamps_off turn all lamps in housecode off -r, --repeat=NUM repeat commands NUM times (0 = ~ forever) -h, --help this help is a comma separated list of devices (no spaces), each ranging from 1 to 16
is an integer from -12 to 12 (0 means no change) is a letter between A and P is one of ON, OFF, DIM, BRIGHT, ALL_ON, ALL_OFF, LAMPS_ON or LAMPS_OFF For native commands, should only be specified for ON or OFF. DiskStation> ./br -x /dev/ttyUSB0 -v M3 OFF ./br: Turning off appliance M3 DiskStation> ./br -x /dev/ttyUSB0 -v M3 ON ./br: Turning on appliance M3 DiskStation> ./br -x /dev/ttyUSB0 -v M3 OFF ./br: Turning off appliance M3 DiskStation> ./br -x /dev/ttyUSB0 -v C1 ON ./br: Turning on appliance C1 DiskStation> ./br -x /dev/ttyUSB0 -v C1 OFF ./br: Turning off appliance C1 DiskStation> ./br -x /dev/ttyUSB0 -v C1 ON ./br: Turning on appliance C1 DiskStation> ./br -x /dev/ttyUSB0 -v C3 ON ./br: Turning on appliance C3 DiskStation> ./br -x /dev/ttyUSB0 -v C3 OFF ./br: Turning off appliance C3 DiskStation> ./br -x /dev/ttyUSB0 -v C3 ON ./br: Turning on appliance C3 DiskStation> ./br -x /dev/ttyUSB0 -v C1 OFF ./br: Turning off appliance C1 DiskStation> ./br -x /dev/ttyUSB0 -v C3 OFF ./br: Turning off appliance C3 DiskStation> ./br -x /dev/ttyUSB0 -v C LAMPS_ON DiskStation> ./br -x /dev/ttyUSB0 -v C LAMPS_OFF DiskStation> ./br -x /dev/ttyUSB0 -v C1 ON ./br: Turning on appliance C1 DiskStation> ./br -x /dev/ttyUSB0 -v -d25 C1 ./br: For dimming either specify just a dim level or a comma separated list containing the dim level and the devices to dim. ./br: Valid dimlevels are numbers between -12 and 12. DiskStation> ./br -x /dev/ttyUSB0 -v -d6 C1 BottleRocket version 0.04c Usage: ./br [
][ ( )
...] Options: -v, --verbose add v's to increase verbosity -x, --port=PORT set port to use -c, --house=[A-P] use alternate house code (default "A") -n, --on=LIST turn on devices in LIST -f, --off=LIST turn off devices in LIST -N, --ON turn on all devices in housecode -F, --OFF turn off all devices in housecode -d, --dim=LEVEL[,LIST] dim devices in housecode to relative LEVEL -B, --lamps_on turn all lamps in housecode on -D, --lamps_off turn all lamps in housecode off -r, --repeat=NUM repeat commands NUM times (0 = ~ forever) -h, --help this help is a comma separated list of devices (no spaces), each ranging from 1 to 16
is an integer from -12 to 12 (0 means no change) is a letter between A and P is one of ON, OFF, DIM, BRIGHT, ALL_ON, ALL_OFF, LAMPS_ON or LAMPS_OFF For native commands, should only be specified for ON or OFF. DiskStation> ./br -x /dev/ttyUSB0 -v -cC -d6,1 ./br: Brightening lamp C1 by 6. DiskStation> ./br -x /dev/ttyUSB0 -v -cC -d-6,1 ./br: Dimming lamp C1 by 6. DiskStation> ./br -x /dev/ttyUSB0 -v -cC -d6,3 ./br: Brightening lamp C3 by 6. DiskStation> ./br -x /dev/ttyUSB0 -v -cC -d-3,3 ./br: Dimming lamp C3 by 3. DiskStation> ./br -x /dev/ttyUSB0 -v -cC -d-3,3 ./br: Dimming lamp C3 by 3. DiskStation> ./br -x /dev/ttyUSB0 -v -cC -d-3,2 ./br: Dimming lamp C2 by 3. DiskStation> ./br -x /dev/ttyUSB0 -v -cC -d3,2 ./br: Brightening lamp C2 by 3. DiskStation> ./br -x /dev/ttyUSB0 -v C LAMPS_OFF
No comments:
Post a Comment