I'm sorry, the thread was split once, so the source code link got lost:
https://github.com/vtl/volvo-ddd (select the "esp32" branch for the cheap hw version mentioned above).
It "can't" do any of your three "can?" as is, but it works on the same principles like VIDA+DiCE do, so inspired enough sw developer can add all these functions. I was thinking of doing so, but reading/clearing codes alone make no good - you need data freezes in a lot of cases to understand what is causing the problem. I still carry DiCE + VIDA laptop with me on a longer trips, however with all these sensors readings at hand I sort of "feel" how the car is doing and can catch upcoming problem earlier in its development.
Actually, making "modifications of the control parameters" it can do, but again needs a bit of code. The sw sends Volvo-style CAN messages to the CEM and receives replies, so the message messing machinery is here, just need to add more message definitions to do what you want. I found a way how to carve most of messages out of VIDA MSSQL database, almost everything is easily doable.