1
0
mirror of https://github.com/MarlinFirmware/Marlin.git synced 2024-11-28 14:24:34 +00:00
Commit Graph

7327 Commits

Author SHA1 Message Date
Scott Lahteine
ce48403a0b Add EXTRA_FAN_SPEED feature
Based on #7883 by @studiodyne
2017-10-16 02:34:13 -05:00
Jeffrey Li
eeb4611606 Add proper support for the AZSMZ 12864 LCD on a SMART RAMPS 2017-10-16 00:33:07 -07:00
Scott Lahteine
c46189e429 Fix UBL+Delta segmented feedrate
Based on #7948
2017-10-15 16:31:09 -05:00
Scott Lahteine
5c4f3e0107 Add LCD_SET_PROGRESS_MANUALLY 2017-10-15 03:05:29 -05:00
Scott Lahteine
014a83fe09 Merge pull request #7984 from thinkyhead/bf2_micromake_c1
[2.0.x] Micromake C1 Configurations, Unaccented French
2017-10-14 21:19:32 -05:00
Scott Lahteine
bc7df0188e Add Micromake C1 configurations 2017-10-14 20:28:12 -05:00
Scott Lahteine
34a261416f Add unaccented French language 2017-10-14 20:28:12 -05:00
Scott Lahteine
e587f0893c Define AVR_ATmega2560_FAMILY_PLUS_70 in Conditionals 2017-10-14 19:05:32 -05:00
Scott Lahteine
fd128b3c93 Fix some AVR HAL code style 2017-10-14 19:05:10 -05:00
Scott Lahteine
799360c576 Enhance Teensy/RAMPS pins files 2017-10-14 18:44:20 -05:00
Scott Lahteine
d3e5a22a5d Add MIN_SOFTWARE_ENDSTOP_[XYZ] to example configs 2017-10-14 18:44:20 -05:00
Jeff Eberl
b206f70693 Split the software endstop capability by axis. 2017-10-14 18:44:20 -05:00
Scott Lahteine
ec69e97bda Merge pull request #7974 from jeffyl/bugfix-2.0.x
Fix include path for VIKI
2017-10-14 17:38:42 -05:00
Morten
91e28edda6 [2.0.x] Add new board: MKS Sbase (#7945)
* Add files via upload

* Add files via upload

* Add files via upload

* Checked LCD / edited / revised pins_MKS_BASE.h

As requested :)

* Delete Configuration_adv.h

* Delete Configuration.h

