Skip to content

Modular, opensource, high performance G-code interpreter and CNC controller written in Object-Oriented C++

License

Notifications You must be signed in to change notification settings

mattthebaker/Smoothieware-CHMT

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Current build status:

STM32/CHMT Notes

To build, follow normal smoothie build process to get setup. Then checkout chmt branch and rebuild.

Port Status:

  • mbed hooks - Added, compiles, tested
  • stm32f4xx libs - Added, compiles, tested
  • timers - Ported, compiles, tested
  • wdt - Ported, compiles, tested
  • gpio - Ported, compiles, tested
  • adc - Ported, compiles, tested
  • pwm - Ported, compiles, tested
  • build scripts - Added, project builds successfully

CHMT Status:

  • config file - 48VB Complete
  • pin map - 48VB/36VA Complete
  • operation/verfication - All System Functions Operational (excl. axis encoders)
  • machine testing - 48VB All Systems Operational

TODO:

  • DONE: Target initialization and board bringup (clocks, mpu, etc)
  • DONE: Verification of ported peripherals (step generation, watchdog, gpios)
  • DONE: Debug/Comm uart setup
  • DONE: CHMT controller specific configuration

Notes/Caveats/Gotchas:

  • smoothie mbed was ancient, so the oldest stm32 mbed available was integrated to reduce friction -- incompatibilities, and bugs from dated mbed may have been introduced
  • MRI (gdb over serial) is not supported on stm32, use SWD/JTAG
  • config file must be hardcoded into firmware build

Next Steps/Priority

  • CHMT Pinout Reversing -- Complete
  • CHMT Config File Development -- 48VB Complete
  • CHMT Machine Testing -- All Base Functions Operational, Long term and stability testing required.
  • Synchronize System GCODEs to OpenPNP standards
  • Stability Testing Required.
  • WDT rewrite for longer timeout

Smoothie

Overview

Smoothie is a free, opensource, high performance G-code interpreter and CNC controller written in Object-Oriented C++ for the LPC17xx micro-controller ( ARM Cortex M3 architecture ). It will run on a mBed, a LPCXpresso, a SmoothieBoard, R2C2 or any other LPC17xx-based board. The motion control part is a port of the awesome grbl.

Documentation can be found here : http://smoothieware.org/

NOTE it is not necessary to build Smoothie yourself unless you want to. prebuilt binaries are available here: Nightly builds and here: recent stable build

Quick Start

These are the quick steps to get Smoothie dependencies installed on your computer:

  • Pull down a clone of the Smoothie github project to your local machine.
  • In the root subdirectory of the cloned Smoothie project, there are install scripts for the supported platforms. Run the install script appropriate for your platform:
    • Windows: win_install.cmd
    • OS X: mac_install
    • Linux: linux_install
  • You can then run the BuildShell script which will be created during the install to properly configure the PATH environment variable to point to the required version of GCC for ARM which was just installed on your machine. You may want to edit this script to further customize your development environment.

Building Smoothie

Follow this guide... http://smoothieware.org/compiling-smoothie

In short... From a shell, switch into the root Smoothie project directory and run:

make clean
make all

To upload you can do

make upload

if you have dfu-util installed.

Alternatively copy the file LPC1768/main.bin to the sdcard calling it firmware.bin and reset.

Filing issues (for bugs ONLY)

Please follow this guide https://github.com/Smoothieware/Smoothieware/blob/edge/ISSUE_TEMPLATE.md

Contributing

Please take a look at : 

Contributions very welcome !

Donate

The Smoothie firmware is free software developed by volunteers. If you find this software useful, want to say thanks and encourage development, please consider a Donation

License

Smoothieware is released under the GNU GPL v3, which you can find at http://www.gnu.org/licenses/gpl-3.0.en.html

About

Modular, opensource, high performance G-code interpreter and CNC controller written in Object-Oriented C++

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 55.5%
  • C 41.1%
  • Makefile 1.1%
  • HTML 1.0%
  • Shell 0.3%
  • Ruby 0.3%
  • Other 0.7%