On the Aries MCV, the MMC pins of the HPS are already used to control the MMC flash. However, we need an SD card. So, we decided to add a µSD card on the SPI1 interface because SD cards can be controlled in SPI. So, I added the µSD card to the SPI1 interface like this:
Before testing on the MCV, we realize tests on the DE1-SoC. Something to notice, we already built the Linux kernel for the DE1-SoC and it booted correctly without the SD card on the SPI interface.… Read more
With the help of a company we are working with, we made tremendous progress in the choice of our mechanical architecture. Here is what we settled with:
Each “floor” of the structure is being held to its neighbours by three spacers in an equilateral triangle. The spacers and plates are made of metal (most likely aluminium) and carry the ground from the body (it is being pulled from the arm).
The 12V power is carried through the motor axis which is isolated from the bottom plate.
LED band PCBs are simply held by friction and by their connector. Appropriate holes in the hat and the middle plate are made to fit the PCBs properly and hold them in place.… Read more
With Nathan, we work a lot on the creation of the Linux distribution. On my side, I am working on how to add an sd card on an SPI bus and Nathan is working on the driver for the USB WiFi Dongle.
An SD card can not be detected and set automatically like a USB device. We have to tell Linux there is a micro SD host on an SPI bus. We have to put a micro SD host on an SPI bus because the eMMC bus is already taken by the Flash. To tell Linux, there is a micro SD host on the SPI bus, the simplest method is to add it in the device tree blob.… Read more
Today I wanted to integrate Nathan’s file picker to LitControl, should have been quick and easy, but it turned out that merging two Qt projects into one is not that simple. I first tried to merge them by manually adding Nathan’s files into LitControl, but I had some compilation errors that I couldn’t make sense of. I then tried to use qtcreator’s subproject feature which could allow me to keep both .pro files each in its own directory (qtcreator’s project files), but somehow it was worse. So I am now back on merging manually, and I hope that by tomorrow this issue will be resolved.
We slightly changed the schematics to accommodate for the sensors. We will need to make a small dedicated PCB but this should be fairly easy and can be done in house. As for routing, some slight changes were made like adding bigger areas where routing is forbidden around mounting holes.
We still need to change the connectors between the mainboard and the highway (on the mainboard side) to get the right board stacking height. this should be done soon as the connectors only differ from the others in their height so routing won’t need to change.… Read more
We need to build the disk image for the MCV SoM. To do this we have two options given by Aries, the SoM manufacturer. We can use Buildroot or Yocto.
We decided to test Yocto first. Tarik Graba advised us to use it and a previous group who works with the same SoM used it too.
This project is a cross-compilation framework based on recipes. Every recipe contains a list of dependencies and a set of instructions (like a real recipe). The interesting point is the sources needed in a recipe can be directly downloaded online. So if some dependencies are missing, they will be automatically downloaded.… Read more
Good news today. I completed the testbench connecting the synchronizer and led band controller modules.
This global testbench allowed me to discover and fix new bugs, mainly in the synchonizer module. Everything seems to work as intended now.
The test consists in writing a random frame of data on the led band controller and checking if the simulated driver contains the proper data at the time it should be displayed.
I also tried to change the multiplexing groups, which is an important parameter we will have to set later, and everything still works. I only hope we won’t have too many surprises on the finished product.… Read more
The last few days I focused on trying different animations on our simulation, I also tried to animate a bouncing ball as suggested by Alexis. However as you will see my blender animation skills are very limited, and the ball has some difficulties respecting the laws of physics. Nevertheless I tried with different animations, and it allowed us to discover some flaws/limitations in our program:
With the cat, the voxelization was quite fast, however i tried voxelizing 500 frames of a moving dragon, and I couldn’t finish it because it was way too long. I then found a feature on blender that allows to automatically reduce the number of triangles without ruining the model, which is very convenient because with our display we can hardly see the difference between a high poly and a low poly model.… Read more
Some news about our Mainboard. After some decisions had to be made to finish routing the Mainboard, it is finally ready to be reviewed and prepared for production. Some changes include adding plated mounting holes for mounting the board and passing GND. Some holes were added in order to make balancing the board easier as it will be spinning fast enough that weight distribution will be an issue.
The holes on the mainboard and the Highway PCB need to be aligned which was an issue with connector placement on the latter. Nathan had to get the proper coordinates and angles for the connectors that could fit the mounting holes that we need.… Read more
I realized a synthesizable top module to test the Sync module and Led Band Controller together. The goal of this top module is to simulate the ticks sent by the Hall effect and the optical fork sensors. But also to send data to the Leb Band Controller to simulate the DMA Controller. In the output, one can read SCLK, GCLK, LAT, SOUT, row_en[3:0] (multiplexing), turn_tick, n_rst.
With @nathan-claudel, we decided to synthesize and test it on the DE1-SOC. The output signals are exited on the GPIO1. Then I used a Saleae device to probe the signals.
Problems of the top module
First, we have to fix several issues due to the implementation of the top module.… Read more