Afstudeerstage Instrument Driver Generator  Open

Mail the vacancy to yourself!

 React directly Apply now!

Afstudeerstage Instrument Driver Generator

Salland develops instruments for bench top setups. Often these instruments are a card in a PXI rack. Examples are power supplies meant to power 16 or more devices. Another example is a pin measurement module, to measure voltage and/or current for integrated circuits under test.

Each instrument needs a driver that provides an API (Application Programming Interface). Creating the driver may take from half a year up to a year, depending on the complexity of the instrument. Salland is looking for ways to automate the process, with the clear objective of reducing the time needed to develop a driver.

The SW team works with the scrum methodology. During the assignment you will have your own tasks, but you will participate in the scrum meetings.

With this assignment you will get a good impression of how it is to work in a high-tech creative company like Salland Engineering and learn new skills. We hope with this assignment we will challenge you to come up with new creative ideas that will make this assignment a success for the both of us.

Objective
Reduce time to develop an instrument driver.

Technical background
Our instruments are high-end instruments that excel in the market. FPGAs are used to reach a high speed in combination with high parallelism. The instrument drivers communicate directly with the FPGA often in a register-based way. This implies that the driver must perform some kind of register mapping. In the requirements phase an API is established, together with parameters. Each parameter will have valid/invalid values or ranges. Each parameter will need checking. Another part of each driver is communication. The driver runs on a host computer and needs to communicate with the test rack via USB, Ethernet, etc.

The software developer must do similar tasks repeatedly for each API call, so we are looking for ways to automate the process.

Tasks
Your task is to create a code generator that, if possible, generates a complete driver, including automated tests. The level of automation that can be reached is part of the analysis phase.

From developers we know that the following tasks take a lot of time:

  • Adding parameter checking for each parameter in each API call
  • Creating unit tests

If it is not possible to generate all the code, then these items must have focus.

An existing driver can be used to redo with the new generator. That makes it easier to compare the new output against the existing and you can test the generated driver on real hardware.

Phasing

  1. Analyze the structure of existing drivers
  2. Analyze code generation alternatives
  3. Establish formal specifications that can serve as input for a generator
  4. Develop a code generator

Decision-making space for technical choices
The code generator must match with programming languages and tooling at Salland. This limits the programming platform to .NET. Salland uses Visual Studio Professional.

You can select any framework or library necessary, providing it is allowed in commercial software. This also applies to test-tooling.

Deliverables

  • Design documents, documenting requirements, and alternative strategies.
  • Software module, implementation of the code generator.
  • User manual, showing how to use it on the next driver project.

Criteria

Uiteraard vinden we het belangrijk dat je een bovengemiddelde interesse toont in elektronica/ICT en dat je een relevante opleiding doet op MBO/HBO niveau. Daarnaast vinden we oplossingsgerichtheid, analytisch denken en teamspirit belangrijke factoren om je stage of afstudeeropdracht tot een succes te maken.        

We bieden je de ruimte om met ons mee te denken en stellen jouw mening en kritische blik zeer op prijs. Daarmee creëren we bij Salland Engineering een veilige omgeving om jezelf te ontwikkelen.

Arbeidsvoorwaarden

  • Goede begeleiding van ervaren collega's;
  • Interessante materie en internationale contacten;
  • Moderne omgeving met goede faciliteiten;
  • Stagevergoeding van 400€ bruto per maand;
  • Vers fruit in ons bedrijfsrestaurant;
  • Uitzicht op een baan.

Kan je niet wachten om te beginnen? Reageer dan vandaag nog! We zullen zo spoedig mogelijk contact met je opnemen om de mogelijkheden te bespreken.

Job features

  • 36 - 40 uur
  • HBO