* Deleted /Marlin/Marlin/src/config/examples/MksSbase/*.* and moved them to /Marlin/Marlin/src/config/examples/Mks/Sbase/*.*

* Add files via upload
2017-10-14 09:44:18 -05:00
Jeffrey Li
3c8a3a02ba Fix include path for VIKI 2017-10-14 04:06:17 -07:00
Scott Lahteine
4586acad8c Merge pull request #7959 from alexxy/bugfix-2.0.x
Python isnt always python2
2017-10-14 05:02:07 -05:00
Scott Lahteine
497f86453e Merge pull request #7964 from gallynero/patch-2
fix 'axis_unhomed_error' not defined error
2017-10-14 05:00:58 -05:00
Scott Lahteine
c0dddd4233 Tweaks to tool_change, GcodeSuite::T() 2017-10-14 02:53:19 -05:00
Scott Lahteine
ca66574062 ADC sensor fix inspired by 'Evgen2' on Twitter 2017-10-14 02:28:13 -05:00
Scott Lahteine
1344ca4b2f UBL no longer needs ubl_state 2017-10-14 02:18:32 -05:00
Scott Lahteine
8dd08425fd Improve LCD leveling edits 2017-10-14 02:18:31 -05:00
Scott Lahteine
3e3911fb81 Use planner.leveling_active for all leveling systems 2017-10-14 02:18:31 -05:00
Scott Lahteine
32c607ffe2 Ensure fade factor is recalculated if fade height changes 2017-10-14 02:18:31 -05:00
Scott Lahteine
ca1e47375c Move fade_scaling_factor_for_z to Planner 2017-10-14 02:18:31 -05:00
Scott Lahteine
9a930ebec2 Make leveling_is_active a macro 2017-10-14 02:18:31 -05:00
Scott Lahteine
58abc66c1d Tweak bed leveling conditionals 2017-10-14 02:18:31 -05:00
Scott Lahteine
1adb5a6a48 Remove obsolete UBL z_offset 2017-10-13 08:22:46 -05:00
gallynero
3619a4cbea fix 'axis_unhomed_error' not defined error
Fix 'axis_unhomed_error' not defined error when pause with unhomed status
2017-10-13 09:08:02 +02:00
Alexey Shvetsov
12d212d1b4 Python isnt always python2
So now this script is compatible with both python versions 2 and 3

Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
2017-10-13 01:39:06 +03:00
Scott Lahteine
cc01a36363 Merge pull request #7947 from thinkyhead/bf2_more_READMEs
[2.0.x] Add a README.h file for Arduino IDE users
2017-10-12 06:56:41 -05:00
Scott Lahteine
4764710b11 Add a README.h file for Arduino IDE users 2017-10-11 18:10:15 -05:00
Bob-the-Kuhn
4e3ee845b9 config_adv (#7941)
get rid of twi.h

move to board files
2017-10-11 15:42:24 -05:00
Roxy-3D
0e260c6c1d Get FolgerTech i3-2020 working again with 32-bit platforms (#7944)
Setup FolgerTech i3-2020 Configuration files as a reference platform for
32-Bit work.

Also fix MAX7219 debug lights on 32-bit platforms.
2017-10-11 15:23:04 -05:00
Bob-the-Kuhn
26bfae58d4 MPC4451 I2C support 2017-10-11 00:30:41 -05:00
Scott Lahteine
1f5c432e29 Merge pull request #7920 from thinkyhead/bf2_neopixel_full
[2.0.x] Move FILAMENT_RUNOUT_SENSOR to a feature
2017-10-10 03:05:00 -05:00
Scott Lahteine
732e87e83c Merge pull request #7892 from GMagician/Serial-double-echo-fix
[2.0.x] Serial double echo fix
2017-10-10 02:42:16 -05:00
Scott Lahteine
f8e8fcb978 Move FILAMENT_RUNOUT_SENSOR to a feature 2017-10-10 02:37:42 -05:00
Slawomir Ciunczyk
a11e6a1022 Different NEOPIXEL types
Same as #7728 but for 2.0.x,
Lot of cleanup and remove references in whole code to other "LED files" than leds.h. Now will be much easier to add next drivers/libraries. e.g. FastLED. But bad news, currently FastLED is suporting only RGB devices (no RGBW)
2017-10-10 02:17:36 -05:00
Scott Lahteine
b30b55307c Merge pull request #7909 from thinkyhead/bf2_goodbye_legacy_advance
[2.0.x] Remove legacy ADVANCE feature
2017-10-10 00:31:18 -05:00
Scott Lahteine
1d04197f2f Merge pull request #7916 from thinkyhead/bf2_probeless_ubl
[2.0.x] Allow UBL G29 and G26 to build without a probe
2017-10-10 00:30:27 -05:00
Thomas Moore
9b0ee53b12 Use segmented moves when moving axis from LCD 2017-10-09 23:25:43 -05:00
Scott Lahteine
442669d23c Allow UBL to build without a probe 2017-10-09 18:57:41 -05:00
Scott Lahteine
20ebe218c8 Tweaks to VIKI lcd support 2017-10-09 17:01:07 -05:00
Scott Lahteine
09fa34a9e1 Modernize configs 2017-10-09 16:18:10 -05:00
Scott Lahteine
560d366b80 Move VIKI SCK/MOSI pins fix to Conditionals_POST.h 2017-10-09 16:13:49 -05:00
Scott Lahteine
e9bcb9d048 Add 4 new LCD displays 2017-10-09 15:58:02 -05:00
Scott Lahteine
03f4891fb9 Remove legacy ADVANCE feature 2017-10-09 04:25:18 -05:00
GMagician
546f02c6f4 [2.0.x] Addressing #7896
Compiler error, added char c variable
2017-10-08 23:16:35 +02:00
GMagician
eb96d37da0 Serial double echo fix
Fix double character sent when TX buffer size is 0 on mega2560
2017-10-07 22:20:00 +02:00
Scott Lahteine
deeea98d22 LCD filename already concatenated 2017-10-07 15:16:05 -05:00
Scott Lahteine
a058638d11 Merge pull request #7875 from thinkyhead/bf2_fill_eeprom_dat_ff
[2.0.x] Update LPC persistent store to initialize eeprom.dat with FF
2017-10-07 15:13:21 -05:00
Scott Lahteine
ae1a18d0a1 LCD filename already concatentated 2017-10-07 15:10:15 -05:00
Scott Lahteine
12aa1b999a Fix display issue with SD_SORT_ALPHA cached names 2017-10-07 15:08:08 -05:00
Dave Johnson
9d0e4ea3d5 [2.0.x] Auto-enable DISABLE_REDUCED_ACCURACY_WARNING if HOME_AFTER_DEACTIVATE enabled (#7879)
* Auto-enable DISABLE_REDUCED_ACCURACY_WARNING if HOME_AFTER_DEACTIVATE enabled

If HOME_AFTER_DEACTIVATE, there is no need to warn on LCD since printer will home prior to starting print.  Saves 60 bytes PROGMEM on AVR with U8g panel.

* Reduce lines used

* Reduce lines used
2017-10-07 15:02:55 -05:00
Scott Lahteine
8315a8a716 Apply fixes for DUE
Alternative to #7882. If F_CPU is greater than 1000 it can be evenly divided by 8. Over 10000, 16; over 100000, 32; over 1 million, 64; etc.
2017-10-07 14:31:18 -05:00
Scott Lahteine
4b36a542e0 Merge pull request #7876 from thinkyhead/bf2_hotend_messages
[2.0.x] Addressing #7612
2017-10-07 13:37:43 -05:00
Unknown
12730c1303 [2.0.0] Resolve USE_CONTROLLER_FAN compile errors
Add to controllerfan.cpp:
#include "../module/stepper_indirection.h"
#include "../module/temperature.h"
2017-10-07 05:26:36 -07:00
Scott Lahteine
7fb3343bda [2.0.x] Addressing #7612
Change "extruder" to HOTEND in sanity error messages
2017-10-07 02:27:26 -05:00
victorpv
8998f31ee1 Update LPC persistent store to initialize eeprom.dat with FF
This change initialize any data in eeprom.dat beyond the current file size to FF.
That way if eeprom.dat is deleted and created again, it doesn't take the old values or random ones, but rather starts with FF in all positions as a real brand new or erased eeprom.dat
Currently if you delete eeprom.dat and restart the board, the new file is created in the same sector with the same content, since FAT does not actually delete the data, just marks the sector as free. I tested by deleting the file, and then rebooting the board, and checking the file content.
The change can be tested in the same way, deleting, rebooting the board, and then the new content should be all FF.

If an eeprom file already exist with data on it, but smaller than E2END, it will be padded with FF on first access, so it will not have random or old content appended.
2017-10-07 02:18:42 -05:00
Scott Lahteine
2aa22c5a5e Merge pull request #7874 from thinkyhead/bf2_anet_encoder_pulses
[2.0.x] Fixing ANET encoder pulses
2017-10-07 01:21:23 -05:00
Scott Lahteine
f99d1dedae Fixing #7833
Derived from #7873
2017-10-07 00:10:05 -05:00
Scott Lahteine
de84f57a9c Patch SD file draw bug 2017-10-06 23:57:11 -05:00
Scott Lahteine
ef90b49fff Remove extra NEWPANEL settings in Conditionals_LCD.h 2017-10-06 23:56:58 -05:00
Scott Lahteine
67a7dd9792 Merge pull request #7866 from thinkyhead/bf2_finally_G33_is_done
[2.0.x] Apply G33 updates
2017-10-06 16:03:26 -05:00
Scott Lahteine
b220bc7521 Apply G33 updates
Adapted from #7865
2017-10-06 15:47:51 -05:00
Scott Lahteine
9fe7f53216 Misc general spacing cleanup 2017-10-06 15:14:01 -05:00
Scott Lahteine
c0382cd8cd Add UTF-8 mapper for Slovak language
Based on #7862, #7846 by @rmoravcik
2017-10-06 15:14:01 -05:00
Scott Lahteine
c81843a414 Set TEMP_SENSOR_0 to 1 in CR-10 example config
As pointed out in #7692 by @totalitarian
2017-10-06 14:30:53 -05:00
android444
72693a7e87 [2.0.x] Fixed RAMPS FD V1 pins.h file (#7852)
* test only

test

* Fixed RAMPS FD V1 pins.h file

* Fix typo
2017-10-06 13:27:15 -05:00
Chris Pepper
aa51a02b8f LPC1768: fix serial buffer underrun (#7854)
When the buffer is empty index_write == index_read, but they needed constrained by buffer_mask
2017-10-05 17:19:43 -05:00
Chris Pepper
46b2773e13 General fixes for LPC1768 (#7834)
* fixed some include paths

* LPC1768: Fix Serial API

Add missing serial methods used if TX_BUFFER_SIZE is set
Change return value of HalSerial:read to match Arduino API

* LPC1768: add filters to ADC

This is to try and compensate for hardware issue and oversensitivity to noise

* LPC1768: remove the polling section of delayMicroseconds

* LPC1768: lock usb mass storage device while device accesses it.

Currently only applicable to persistent store,
The device always has priority and will unmount the sd card from the host, Windows then tries to automount again so it can look like the explorer window freezes. Linux Mint, by default, just closes the Nemo window.

* Add timeout to make sure if Serial never connects that Marlin still boots

* Remove unneeded ifdef CPU_32_BIT

In general the need for ifdef CPU_32_BIT blocks means that something is missing from the HAL API or a Platform, in this case HAL_TICKS_PER_US was missing from the AVR Platform

* LPC1768: relocate RE-ARM debug_extra_script.py
2017-10-04 15:40:54 -05:00
Scott Lahteine
7258218f89 Fix xon_xoff_state initialization 2017-10-04 12:11:56 -05:00
Scott Lahteine
bf596fb039 Merge pull request #7818 from thinkyhead/bf2_xon_xoff
[2.0.x] Add XON/XOFF serial handshaking
2017-10-02 23:52:30 -05:00
Scott Lahteine
ca3c9baf1b Fix DUAL_X_CARRIAGE manual moves, add T0/T1 menu item 2017-10-02 23:35:55 -05:00
Scott Lahteine
a8b8d4e85e Add a typedef for MENU_ITEM(function,…) functions 2017-10-02 23:33:57 -05:00
Scott Lahteine
6ea2cc0293 Make prepare_move_to_destination_dualx a proper move function 2017-10-02 23:32:28 -05:00
Scott Lahteine
e472a7569b Remove extra auto_current_control call 2017-10-02 23:32:05 -05:00
Scott Lahteine
508d764d63 Add serial XON/XOFF handshaking
From @ejtagle, originally #7459
2017-10-02 04:12:30 -05:00
Scott Lahteine
af15383578 Add XON/XOFF options to example configs 2017-10-02 04:05:49 -05:00
Scott Lahteine
33c4d45f2f Merge pull request #7812 from thinkyhead/bf2_fix_resume_print
[2.0.x] Fix broken M600 resume_print
2017-10-01 22:55:28 -05:00
Scott Lahteine
a03e70d46c Fix M600 resume_print
Derived from #7811 and #7779
2017-10-01 21:59:42 -05:00
Scott Lahteine
2d41c59320 Tweak some spacing 2017-10-01 21:59:42 -05:00
Scott Lahteine
5ae390e240 Apply NO_MOTION_BEFORE_HOMING to examples 2017-10-01 21:58:50 -05:00
Scott Lahteine
90af1fe5ee Implement NO_MOTION_BEFORE_HOMING option 2017-10-01 21:58:50 -05:00
Scott Lahteine
965b0ab53e Spacing adjustments 2017-10-01 21:58:50 -05:00
Scott Lahteine
ac41eb5871 Merge pull request #7722 from tcm0116/2.0.x-warnings
Cleanup 2.0.x compiler warnings
2017-10-01 21:56:54 -05:00
Thomas Moore
ae2173cd52 Synchronize retractions 2017-09-30 17:28:46 -05:00
Thomas Moore
0cb00f52d9 Cleanup warnings 2017-09-30 16:47:17 -05:00
Bob-the-Kuhn
1beaef0452 fix 3S hang & enable SPLIT 2017-09-30 10:27:41 -05:00
Thomas Moore
020ce176c4 Fix Servo class compile errors 2017-09-29 08:17:30 -05:00
Bob-the-Kuhn
62054af6eb 2.0 compile issues 2017-09-28 10:16:25 -05:00
Christopher Pepper
bea3ec2724 M355 S0, S1 fixes & faster LCD, SD card
fix Travis error
2017-09-27 19:26:00 -05:00
Scott Lahteine
8c622a59cf Merge pull request #7774 from thinkyhead/bf2_lcd_leveling_status
[2.0.x] Show leveling status on character LCD
2017-09-27 13:10:25 -05:00
Scott Lahteine
56c05a7015 Show leveling status on character LCD 2017-09-27 12:21:15 -05:00
Scott Lahteine
2ee4eef25c Merge pull request #7748 from GMagician/Addressing-#7730
[bugfix-2.0.x] Fix compiler error (issue #7730)
2017-09-27 12:06:55 -05:00
Scott Lahteine
ffed785656 Merge pull request #7768 from thinkyhead/bf2_HAL_STM32F1
[2.0.x] HAL for STM32F1
2017-09-27 11:52:34 -05:00
Scott Lahteine
604b804125 Add confirmation step to Init EEPROM 2017-09-27 11:31:38 -05:00
Tannoo
c869dc9745 User script return-to-status option 2017-09-27 11:31:38 -05:00
victorpv
e9acb63290 STM32F1 HAL
Adding files for STM32F1 HAL based on libmaple/stm32duino core.
Current persistent_store uses cardreader changes to be sent in separate
commit, but could be changed to use i2c eeprom.
2017-09-27 11:20:10 -05:00
Scott Lahteine
c2b1d51f16 HAL whitespace and style cleanup 2017-09-27 10:55:36 -05:00
Scott Lahteine
c272f2c84e Cleanup pins spacing 2017-09-27 10:55:36 -05:00
Scott Lahteine
dff2904c0f Marlin code whitespace cleanup 2017-09-27 10:55:36 -05:00
Scott Lahteine
599f2ad983 Define pin accessors more like <Arduino.h> 2017-09-27 10:41:27 -05:00
Scott Lahteine
358656acc3 Tweak HAL_adc_start_conversion 2017-09-27 10:41:27 -05:00
Scott Lahteine
0cb4d25431 Tweaks to Servo classes 2017-09-27 10:41:27 -05:00
Phr3d13
10c1b442ca Fixes for Anet10 and gt2560
Fixes for 2 "... not declared in this scope" compiler errors.
2017-09-27 07:34:02 -05:00
Phr3d13
5a3a53379f Update pins for GT2560_Rev_A_Plus
For PR #7738
2017-09-27 06:34:51 -05:00
Scott Lahteine
fdf1b8a7b8 Fix sanity check for LCD_FOR_MELZI
Comes from #7760
2017-09-27 03:04:19 -05:00
Scott Lahteine
b93a55e15f Fix ST7920_DELAY_2 potentially being unset
Comes from #7760
2017-09-27 03:04:01 -05:00
Scott Lahteine
ce1638e32f Add Babystep Z graphic overlay
See PR #7593
2017-09-27 01:25:05 -05:00
Scott Lahteine
49c693c85b Tweak to serial macros 2017-09-27 01:25:05 -05:00
Scott Lahteine
46709ed7e0 More featureful CR-10 configurations
See #7725
2017-09-27 01:25:05 -05:00
Scott Lahteine
2b112143fa Update Sanguinololu config version 2017-09-27 00:48:59 -05:00
Scott Lahteine
7cd5eb6d42 Update LEVEL_BED_CORNERS config option 2017-09-27 00:48:59 -05:00
Scott Lahteine
981a610f75 Disable BABYSTEP_XY, add to SDSORT comment 2017-09-27 00:48:59 -05:00
Scott Lahteine
4c5be9bb05 Fix a PARKING_EXTRUDER comment 2017-09-27 00:48:58 -05:00
Scott Lahteine
494b0eba2d Config spacing fix 2017-09-27 00:48:47 -05:00
Scott Lahteine
2281154025 Increase BABYSTEP_MULTIPLICATOR to 100 2017-09-27 00:48:46 -05:00
Scott Lahteine
92dbf5f148 Fix babystep edit label, allowing translation 2017-09-26 23:43:05 -05:00
Scott Lahteine
37eb6d1732 Babystepping code tweak 2017-09-26 23:43:05 -05:00
Scott Lahteine
7a29f802d0 Fix ENCODER_PULSES_PER_STEP for G3D_PANEL 2017-09-26 23:43:05 -05:00
Scott Lahteine
5972251b17 No need for unused LCD_PINS_Dn 2017-09-26 23:27:53 -05:00
GMagician
c508e9adec Fix compiler error
Added missing include file,
called 'leveling_is_active()' with no prototipe defined.
2017-09-25 23:18:26 +02:00
Scott Lahteine
c4e4a0688c Fix bug in SD Autostart
As pointed out by @marcio-ao in #7638
2017-09-24 17:53:39 -05:00
Scott Lahteine
6d5fcac54a G33 changes from 1.1.x 2017-09-24 14:16:23 -05:00
Dave Johnson
f58ba3a64e Improve AVR arch detection
Replace ARDUINO_ARCH_AVR with __AVR__ to better detect architecture for non-Arduino dev environments.  Resolves compile failure in PIO for 8-bit Teensduino targets

More info:
https://forum.pjrc.com/threads/33234-Using-Teensyduino-Selecting-Teensy-3-2-3-1-board-has-incorrect-platform-define
http://www.atmel.com/webdoc/avrlibcreferencemanual/using_tools_1using_avr_gcc_mach_opt.html
2017-09-23 21:36:40 -07:00
Scott Lahteine
71d63fcafb Apply LCD changes from 1.1.x
Changes from #7720
2017-09-23 21:50:44 -05:00
Scott Lahteine
1587962547 Combine G-code files into fewer units
Addressing #7707
2017-09-23 18:12:04 -05:00
Scott Lahteine
bfd1e75c04 Patch for caselight + lcd compile issues 2017-09-23 18:12:04 -05:00
Scott Lahteine
ff1f211eb4 Merge pull request #7695 from tcm0116/move_framework
Move LPC1768 framework out of Marlin source folder
2017-09-23 17:12:48 -05:00
Thomas Moore
ddbd4b73e0 Move LPC1768 framework out of Marlin source folder 2017-09-23 16:59:31 -05:00
GMagician
00b1b33816 Fix compiler warning 2017-09-23 15:31:51 +02:00
Scott Lahteine
f37ed314e0 Friendly layout for Arduino IDE 2017-09-21 16:27:13 -05:00
Scott Lahteine
06a02dd200 Workaround for SCK/MOSI pins on VIKI 2017-09-21 16:27:12 -05:00
Scott Lahteine
f9ef446fb5 Clean up after refactor 2017-09-21 16:27:12 -05:00
Scott Lahteine
64dfb46461 Move z_endstop_adj to Endstops 2017-09-21 16:27:11 -05:00
Scott Lahteine
2e20c53c9d Move endstop debug to Endstops 2017-09-21 16:27:11 -05:00
Scott Lahteine
a10451ceed Move Volumetric methods to Planner 2017-09-21 16:27:11 -05:00
Scott Lahteine
6f92ab7eed Move Controller Fan to feature 2017-09-21 16:27:11 -05:00
Scott Lahteine
07cf75883f Move T (tool change) to cpp 2017-09-21 16:27:10 -05:00
Scott Lahteine
927524af6b Move M999 to cpp 2017-09-21 16:27:10 -05:00
Scott Lahteine
1a37ebc76d Move M163-M165 MIXING_EXTRUDER to cpp 2017-09-21 16:27:10 -05:00
Scott Lahteine
8ca0b2fd68 Move M355 caselight to cpp 2017-09-21 16:27:09 -05:00
Scott Lahteine
59608086e6 Move M350_M351 to cpp 2017-09-21 16:27:09 -05:00
Scott Lahteine
6e0503eab2 Move M907-M910 to cpp 2017-09-21 16:27:09 -05:00
Scott Lahteine
2e89685154 Move TMC2130 g-codes to cpp 2017-09-21 16:27:09 -05:00
Scott Lahteine
19dde5be03 Move M900 to cpp 2017-09-21 16:27:08 -05:00
Scott Lahteine
1b0acbff72 Move M605 to cpp 2017-09-21 16:27:08 -05:00
Scott Lahteine
75cf17d816 Move M702 MK2_MULTIPLEXER to cpp 2017-09-21 16:27:08 -05:00
Scott Lahteine
7ba2ab4fb3 Move M540 to cpp 2017-09-21 16:27:07 -05:00