Today we focused in the encoders. The module to correct the speed of the motors is done but it is not using directly the encoders yet, we tested it with a fake function to simulate the real velocity that is going to be calculated from the encoders.
The module which calculates the real velocity from the encoders is not 100% yet, but almost. Tomorrow we are going to complete this module and link it with the corrector module.
We fixed FreeRTOS too, as it was not running in flash memory, seems that the first position of flash (where the stack pointer should be) is protected as we couldn’t write on it, we still need to investigate why. Now we are able to turn on Tutobot and the program runs automatically.
The OLED is not working yet, we verified the pin assignments in the FPGA (in Libero) and it seems ok, the code seems ok too, we are still investigating.
While measuring some pins with the oscilloscope, we got once the same curve that we got yesterday while trying to measuring the line sensors, so we concluded we never captured a signal from them. Today we notice that in Libero they are not configured as inout pins, and for some reason we can not change this parameter, this still needs to be investigated.
Updates of the project:
- SmartFusion A2F200 and OpenOCD
After preparing the patch to OpenOCD to support writing in the flash memory, we sent the patch. It was refused due the amount of code from Actel we used to generate the embedded bin program. We could provide a cleaner code, removing the unused things from Actel’s driver, but it is working and we don’t have much time, after Rose we can work more in the patch.
If you are still interested in this patch you can found it here. Or send us an email .
Our PCB has arrived! \o/ Seems that we are going to weld the components tomorrow
- Libero (FPGA and project configuration)
The routing of FPGA is done, a map between MSS ans FPGA, which are the things that can be connected directly with a GPIO and which can not. So after we have our robot, we will be able to drive the peripherals which doesn’t need a complex FPGA support.
Necessary HDL modules will be done together with the peripheral’s drive.
We integrated FreeRTOS to our project. There is just some minor things we need to configure, as the code work in the Ram but doesn’t in Rom memory =/
SPI driver is done and tested for SmartFusion Evaluation Board, we will need to adjust some aspects of the drive to our SPI flash memory
After the OpenoCD patch, we tested DirectC in flash it is working but it is not fully integrated with the project. Tomorrow we hope to have the FPGA programing environment working and tested with our Robot.
More updates tomorrow.