When using the stepper library with a 1.8 degrees per step motor, and at high angular speeds, the current Stepper library leads to really loud and jittery rotation. This is due to the fact that the timing is calculated in milliseconds, and the delay length between steps is only 2.5 milliseconds when trying to spin at 120 rpm. Since only integer math is performed, you end up actually bouncing between different step delays, and thus speeds, from step to step instead of giving the motor a constant input. Which causes the motor to freak out.
Changing the library to calculate the step delays in micros() solves that problem for any speed you can reasonably demand from your stepper motor. The down side is that the micros() counter rolls over every hour or so, and any move you perform after that point will hang your code. Easy fix for that is to add an || micros() - this->last_step_time < 0 to the while loop if statement in Stepper.cpp.
* master: (414 commits)
Don't export sketch if the underlying core does not support it. Fixes#3171
RSyntaxTextArea: using a modified version, tracked at https://github.com/arduino/RSyntaxTextArea. Fixes#3099
Updated keywords.txt
New editor on MacOSX: since CMD+J is known as "jump to selection" and the editor has no such feature, CMD+J is disabled on mac. See #3098
Old Preferences class remains for backwards compatibility as a delegate for PreferencesData
New Preferences window: renders fine on every OS and it's easier to adapt using NetBeans as visual editor. Fixes#3140
Remove spawn from exec command
Removed redundant call to File.deleteIfExists()
Removed buggy redundant check in FileUtils.deleteIfExists()
Restored current line/current selected lines display on lower left of the IDE. Fixes#3134
Updated cursor.ino
New editor on MacOSX: restored CMD+E for finding selected text
New editor on MacOSX: CMD+UP/DOWN moves cursor to start or end of sketch. See #3098
New editor on MacOSX: CMD+BACKSPACE deletes current line until cursor position, ALT+BACKSPACE deletes previous word. See #3098
ArduinoIDE is in the default package. Removed
Fixes #2969:
Fix Uncategorized warning message
New editor: ALT+ BACKSPACE deletes next word (OSX only). See #3098
New editor: ALT+ UP/DOWN move current line only if "editor.advanced" (hidden pref) is true. Fixes#3101
New editor: mark occurrences enable when "editor.advanced" (hidden pref) is true. Fixes#3102
...
Conflicts:
.gitignore
build/build.xml
hardware/esp8266com/esp8266/libraries/ESP8266WiFi/keywords.txt
hardware/esp8266com/esp8266/libraries/ESP8266WiFi/library.properties
hardware/esp8266com/esp8266/libraries/ESP8266WiFi/src/ESP8266WiFi.h
libraries/WiFi/README.adoc
libraries/WiFi/src/WiFi.cpp
libraries/WiFi/src/WiFiClient.cpp
libraries/WiFi/src/WiFiClient.h
libraries/WiFi/src/WiFiServer.cpp
libraries/WiFi/src/WiFiUdp.cpp
Previous commit broke the actual functionality. The code was confusing and worked until the previous commit.
The changes make it logically and functionally correct.
The SDClass class makes a reference to "SD.card" instead of just "card". SD is a global instance of SDClass.
This prevents any other instance of SDClass from functioning correctly.
The fix also allows SDClass to be used with an SD card which is removed and replaced, whereas previously, using the global instance SD did not allow this due to the limitation of begin() which cannot be called more than once.