Oh no! Where's the JavaScript?Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript; Firefox, Safari, Opera, Chrome or a version of Internet Explorer newer then version 6.

First time poster here, I work for a local coffee shop and we're trying to set up a tc4c arduino board with Artisan on Ubuntu.

The thermocouplers are installed and Artisan is communicating with the arduino board (I had trouble getting dev/USB0 serial port to open, figured that out with permissions) but now the ET and BT readings for Artisan are -1 and none of the couplers are reading.

I'm not sure what to do, I've googled all that I can pertaining to the topic.

Try query TC/4 manually in a terminal window.
Connect to the COM/usb port, type a READ command followed by return, and let's see what is the response...
This is maybe the most missing feature of Artisan... a communication log window, for real time diagnostics... replaced with custom made programs, but still...

Or from ADC chip... experimented a bit with MCP3424 and the 18 bit mode is forced at the limit of chip capabilities, imo... lots of bad readings, i.e. out of range values, sometimes even 10%.
The same ADC, in 16 bit mode and input fed with higher voltages, amplified by a dedicated TC amplifier, delivers outstanding precision and stability, similar with phidgets box. At a 5x increased sample rate

Or from ADC chip... experimented a bit with MCP3424 and the 18 bit mode is forced at the limit of chip capabilities, imo... lots of bad readings, i.e. out of range values, sometimes even 10%.
The same ADC, in 16 bit mode and input fed with higher voltages, amplified by a dedicated TC amplifier, delivers outstanding precision and stability, similar with phidgets box. At a 5x increased sample rate

Interesting. Is this something we can change ourselves in the firmware?

Before firmware, you need to add the amplifiers.
Can be done as actual board additions, the amplifier boards are finger nail sized, can be added as dongles on top of actual TC connectors. Minimal soldering, nothing SMD.
For non skilled guys a new redesigned board is needed though...

Once these amplifiers are added, the ADC code must be changed a bit, then TC/4 code also, to accommodate the new increased 60 ms sampling rate.
But anything is doable, and the result worth the $9 parts.

k84hero wrote:
The thermocouplers are installed and Artisan is communicating with the arduino board (I had trouble getting dev/USB0 serial port to open, figured that out with permissions) but now the ET and BT readings for Artisan are -1 and none of the couplers are reading.

How do know that Artisan is communicating with the TC4C? Getting -1 readings suggests that it's not communicating properly.

What sketch is loaded onto the TC4C?

As renatoa suggested try connecting with a serial terminal using the baud rate set in TC4C sketch and send a READ command. Serial commands must be terminated with a newline character.

k84hero wrote:
The thermocouplers are installed and Artisan is communicating with the arduino board (I had trouble getting dev/USB0 serial port to open, figured that out with permissions) but now the ET and BT readings for Artisan are -1 and none of the couplers are reading.

How do know that Artisan is communicating with the TC4C? Getting -1 readings suggests that it's not communicating properly.

What sketch is loaded onto the TC4C?

As renatoa suggested try connecting with a serial terminal using the baud rate set in TC4C sketch and send a READ command. Serial commands must be terminated with a newline character.

There was an issue with Serial Port Error, which was resolved. That was my best guess on the board communicating.

"sketch" refers to which software / firmware is flashed onto the TC4C. In Arduino terms the firmware is known as a "sketch". It's whatever you programmed onto the TC4C in the Arduino app. That's assuming you did that yourself?

If he doesn't know what a sketch is, most likely, he does not have the software setup or installed. Unless he ordered the board from Jim and gave him information needed, it probably did not come preloaded. I bought three from Jim and none of those came preloaded because I didn't request it.
Artisan is seeing the board, but doesn't know what to do with it.

As stated, the -1 temp is a standard reading when artisan and the TC4 is not communicating with each other.

If he doesn't know what a sketch is, most likely, he does not have the software setup or installed. Unless he ordered the board from Jim and gave him information needed, it probably did not come preloaded. I bought three from Jim and none of those came preloaded because I didn't request it.
Artisan is seeing the board, but doesn't know what to do with it.

As stated, the -1 temp is a standard reading when artisan and the TC4 is not communicating with each other.

I did not get the preloaded version of the TC4C. I tried following instructions that use the sketches but I'm having trouble finding the right sketch to work.

Following the steps listed in the TC4 installation located at the Downloads page of this site,

I have downloaded both aArtisian and TC4 files and moved the TC4 files into the Libraries folder.

I get the following error message when uploading the file to the TC4C

Code

Arduino: 1.8.8 (Windows 10), Board: "Arduino/Genuino Uno"

In file included from C:\Users\Anthony\Desktop\aArtisan\aArtisan.ino:86:0:

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:110:27: error: variable 'typeK::coeff_inv' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT coeff_inv[10][3];

^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:111:27: error: variable 'typeK::range_inv' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT range_inv[2][3];

^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:113:27: error: variable 'typeK::coeff_dir' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT coeff_dir[11][2];

^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:114:27: error: variable 'typeK::range_dir' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT range_dir[2][2];

^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:115:27: error: variable 'typeK::a' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT a[3];

^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:131:27: error: variable 'typeT::coeff_inv' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT coeff_inv[8][2];

^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:132:27: error: variable 'typeT::range_inv' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT range_inv[2][2];

^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:134:27: error: variable 'typeT::coeff_dir' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT coeff_dir[15][2];

^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:135:27: error: variable 'typeT::range_dir' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT range_dir[2][2];

^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:151:27: error: variable 'typeJ::coeff_inv' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT coeff_inv[9][3];

^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:152:27: error: variable 'typeJ::range_inv' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT range_inv[2][3];

^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:154:27: error: variable 'typeJ::coeff_dir' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT coeff_dir[9][2];

^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:155:27: error: variable 'typeJ::range_dir' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

static PROGMEM PFLOAT range_dir[2][2];

^

exit status 1
Error compiling for board Arduino/Genuino Uno.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.