A Smoothie firmware port to the Bambino210E board ahead of making changes to support the SmoothieV2 hardware.
There are no guarantees that this code works, won't burn down your house or destroy your electronics or hardware, use entirely at your own risk.
There are a lot of bugs in the code and it is very much a work in progress, the reason it is published is to allow others to contribute before it is folded back into the Smoothie2 main repo.
Current status as at 2016-11-08:
gcc4mbed/external/mbed/libraries/mbed/hal/sleep_api.h
which appear to be driven by Silicon Labs changes to support their EFM32 range of ARM processor's lower power modes. This causes conflicts with sleep
and I have had to slightly modify this file to get our code to compile and work properly. I don't have time to go back and investigate this at this time.There are a lot of bugs in the code and it is very much a work in progress, the reason it is published is to allow others to contriute before it is folded back into the Smoothie2 main repo.
Current status :
First, go into gcc4mbed
cd gcc4mbed/
Then, install the toolchain
./linux_install
Finally, setup the build environment
./BuildShell
Then go to the Smoothie2 source code
cd ../src/
And finally compile the code
make
Current major TODOs :
TODO functionality to port from v1 in more detail :
libs/Adc.cpp : Port low level ADC functionality, then re-enable it in TemperatureControl ( note : there is some weird pin configuration surrounding this that makes it more complicated than it seems, but I don't remember what it is. Logxen@gmail.com probably remembers what it is ).
libs/md5.cpp : Port and re-enable in SimpleShell
libs/Network : Port and enable once base libraries are available
@adamgreen - libs/SDFAT.cpp : Port for SPI SD card access, not SDIO, and re-enable. Then add SDIO support.
@adamgreen - libs/SPI.cpp : Port and make to use the mBed library instead of registers
libs/USBDevice : Port and enable once base libraries are available
libs/Watchdog : Port ( no mBed libraries available that I could find )
libs/Hook.h : Uses doubles instead of ints ( in v1 ) for some reason, should be fixed
modules/tools/filamentdetector : Get PWM to work
modules/tools/spindle : Get PWM to work
modules/tools/temperaturecontrol : Finish porting, get the ADC to actually work, I cannot test the AD8495 temperature inputs as I don't have one of these!
modules/tools/zprobe : Ported Needs testing (2016-11-08)
modules/tools/drillingcycles : Ported Needs testing (2016-11-08)
modules/tools/extruder : Ported Needs testing (2016-11-08)
modules/tools/filamentdetector : Port
modules/tools/filamentdetector : Get PWM to work
modules/tools/spindle : Get PWM to work
modules/tools/temperaturecontrol : Finish porting, get the ADC to actually work, port the AD8495 temperature input
modules/tools/zprobe : Ported Needs testing (2016-11-08)
modules/tools/simpleshell : Port once USB ported
The FPGA requires a SGPIO spi library
The FPGA requires a way to flash a .bin to it over JTAG from the M4
Things that are broken during the port and should be added back as things progress ( some things might be missing here. I try to use the TOADDBACK label when commenting things so search for that too ) :
Things changed from Smoothie1 :
Planned refactors ( only to be done when the basic port is done ) :