We have found two errors on the PCB Station, the first was just a shutdown sleep on the audio amplifier which wasn’t connected. We sussesfully patched it. The second, was on the ethernet transceiver but the patch was much more complicated and during the operation some pads were deceased. we could have made a new pcb but due to the cost and time we decided to use the old station instead.
The Two stations are linked with a serial cable and it works quite well.
Some other good news, the web server is working (Thanks to lwIP) and it communicates by http. We have begun a simple control interface.
There is some proof:
Some other good news, the buzzer works with the DMA transfer. However, it only works with raw audio files (8bits unsigned @8khz). We also made a map of the railroad. The only things missing for our railroad to work are the sensor cards.
Today, we worked respectively on bootloader, traffic sensors and CAN HAL.
- Bootloader is very difficult to implement. We have to complete crt0.c of ChibiOs. We have to copy vector table and got section in RAM to add offset of these relatives address. Now, we are able to branch the main but after there are a bug.
- CAN HAL is in progress. We will test it soon.
- Traffic sensors work but code will be improved tomorow. And we need to inface this node with the base station. Moreover we dumped packets between booster and remote, to analyze the protocol.
Pictures of our experiments
We are trying to generate a position independent executable with a relative vector table adress in order to be able to flash the firmware at any adress. At this time, we have still lots of bugs and errors. But we can read/write/erase the flash. Seeing that the update over can is soon ready we have rewired all the table.
Here is a table of what we have to do (sort by priority)
|Port Station on STM32F207
|Bootloader / Recovery Firmware
|Redesign virtual nodes
|Traffic Lights and Sensors
Hi, just some news about our project :
The PCB of the station and remote control are almost ready.
In the same time, Guillaume is working on the bootloader. Brice implements a NMRANet communication thread between can, ethernet and dcc. As for me, i tested if the remote control can be supply by 5V and i’m working on the conversion between Xpressnet (Remote -> Board) and DCC nmranet packet (Board -> Station -> Train).