What exactly is your “real-time controller”? JuMP does not have any facilities for C-code generation, but depending on what your target platform is, there may be other options than going through C code.
Yes, but most applicable solvers (e.g., SCS, ECOS) are in C and pretty trivial to compile.
In theory this could be done. JuMP ends up calling the C interfaces via ccall, so we “know” what C code to write. We just don’t currently trace these calls, and the various bridge reformulations mean that the user’s original JuMP model is often quite dissimilar to what actually gets solved. We also have limited support for parameters, which is a key component of how cvxpygen works.