I am glad that you have been loving the Tic T825 stepper motor controller. Thank you for the feedback.
1: The Tic’s “De-energize” command does put it into an error state and causes the controller’s red LED to turn on. You might consider sending a “Set current limit” command to set the current limit to zero or something small, which would have a similar effect without being considered an error.
2: We will probably add scripting features in a future firmware update, which would let you control spare pins on the Tic (so you could control the brake manually from your software).
3 and 4: Generally speaking, it sounds like you want features for changing the current limit and pin states depending on whether the motor is stationary, accelerating, decelerating or moving at a steady speed. We will keep that in mind for future firmware updates. It might be tricky to do because people would probably want the current limit and the pin states to change some time before the motor starts moving, so that their system has a chance to react. This means that commands that cause the motor to start moving would need to be delayed.
5: The STEP and DIR pins are already outputs by default, so you could connect them to an external stepper driver. However, you would still need to supply power to the Tic’s VIN pin to prevent it from having a Low VIN error.
6: The Tic’s “Current limit”, “Max speed”, “Starting speed”, “Max acceleration”, and “Max deceleration” settings in the “Input and motor settings” tab are just defaults for the corresponding run-time values, and the run-time values can all be raised or lowered with the appropriate commands (and without overwriting the settings stored by the Tic). The Tic will not prevent the run-time values from exceeding the stored maximums, but that should be easy for you to do in your software. For example, you can use the Tic’s “Get setting” command to get the Tic’s settings from it, and then make sure you never set a working acceleration that exceeds the maximum reported by the Tic. The maximum speed is at offset 0x47, length 4. The maximum deceleration is at offset 0x4B, length 4. The maximum acceleration is at offset 0x4F, length 4. You could just issue one command at offset 0x47, length 12, to get all three of those variables.
Please let me know if you additional feedback or questions.