topbanner.gif
Login
Username

Password




Not a member yet?
Click here to register.

Forgotten your password?
Request a new one here.
Shoutbox
You must login to post a message.

renatoa
05/22/2023 1:38 AM
Icebreak, coffee drink ?

allenb
05/18/2023 8:23 AM
gvayll and TheGipsyRoaster Welcome

renatoa
05/18/2023 1:23 AM
Gavin and L_To welcome to forum

allenb
05/16/2023 11:49 AM
Wsunate, glad you found us! Post often and have fun! woohoo

allenb
05/15/2023 3:25 PM
dana Welcome

In Memory Of Ginny
Donations

Latest Donations
dmccallum - 10.00
JackH - 25.00
snwcmpr - 10.00
Anonymous - 2.00
Anonymous - 5.00
Users Online
Guests Online: 6

Members Online: 0

Total Members: 7,867
Newest Member: Icebreak

View Thread

Who is here? 1 guest(s)
 Print Thread
Artisan roasting app -- support for TC4 added!
bvwelch
Greetings,

I just heard ( thanks Ed !) that the Artisan app is working with our TC4 project.

Has anyone been using it? If so, how do you like it?

Thanks!

-bill

http://www.home-b...78-80.html

http://code.googl...p/artisan/
 
milowebailey
Bill

Thanks for the link!!

I just downloaded it and plan to play with it. From the read it's exactly what I was wanting and more!
 
Carneiro
Hi there!

I'm using the Arduino+TC4 with my Quest M3 and Artisan (on Linux).

I've suggested the function for ArduinoTC4 to Rafael, with a "READ\n" command, and one have just to code that inside Arduino.

Until now I'm using just a patched code from TC4 repository like this:


void loop()
{
  get_samples(); // retrieve values from MCP9800 and MCP3424
 
  int i = 0;
  while(Serial.available() && i < 32) {
    command[i++] = Serial.read();
  }
  command[i] = '\0';

  if (strcmp(command,"READ\n") == 0)
    logger(); // output results to serial port
}


But as Jim suggested me, we could make a class to deal with serial commands and work from that.

Considering the Arduino has to reply the serial command, I was thinking about changing the mode of the MCP3424 to continuos convertion, that way a reading and reply should be fast and get the last conversion. The way it's now the Artisan can ask for data right when Arduino is starting the getSamples() function, so there is at least 540ms delay (and 810ms delay if I add the third probe).

Marcio.
Edited by Carneiro on 03/02/2011 2:31 PM
 
randytsuch
Hi Marcio
I was working with Rafael around the end of the year to try to do this, but he gave up on me, I wasn't smart enough to change the Arduino to respond to his requests.
We were trying to make the Artisan accept unsolicated data.

I would like to make artisan work with my PID program, I'll try it with your patch when I get some time to play with it.

Randy
 
Carneiro
Hi, Randy.

Indeed I think it would be hard to change Artisan from master to slave or to sync them on that conversation.

