Control Freak

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

Driving me crazy

Romain and I spent the last few days trying to get the WiFi dongle to work with the SOM.

The little fella

However, several issues had to be overcome in order to succeed in doing this.

Overcurrent detection

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

The walking LED

I started to work on the SOM with Romain a few weeks ago. My objective is simple: we need to be able to test our modules while we wait for our PCBs.

It’s alive !

For this purpose, I took my favorite necromancy book and proceeded to revive CyL3D.

I used this opportunity to get familiar with the tools we use to program the FPGA. I forked the reference project from Aries and tried to communicate with the drivers using only the FPGA.

However I was not able to control the drivers properly, more debugging has to be done. In order to accomplish this debugging, I need to control the our modules using the HPS.… Read more

Another Brick in the Wall

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.

RTFM!

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

The Memory Remains

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

Build your own Linux for LitSpin

Today, I will teach you how to bake a Linux for your LitSpin project

Requirements needed

  • A tested Linux distribution (list). For this recipe, Ubuntu 19.10 seems to work even if it is not tested
  • A lot of packages. Here the list depending on your distribution

Tools needed

Clone those repositories in the same working directory

Creation of the meta-litspin layer

With the different tools, we can build a Linux distribution for the MCV evaluation kit (MCVEVK) and the MCV development board (MCVEVP).… Read more

A l’aBOARDage !

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

A little smile for the photo…electric sensor

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.

Photoelectric sensor

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

Catching up on posts

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