Two days ago, we finally managed to flash the Gainspan Wi-fi module’s firmware and we can now talk to the module through the SPI interface and I managed to make it connect on a router which was in the room. I am now working on the driver to make it work completely.
As I had finished coding the PD algorithm, Pierre-Hugues worked in order to enable us making real tests of balance with Ball-E. Therefore, I build a system to put the robot on the ball while hanging in the air so that it couldn’t fall on the floor (you may see it on the pictures). We made some tests with several balls and it appeared that we needed to have a center of gravity higher. That’s why you can now see Ball-E with a tall structure. Today we are going to buy a bigger ball to make new tests, it should be easier for the robot to keep its balance with this one.
We hope that in a few days, we will post videos of Ball-E standing up and not falling !
During the vacation, I had a hard time coding the wifi driver using the SPI interface. Hopefully, we had foreseen a serial interface in case of problem. Through the serial interface, typing the command AT+SPICONF=0, 0 (taken from the reference manual) gave us the answer ERROR: INVALID INPUT. Therefore, we concluded that it must be the firmware of the Wifi module that doesn’t handle the SPI interface. However, to download a new firmware, I had to firm a NonDisclosure Agreement and send it to Gainspan and fortunately they answered us quite fast and we now have access to all the firmwares available. Today’s objective is to flash the Gainspan module and code the Wifi driver through the SPI interface.
While I was waiting for Gainspan’s answer, I studied the PD algorithm in order to control Ball-E’s balance and I coded a function that should (if I didn’t make any mistake) make Ball-E keep its balance. We will only be able to test it on Wednesday when we receive the external motor control card.
Today Gabriel started to work in the code to write in the SPI flash memory. Thalita and I continue working in OpenOCD to support writting in the NVM flash memory of SmartFusion.
We organized our presentation for tomorrow too.
Some diagrams to help understand the project :
Hardware diagram :
Flashing the FPGA Fabric diagram :
More updates tomorrow.
Yesterday, our PCBs are finished. So, we work about software. Clement worked on remote control and xpressnet protocol, Brice continued to work on NMRA server and compilation chain and I worked on firmware for traffic lights card. Yesterday, we had a problem to flash traffic ligths card and remote control card because they don’t have JTAG. So we should take a python script and we should configure ports to flash card. Yesterday evening we flashed card with success. Now we can test and debug our code on small cards.
see you soon,