I put the READ command exactly thinking in remote control the Arduino. I love the idea of the box having buttons, LCD (I'm using one now) and a Wii Classic controller ;), but as I'm always roasting using Artisan, I want to improve this part of the TC4 project!

A simple class could just handle the serial reading, or it could handle the commands too. Artisan or other software could change the PID SV and air flow, to reply a profile, if the user doesn't need this features inside the board.

I love this 2 projects! Congratulations for all of you guys, Jim, Bill, Randy, Rafael, Markus, and all the contributors.

Marcio.
 
randytsuch
Hi
I know Artisan already supports PIDs, like the Fuji, but the Fuji has a pretty complicated interface.

I will need to play with Artisan at some point, and figure what it makes sense for it to send to my PID, and then see if they will support those changes.

The set temp would be the minimum, and that should be easy. My current program supports using the buttons to change temps during a roast already.

Randy
 
Carneiro
I'll try to code something regarding the serial and command reply, looking at your code before.

Let's talk about it, I can help coding Artisan too.

Marcio.
 
randytsuch

Quote

Carneiro wrote:
I'll try to code something regarding the serial and command reply, looking at your code before.

Let's talk about it, I can help coding Artisan too.

Marcio.


The code I have uploaded is old, I took a break from my project at the end of the year, and it's hard to get started on it again :)

I am close to putting a new version up there, I need to make sure that the libraries are right, and that it builds and runs OK (CM kind of stuff), and then I can put it up.

Randy
 
bvwelch

Quote

Carneiro wrote:

Considering the Arduino has to reply the serial command...

Marcio.


As far as I can remember, the Arduino aBourbon main loop just continuously reads the ADC and sends a single ascii line with all values, approx. once a second. It doesn't need any input from the PC - indeed, it runs fine with the PC disconnected -- it outputs to both the LCD and serial port.

http://code.googl...ourbon.pde

I'd suggest modifying the Python code to just eliminate the writes to serial port and just do reads approx once per second.

-bill
 
Carneiro
As Randy have said, he was having problems to do that.

In fact, Artisan is designed to read from digital meters that normally reply to commands. One can choose the interval of sampling. That would complicate things.

I've stripped down the aBourbon code to reply to commands (as I was not using LCD so far). I can add this code to TC4 repository (I've called it aTypica ;)) but anyway the code that deal to LCD and other stuff could work in the two different ways for the serial part, maybe with pre-processor declarations.

M?rcio.
 
bvwelch

Quote

Carneiro wrote:

In fact, Artisan is designed to read from digital meters that normally reply to commands. One can choose the interval of sampling. That would complicate things.

I've stripped down the aBourbon code to reply to commands (as I was not using LCD so far). I can add this code to TC4 repository (I've called it aTypica ;)) but anyway the code that deal to LCD and other stuff could work in the two different ways for the serial part, maybe with pre-processor declarations.

M?rcio.


Ah, I see -- you're running a custom Arduino sketch -- that is great! My vote would be for you to go ahead and put that into the repository as a new sketch, dedicated to supporting Artisan. In my view, it is fine to have lots of different 'sketches', but try to void lots of duplicated support libraries.

Very cool, I want to try this Artisan on my TC4 - please let me know when it is available. thanks! -bill
 
JimG
Marcio has now been added as a committer to the googlecode project site.

http://code.googl...c4-shield/

Jim
 
bvwelch
Marcio, in the main loop of your Arduino code, why not just read ahead/ buffer one sample for each channel, and then you are instantly ready to reply to the next read from Artisan? This seems easier than modifying libraries for continuous sampling mode. -bill
 
randytsuch
I was wondering if someone was going to create a Artisan compatible version of Bourbon, and make it available from the download page?

Randy
 
bvwelch

Quote

randytsuch wrote:
I was wondering if someone was going to create a Artisan compatible version of Bourbon, and make it available from the download page?
Randy


I hope so -- Jim added Marcio to the Google code web site, but perhaps he is busy with other things?

-bill
 
bvwelch
Greetings,

Apparently, the Artisan folks decided to post an Artisan-compatible Arduino sketch for the TC4 here:

http://code.googl...re/TC4.pde

I haven't tried it yet but just giving the source code a quick read it seems like it should work.

Note that Artisan is PC software -- but they wanted a slightly different ASCII 'protocol' between their PC app and the Arduino. So, you should be able to just grab their Arduino sketch and upload it to your TC4 instead of aBourbon, for example.
Edited by bvwelch on 03/28/2011 12:23 PM
 
randytsuch

Quote

bvwelch wrote:
Greetings,

Apparently, the Artisan folks decided to post an Artisan-compatible Arduino sketch for the TC4 here:

http://code.googl...re/TC4.pde

I haven't tried it yet but just giving the source code a quick read it seems like it should work.

Note that Artisan is PC software -- but they wanted a slightly different ASCII 'protocol' between their PC app and the Arduino. So, you should be able to just grab their Arduino sketch and upload it to your TC4 instead of aBourbon, for example.


thanks for the link
I copied that code into kona, and I will have artisan support for kona.
I have an eeprom variable set up, that you can switch to go between pKona and Artisan.

Randy
randytsuch attached the following image:
drawing1_7.jpg

Edited by randytsuch on 04/02/2011 12:23 PM
 
