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.… Read more
Romain and I spent the last few days trying to get the WiFi dongle to work with the SOM.
However, several issues had to be overcome in order to succeed in doing this.
Overcurrent detection had to be disabled for USB devices to be detected by the SOM.
WEXT and cfg80211
For the driver to work, wext and cfg80211 drivers have to be enabled in the configuration of Yocto. We found this out because the driver would not work. Fortunately, we stumbled upon this document from Intel.
Compile the correct driver
A confusion between the driver of our dongle (rtl8188eu) and the driver of cyL3D’s defunct dongle (rtl8812au) wasted a good amount of our time.… Read more
I recently built the first version of the LitSpin Linux but also the MCVEVK Linux if we need it. I first tested the MCVEVK version and it worked perfectly. However, when I tried with the LitSpin one, I had some trouble: the MCV didn’t boot anymore or nothing was sent on the UART which is also a problem.
To recover the SOM I tried to follow the different steps given by ARIES. The first problem was to get the Recovery Sof which is not available online. So, I sent ARIES an email to ask for it. They send me back the recovery file 20 minutes after.… Read more
Since I was out of PCBs to work on, it was time to move on to embedded software. One of the critical parts of the sowftware is the DMA (Direct Memory Access) controller. It will handle copying the image data to each of the 20 double buffers. Altera provides an IP that interacts with a C API for control from C code executed on the HPS.
Salomé has been working on making the IP work in quartus and testing it with the LEDs on the DE1-SoC evaluation board. An example was provided and was modified to work with our quartus project and the LED control IP that we used to test the DMA.… Read more
The Mainboard has been sent to production. Now it’s time to get the Highway and LED PCBs ready. yesterday and this morning I ckecked everything from schematics to routing. We noticed that the connectors on the Highway to the LED PCBs needed to be flipped 180°. That meant routing it again. After doing it quite a few times, I’ve gotten used to using auto-route and cleaning up any traces that could be improved. It took an afternoon for the Highway to be ready for the final check up.
This morning I took a final look at the schematics for the highway, checking that the pinout were right according to the Mainboard and the LED PCBs and checking the clock buffer circuits.… Read more
So, we had to design a small PCB in order to place the photoelectric sensor that allows us to measure the rotation speed (remember, we planned the possibility of using this sensor or a hall effect sensor).
This sensor is a small fork with an emitting infrared diode one one branch and two sensors on the other. When an obstructing object is placed between between the LED and the sensor, it can be detected.
The PCB will be screwed under the lower mechanical plate. We had an argument to determine if the connector to the mainboard should be on on the same side or the other side of the PCB.… Read more
I haven’t posted in a while so I’ll try to catch up with this post.
My main occupation for the last three or four work sessions was to implement the program that takes in input a string, and then displays this string on the outer circle of Litspin.
My first thought was that I wanted to implement it for the simulator, but firstly it was not that interesting to have a simulation for the display of a simple string, and secondly, it would be nice if we could use Litspin to display debugging information.
For the first point, I nevertheless decided to implement it on LitControl and make it possible to display it on the simulator, because I though that it wouldn’t make sense to be able to display 3D models but not simple strings.… Read more