After spending most of my time finalizing PCBs, I got to work on the embedded software and its communication with the control software. We chose to take advantage of the embedded linux OS and use ssh.
We found the “mkfifo” command that allows a program to read a fifo to which we can write to through ssh using a command such as this : ssh[user]@[machine] ‘echo “[text]” > [path_to_fifo]’.
This puts text in a fifo and it is erased when read. we can therefore send commands from the control app to the embedded software using this method. A thread on the embedded linux reads the fifo and waits for a command to be written. The control app writes when it needs to using the previously defined command and in theory everything works.
We tested it locally and seing it work, we integrated it into the control interface using the QProcess class of Qt. everything worked locally so we moved on to ssh testing.
Now, the “in theory” said before took effect because even outside of our program, we are having trouble writing to the fifo in ssh. It works as expected locally but when done through ssh, it has a random behaviour. We still need to explore what the issue is and how to resolve it.
Seconds From Disaster
As Nathan was working on PCB locations and coordinates to simplify mechanical work, he found a fatal flaw. I messed up the position of some connectors on the Highway PCB. Thankfully we caught it in time. The position has been fixed and routing needs to be redone. I don’t expect this to take more than a few hours as I have done it several time now, trying combinations on the autoroute feature.