Tractor interfacing with own hardware and software


my name is Honza Juranek and I have just ordered QA401 for guitar pedal production testing. From my previous job I have experience with writing producion tests for some big automotive companies here in Europe - resistance measurements in steering wheel modules etc…

They had similar concept of plugins and teststep creation like you so this is the main reason why I choosed you - I simply like how are you doing things. But to meet our company requirments I need to implement some things into Tractor:

1) add support for barcode reader

  • we cannot expect that operator won’t make mistake so we prefer to have barcode scanners (probably small QR code is the best option)

2) selfhosted database

  • database has to be selfhosted on our server and the local copy of all data (test protocols) has to be on HDD

3) plugin for switching relays

  • our company’s phylosophy is that we are not selling nice enclosure (they are nice actually :smiley:) but our product is the great SOUND. So just after populating SMT parts, we are testing all boards on needle testers if they work or not. To simulate potentiometers, switches etc… We need to be able to switch relays (plugin can have many functions like switch on relay, switch 5 relays at once etc…). I am designing universal relay card these days, so I can post pictures later and protocolo specification later. It will use RS232 for simple serial communication.

4) teststep code

  • unique ID of each test step

5) output reports

  • probably best in XML format, don’t have specification for this yet

My software guy wants to know if GIT repository is up to date and if you are considering to implement some of these. If not, can you send us some SW cookbook so we are all on same page? (Maybe you are implementing something which can cause incompability in later release - like completely reworked Tractor app).

Thank you,

P.S.: Sorry for my english. Please ask if you don’t understand :slight_smile:

Hi Honza:

  1. A barcode reader should already work. Most barcode readers will emit characters just as if you are typing them, and so, anyplace you are asking the operator for input, then can type by hand OR scan. The scanner will emit what it reads and usually a “enter” key (or CR). This will cause the test to move to the next step. See an example here:
  1. In the Settings menu, there are two database options. The first is for a database you run by yourself. This can be free version of MS SQL on the same machine or on a remote machine. As is typical, you just need to specify the connect string you normally use to connect.


  1. Right now, there’s a generic mechanism in the form of a test called “Shell00.” This test is in the “Other” category (push “Add New Test” button, select “Other” test category and you’ll see it). This test will give you the option to specify a process name, any arguments you might need, and a timeout period. So, let’s say you built your own relay board and you wrote a program called “SetRelay.exe” to control the relays. And you can call “SetRelay.exe 3 on” to turn on relay 3. Or “SetRelay.exe 7 off”.

In that case, you could put those commands into the ShellA00 test and have the relay controlled that way.

  1. Right now there’s a requirement that each test name be unique. You can name them whatever you wish. But they must be unique.

  2. Right now the only output option is HTML that is emitted into a log file. This builds a web page that lets you see the screen captures and measured values for all the tests. To see this web page, you can to go Tools->Open Log in Browser. If you wish to query test data, there’s a simple query system built-in if you are using the cloud database (see here).

Yes, I think the repo is up to date. Maybe a few minor tweaks remain to be checked in. The big changes were made around version 0.75, and I don’t think any more are coming for a while at least.