bvwelch
Way to go Randy! I guess I gotta try to do something similar! thanks!
 
greencardigan
Hi Randy,

Do you get any errors like this in the Artisan.exe.log file when using the TC4?

Quote

Traceback (most recent call last):
File "artisan.py", line 375, in timerEvent
File "artisan.py", line 713, in ARDUINOTC4
File "artisan.py", line 9176, in ARDUINOTC4temperature
ValueError: need more than 1 value to unpack


I have modified my PICAXE code to respond when requested, but I must be getting something wrong. Do you know what Artisan sends to the arduino?

I can get Artisan to graph OK but keep getting this error repeated in the log file?

Brad
 
randytsuch

Quote

greencardigan wrote:
Hi Randy,

Do you get any errors like this in the Artisan.exe.log file when using the TC4?

Quote

Traceback (most recent call last):
File "artisan.py", line 375, in timerEvent
File "artisan.py", line 713, in ARDUINOTC4
File "artisan.py", line 9176, in ARDUINOTC4temperature
ValueError: need more than 1 value to unpack


I have modified my PICAXE code to respond when requested, but I must be getting something wrong. Do you know what Artisan sends to the arduino?

I can get Artisan to graph OK but keep getting this error repeated in the log file?

Brad


I get those errors, and some other ones too.

I was so happy to get the graph and temp updates, I didn't bother to check the log ;)

Randy
 
MaKoMo
Hi all,

just found this thread/post just by accident. I am one of the Artisan developer (but not responsible for the TC4 code). I took a look at the line numbers reported.


command = "READ\n"               
self.SP.write(command)
t0, t1, t2 = self.SP.readline().rsplit(',')  #t0 = ambient; t1 = ET; t2 = BT

The first two of those lines sends out the string "READ" terminated by a newline. The last line then reads in a with three numbers separated by "," that are expected to represent ambient temperature, ET and BT, respectively (eg. "20.1,203.7,193.2"). Now the error reported happens due to the assignment to these three variables if the list generated by the rsplit is shorten then 3. We will most likely release a new version of Artisan next weekend and try to make it more robust in the sense that it also accepts empty values as well as strings carrying less then 3 values (eg. ",203.7,193.2" or just "20.5,203.7"). If you have further suggestions how we can improve things, let us know.

Hope this helps,
Marko

PS: In the future you might as well use the issue tracker of the Artisan Google code repository to report things like this to get our attention. It's hard to observe all those coffee forums at the same time...
 
greencardigan
Hi Marko,

I did add this to the issues on the google code site before I posted here. Thanks for the explanation.

Brad
 
MaKoMo
Hi Brad,

I (hopefully) "improved" Artisan the way I discussed above. Thanks for filling the issue (I saw it too late). You can expect a new version of Artisan appearing at the begin of next week.

Cheers,
Marko
 
JimG
I have just started a thread dedicated to TC4 / Artisan issues:
http://forum.home...ad_id=2175

In that thread, there is a link to a new Arduino sketch (aArtisan.pde) that should support Artisan, as well as optionally display temperature values on an LCD panel.

I'm cautiously hopeful that the new sketch, which buffers serial input in parallel with performing ADC conversions, will eliminate the log errors that have been previously reported.

Jim
 
Jump to Forum:

Similar Threads

Thread Forum Replies Last Post
can't establish communication between TC4 and Artisan Fluidbed Roaster 13 05/26/2023 6:31 AM
Bean roasting times and color Roasting Coffee 2 05/25/2023 12:40 PM
Back into roasting New Members say hello or you may update your profile. 4 05/13/2023 3:26 PM
roasting profiles Roasting Coffee 1 04/27/2023 9:51 AM
Roasting with flu... Facts, Myths and Other Interesting fodder for Roasters! 2 04/26/2023 7:24 AM
Homeroasters Association Logo, and all Content, Images, and Icons © 2005-2016 Homeroasters Association - Logos are the property of their respective owners.
Powered by PHP-Fusion Copyright © 2023 PHP-Fusion Inc
Released as free software without warranties under GNU Affero GPL v3
Designed with by NetriX
Hosted by skpacman