[Galaxy Note 3 Android Development] Wootever:
The problem was caused by some "exotic" commands (awk, tr) that were not supported on the local busybox version, my xbin busybox executed them so i was not aware until i deleted it.

codes for synapse that i use:

initial setup code:

mount -t rootfs -o remount,rw rootfs
chmod -R 755 /res/synapse
/sbin/uci
mount -t rootfs -o remount,ro rootfs

uci:

#!/system/bin/sh

CONFIG_JSON=/res/synapse/config.json
ACTION_SCRIPTS=/res/synapse/actions/

if [ ! -f $CONFIG_JSON ]; then
source /res/synapse/config.json.generate > $CONFIG_JSON
fi

case "${1}" in
config)
cat $CONFIG_JSON;;
configpath)
echo $CONFIG_JSON;;
actionpath)
echo $ACTION_SCRIPTS;;
esac;

generate config:

#!/system/bin/sh

cat << CTAG
{
sections:[
`. /res/synapse/config.json.generate.screen`
`. /res/synapse/config.json.generate.cpu`
`. /res/synapse/config.json.generate.gpu`
`. /res/synapse/config.json.generate.storage`
`. /res/synapse/config.json.generate.thermal`
`. /res/synapse/config.json.generate.led`
]
}
CTAG

scheduler action script:

if [ -f $1 ]
then
if [ ! -z $2 ]
then
echo $2 > $1
fi
echo $(cat $1 | busybox awk 'NR>1{print $1}' RS=[ FS=])
fi

About synapse itself:

the inital setup is probably the biggest drawback for a simple kernel integration, the elements and functions are well documented on your wiki page.

The possibility to use local shell scripts to execute commands is pretty handy and allows great versatility.

some ideas:

- "live feed" pane to see current frequencies/temperatures

- disable/enable set on boot for specific sections

- profiles to save/restore settings sectionwide/complete (probably realizable with shell scripts)

i noticed a issue with the ColourPicker, that causes force close sometimes:

W/WindowManager( 886): Failed looking up window
W/WindowManager( 886): java.lang.IllegalArgumentException: Requested window null does not exist
W/WindowManager( 886): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:10006)
W/WindowManager( 886): at com.android.server.wm.WindowManagerService.addWindow(WindowManagerService.java:3198)
W/WindowManager( 886): at com.android.server.wm.Session.addToDisplay(Session.java:164)
W/WindowManager( 886): at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:111)
W/WindowManager( 886): at com.android.server.wm.Session.onTransact(Session.java:127)
W/WindowManager( 886): at android.os.Binder.execTransact(Binder.java:388)
W/WindowManager( 886): at com.android.server.SystemServer.init1(Native Method)
W/WindowManager( 886): at com.android.server.SystemServer.main(SystemServer.java:1980)
W/WindowManager( 886): at java.lang.reflect.Method.invokeNative(Native Method)
W/WindowManager( 886): at java.lang.reflect.Method.invoke(Method.java:525)
W/WindowManager( 886): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
W/WindowManager( 886): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
W/WindowManager( 886): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:126)
W/WindowManager( 886): at dalvik.system.NativeStart.main(Native Method)
D/AndroidRuntime( 5180): Shutting down VM
W/dalvikvm( 5180): threadid=1: thread exiting with uncaught exception (group=0x4186b898)
W/WindowManager( 886): Attempted to add window with token that is not a window: null. Aborting.
E/AndroidRuntime( 5180): FATAL EXCEPTION: main
E/AndroidRuntime( 5180): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
E/AndroidRuntime( 5180): at android.view.ViewRootImpl.setView(ViewRootImpl.java:793)
E/AndroidRuntime( 5180): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:288)
E/AndroidRuntime( 5180): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:73)
E/AndroidRuntime( 5180): at android.widget.PopupWindow.invokePopup(PopupWindow.java:1052)
E/AndroidRuntime( 5180): at android.widget.PopupWindow.showAtLocation(PopupWindow.java:865)
E/AndroidRuntime( 5180): at android.widget.PopupWindow.showAtLocation(PopupWindow.java:829)
E/AndroidRuntime( 5180): at com.af.synapse.elements.ColourController.show(SColourPicker.java:442)
E/AndroidRuntime( 5180): at com.af.synapse.elements.SColourPicker.onClick(SColourPicker.java:167)
E/AndroidRuntime( 5180): at android.view.View.performClick(View.java:4475)
E/AndroidRuntime( 5180): at android.view.View$PerformClick.run(View.java:18784)
E/AndroidRuntime( 5180): at android.os.Handler.handleCallback(Handler.java:730)
E/AndroidRuntime( 5180): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime( 5180): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 5180): at android.app.ActivityThread.main(ActivityThread.java:5450)
E/AndroidRuntime( 5180): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 5180): at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime( 5180): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
E/AndroidRuntime( 5180): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
E/AndroidRuntime( 5180): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:126)
E/AndroidRuntime( 5180): at dalvik.system.NativeStart.main(Native Method)[/hide]