March 23, 2016 2:54 AM CET
caveat: y, SBrick hasn't arrived yet, so I haven't been able to check the app out fully - these ideas may exist already:
1. Ability to 'chain' controls, with mathematical operators in between. For example:
You have a MOC with 4 wheel steering, powered by two servo motors
Each servo is on a separate SBrick channel
You have one slider called SteeringAll that is the main slider for steering your MOC - it controls both servos
BUT, before the signal is sent to the servos, the signal to the rear servo goes through another slider called SteeringRearMultiplier - this multiplies the output of SteeringAll by SteeringRearMultiplier's value; so:
When SteeringAll=1 and SteeringRearMultiplier = 0, you get front wheel steering only (1*0=0 for the rear servo)
When SteeringAll=1 and SteeringRearMultiplier = 1, you get four wheel normal steering (1*1=1 for the rear servo)
When SteeringAll=1 and SteeringRearMultiplier = -1, you get four wheel 'crab' steering (1*-1=-1 for the rear servo)
Or you could have a slider for Throttle and a button for FineThrottle - the button has a max of 0.2, so when pressed, the two multiply together and you get much finer control of the throttle.
Other operators might be AVERAGE, MAX, and MIN - the latter two would be good for temporarily slowing/speeding up a motor before returning it to the exact same speed it was at before.
2. Acceleration Time for controls. E.g. you set Acceleration Time to 1 second; when you press a button with a max of 1, the speed of the motor gradually accelerates from 0 to 1 over the course of 1 second. This would be good for throttle sliders - it prevents shock loading of a drivetrain that could potentially strip teeth off gears. Different acceleration curves (linear, logarithmic etc etc) would be nice but not essential.
3. Curved Sliders that follow the arc of your thumb
4. I saw someone on a forum say that if you are dragging a slider, and your thumb moves out of the bounds of the slider, it resets to zero (if auto reset is on); auto-reset shouldn't happen until that thumb has left the screen; motor should continue to turn even when the thumb leaves the bounds of the slider.
5. Maximum Running Time - when a control's value > 0, a timer starts. When this timer reaches the max running time, the control auto-resets. Useful for e.g. achieving certain degrees of rotation on a turntable, or potentially negating the need for clutch gears because you are limiting the number of rotations that a motor could achieve. Although this may need to factor in the battery voltage because motors will obviously turn slower at lower voltages...
6. I'm sure you're aware of the SBrickController app being developed (apparently independantly from yourselves) for Android that allows you to use a gamepad with SBrick; it would be great to integrate this with your software for more tactile control.
7. Direct control from a PC for advanced programming of motors - including timeline editing (look at how the automation features of recording software/DAWs like ProTools, Nuendo, Reaper etc work for an idea of how this should work)