Jutta-Proto / protocol-cpp

C++ JURA protocol implementation for controlling a Jura coffee maker over a serial (UART) connection.
GNU General Public License v3.0
64 stars 6 forks source link

Coffee Brew Sequence #6

Open KayGundhardt opened 1 year ago

KayGundhardt commented 1 year ago

Hi there,

thank you very much @COM8 for listing up all the (so far) known UART codes. Works fine with my E8 that has three buttons on each side of its display (identical to your E6). So I can now toggle via the lower left and right button through the three „coffee speciality screen pages“ (let’s call them CSSP ;) ) Each CSSP is listing 4 different specialties, each beside one of the other 4 buttons (top and middle left and right buttons). Finally „push a button via UART“ to make selected coffee-Type.

Only problem is that E8 does not return to one „home“ CSSP on startup but preserves the last chosen CSSP on restart.

This makes any „UART-command-toggle-and-choose-sequence“ obsolete as it starts always in a relatively other CSSP.

I tried your code for a coffee (as E6 isn’t that far from E8) but this lead to a total chaos nearly exploding (really!) as the loud steam came out everywhere but coffee did not. I suppose it remained inside because of i.ex. brew group in wrong position… E8 has a second coffee outlet beside the milk frother so maybe there is one of the - yet - unknown UART-command to i.ex. change brew group position for first/ second outlet…

But how did you find out this detailed sequence for making a coffee you describe here? Is there any way to „listen“ to the internally send UART commands while the machine is working?

So - as I survived the first attempt - any help to find out the correct (!) ;) used sequences would be very appreciated!

COM8 commented 1 year ago

Oh, this sounds kind of funny 😂.

The way I found out about all those commands is by opening the coffee maker and triggering one command after an other. The I noted down what happened and at the end I connected all pieces together.

KayGundhardt commented 1 year ago

Really?? Weren’t you afraid that, for example, when your start a grind process (without knowing) and the brew group isn’t in correct position before, to destroy something…?

COM8 commented 1 year ago

Well, this happened at least one time. As a result I had to clean the complete brew group multiple times.

KayGundhardt commented 1 year ago

I see … So there’s no way to technically listen via the service port to what it’s doing?

And for your “make-a-coffee-UART-list”? You heard i.ex. the grinder for three seconds and so you presumed this is “one step”? And if yes, how could you know if the E6 makes a step you maybe are not aware of?

COM8 commented 1 year ago

I see … So there’s no way to technically listen via the service port to what it’s doing? Not that I'm aware of.

And for your “make-a-coffee-UART-list”? You heard i.ex. the grinder for three seconds and so you presumed this is “one step”? And if yes, how could you know if the E6 makes a step you maybe are not aware of?

Well it works and it produces beverages that taste like they should :)

But for better control I suggest using the BT dongle: https://github.com/Jutta-Proto/protocol-bt-cpp