Typica is a free program for professional coffee roasters. https://typica.us
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

IKAWA.js 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. pluginContext.table.setHeaderData(0, "Time");
  2. pluginContext.table.setHeaderData(1, "Temperature");
  3. pluginContext.table.setHeaderData(2, "Set");
  4. pluginContext.table.setHeaderData(3, "Fan");
  5. pluginContext.table.setHeaderData(4, "Heater");
  6. pluginContext.table.setHeaderData(5, "Note");
  7. pluginContext.table.clearOutputColumns();
  8. pluginContext.table.addOutputTemperatureColumn(1);
  9. pluginContext.table.addOutputTemperatureColumn(2);
  10. pluginContext.table.addOutputControlColumn(3);
  11. pluginContext.table.addOutputControlColumn(4);
  12. pluginContext.table.addOutputAnnotationColumn(5);
  13. var lines = pluginContext.data.split('\n');
  14. var headers = lines[0].split(',');
  15. if(headers[1] == 'state') {
  16. importV2(lines);
  17. } else {
  18. importV1(lines);
  19. }
  20. for(var i = 1; i < 5; i++) {
  21. pluginContext.table.newAnnotation("End", i, 5);
  22. }
  23. function importV1(lines) {
  24. for(var i = 0; i < lines.length; i++) {
  25. var fields = lines[i].split(',');
  26. if(fields[5] == "roasting") {
  27. var time = new QTime;
  28. time = time.addSecs(Number(fields[0]));
  29. pluginContext.newMeasurement(new Measurement(Units.convertTemperature(fields[4], Units.Celsius, Units.Fahrenheit), time), 1);
  30. pluginContext.newMeasurement(new Measurement(Units.convertTemperature(fields[2], Units.Celsius, Units.Fahrenheit), time), 2);
  31. pluginContext.newMeasurement(new Measurement(fields[1], time, Units.Unitless), 3);
  32. pluginContext.newMeasurement(new Measurement(fields[6], time, Units.Unitless), 4);
  33. }
  34. }
  35. }
  36. function importV2(lines) {
  37. for(var i = 0; i < lines.length; i++) {
  38. var fields = lines[i].split(',');
  39. if(fields[1] == "roasting") {
  40. var time = new QTime;
  41. time = time.addSecs(Number(fields[0]));
  42. pluginContext.newMeasurement(new Measurement(Units.convertTemperature(fields[3], Units.Celsius, Units.Fahrenheit), time), 1);
  43. pluginContext.newMeasurement(new Measurement(Units.convertTemperature(fields[2], Units.Celsius, Units.Fahrenheit), time), 2);
  44. pluginContext.newMeasurement(new Measurement(fields[4], time, Units.Unitless), 3);
  45. pluginContext.newMeasurement(new Measurement(fields[6], time, Units.Unitless), 4);
  46. }
  47. }
  48. }