artisan
artisan copied to clipboard
Any possibility to work with Tasi TA612C four channel thermometer with USB
Expected Behavior
Collect data from Tasi TA612C ( http://www.china-tasi.com/plus/view.php?aid=97 )
Actual Behavior
Construct the roasting curve with channels on BT, ET and third reading like ambient temperature
Steps to Reproduce the Problem
- Windows connected
- Data not read by Artisan
- No curve generated
Specifications
- Artisan Version: 2.6
- Artisan Build (number in brackets shown in the about box):
- Platform (Mac/Windows/Linux + OS version): Windows
- Connected devices or roasting machine: TA612C and SR800
Please attach your current Artisan settings file (as exported via menu Help >> Save Settings as *.aset) file. currently using Victor86B single channel. Please attach any relevant Artisan *.alog profiles. not available
Note that you need either add a .txt
extension or zip the files before uploading. Otherwise you will receive a "Not a supported file type" error on uploading.
This device is not supported by Artisan and the team has no resources to add support for it. Please implement the corresponding driver yourself and submit the code as Pull Request for integration.
Here is the communication protocol for the above device. Only Chinese language version.
Here is what I've implemented in Rust for reading temperature data from TA612C, hope that helps https://github.com/chihpingkuo/roastcraft/blob/main/src-tauri/src/devices/ta612c.rs
let request: [u8; 5] = [0xAA, 0x55, 0x01, 0x03, 0x03];
self.stream.write(&request);
let mut response: [u8; 13] = [0; 13];
match self.stream.read(response.as_mut_slice()) {
Ok(_) => {
let T1 = u16::from_ne_bytes(response[4..6].try_into().unwrap()) as f32 / 10.0;
let T2 = u16::from_ne_bytes(response[6..8].try_into().unwrap()) as f32 / 10.0;
let T3 = u16::from_ne_bytes(response[8..10].try_into().unwrap()) as f32 / 10.0;
let T4 = u16::from_ne_bytes(response[10..12].try_into().unwrap()) as f32 / 10.0;