Production line for the RSE651 tolling transceiver
A production line driven through signal generators and spectrum analysers, built alone, with a Python port that made every bytestring suspect.
The RSE651 is a DSRC transceiver — the unit in a tolling lane that communicates with the electronic toll tags in passing vehicles. This was the production line that manufactures it.
Context
August to September 2018, at Q-Free ASA in Trondheim.
The line is semi-automated: operators assemble and move products from one step to the next through the production process. The team was a project manager, a hardware electrical engineer, and a software engineer.
My role
I worked alone on the full stack of the software. I did not have much experience at that point, and had guidance from a colleague.
Key decisions
Verification through the instruments. A large part of the work was remote control of a new signal generator, spectrum analyser and power supplies, and performing tests through those instruments. Testing a radio device means measuring physical signals, so the test rig is laboratory equipment rather than a software harness.
Each unit configured and verified remotely. As part of the production process, the operating system and the settings and rules on every new unit had to be created remotely, and then verified.
Porting the existing production code from Python 2.7 to 3.6. This caused the need for extra verification of the parts of the code that evaluated bytestrings, which is exactly where the two versions disagree. The risk with a change of that kind is that it is silent: the code still runs, so the only way to know the behaviour is unchanged is to go and check it deliberately. That is why the verification was worth the time it took.
Outcome
A new production line for the RSE651 transceiver.
Python · PyQt · Qt · C# · ASP.NET MVC · MySQL · Jenkins · Raspberry Pi · Ubuntu