From 3aac06ae17f5edd2dfa2a9bdebc202f4dff0a5d7 Mon Sep 17 00:00:00 2001 From: fredervish Date: Sat, 31 Aug 2019 22:31:33 +0200 Subject: [PATCH] essai 1 --- init/init.ino | 6 + libraries/AFMotor/AFMotor.cpp | 563 +++++++ libraries/AFMotor/AFMotor.h | 104 ++ libraries/AFMotor/README.txt | 5 + .../examples/MotorParty/MotorParty.pde | 60 + .../AFMotor/examples/MotorTest/MotorTest.pde | 52 + .../examples/StepperTest/StepperTest.pde | 34 + libraries/AFMotor/keywords.txt | 35 + libraries/AccelStepper/AccelStepper.cpp | 624 ++++++++ libraries/AccelStepper/AccelStepper.h | 620 ++++++++ libraries/AccelStepper/LICENSE | 17 + libraries/AccelStepper/MANIFEST | 34 + libraries/AccelStepper/Makefile | 25 + .../doc/AccelStepper_8h-source.html | 420 ++++++ libraries/AccelStepper/doc/annotated.html | 61 + .../doc/classAccelStepper-members.html | 104 ++ .../AccelStepper/doc/classAccelStepper.html | 1251 ++++++++++++++++ libraries/AccelStepper/doc/doxygen.css | 1172 +++++++++++++++ libraries/AccelStepper/doc/doxygen.png | Bin 0 -> 3779 bytes libraries/AccelStepper/doc/files.html | 60 + libraries/AccelStepper/doc/functions.html | 243 +++ .../AccelStepper/doc/functions_func.html | 200 +++ libraries/AccelStepper/doc/index.html | 150 ++ libraries/AccelStepper/doc/tab_b.gif | Bin 0 -> 35 bytes libraries/AccelStepper/doc/tab_l.gif | Bin 0 -> 706 bytes libraries/AccelStepper/doc/tab_r.gif | Bin 0 -> 2585 bytes libraries/AccelStepper/doc/tabs.css | 60 + .../AFMotor_ConstantSpeed.pde | 36 + .../AFMotor_MultiStepper.pde | 54 + .../examples/Blocking/Blocking.pde | 28 + .../AccelStepper/examples/Bounce/Bounce.pde | 29 + .../examples/ConstantSpeed/ConstantSpeed.pde | 23 + .../examples/MotorShield/MotorShield.pde | 103 ++ .../examples/MultiStepper/MultiStepper.pde | 41 + .../examples/Overshoot/Overshoot.pde | 28 + .../ProportionalControl.pde | 32 + .../examples/Quickstop/Quickstop.pde | 40 + .../AccelStepper/examples/Random/Random.pde | 30 + libraries/AccelStepper/keywords.txt | 37 + libraries/AccelStepper/project.cfg | 290 ++++ .../Adafruit_MotorShield.cpp | 413 +++++ .../Adafruit_MotorShield.h | 102 ++ libraries/Adafruit_MotorShield/README.txt | 13 + .../Accel_ConstantSpeed.ino | 52 + .../Accel_MultiStepper/Accel_MultiStepper.ino | 90 ++ .../examples/DCMotorTest/DCMotorTest.ino | 68 + .../examples/MotorParty/MotorParty.ino | 84 ++ .../examples/StackingTest/StackingTest.ino | 76 + .../examples/StepperTest/StepperTest.ino | 51 + libraries/Adafruit_MotorShield/keywords.txt | 40 + libraries/Adafruit_MotorShield/license.txt | 25 + .../utility/Adafruit_PWMServoDriver.cpp | 110 ++ .../utility/Adafruit_PWMServoDriver.h | 61 + .../Adafruit_MotorShield/utility/license.txt | 26 + libraries/UTFT/DefaultFonts.c | 246 +++ libraries/UTFT/Documentation/UTFT.pdf | Bin 0 -> 134357 bytes .../UTFT/Documentation/UTFT_Requirements.pdf | Bin 0 -> 901777 bytes ...upported_display_modules_&_controllers.pdf | Bin 0 -> 96730 bytes libraries/UTFT/Documentation/version.txt | 70 + .../License - CC BY-NC-SA 3.0 - Legal.pdf | Bin 0 -> 150761 bytes .../License - CC BY-NC-SA 3.0 - Summary.pdf | Bin 0 -> 109586 bytes libraries/UTFT/Tools/ImageConverter565.exe | Bin 0 -> 212992 bytes libraries/UTFT/Tools/ImgConv.exe | Bin 0 -> 21504 bytes .../UTFT/Tools/UTFT Image Converters.pdf | Bin 0 -> 936118 bytes libraries/UTFT/UTFT.cpp | 1332 +++++++++++++++++ libraries/UTFT/UTFT.h | 275 ++++ .../UTFT_Bitmap/UTFT_Bitmap.ino | 67 + .../Arduino (ARM) + Teensy/UTFT_Bitmap/icon.c | 71 + .../Arduino (ARM) + Teensy/UTFT_Bitmap/info.c | 71 + .../Arduino (ARM) + Teensy/UTFT_Bitmap/tux.c | 71 + .../UTFT_Bitmap_128x128.ino | 50 + .../UTFT_Bitmap_128x128/icon1.c | 72 + .../UTFT_Bitmap_128x128/icon2.c | 72 + .../UTFT_Bitmap_128x128/tux.c | 264 ++++ .../UTFT_CPLD_PageSwitching.ino | 94 ++ .../UTFT_Demo_128x128_Serial.ino | 336 +++++ .../UTFT_Demo_160x128_Serial.ino | 332 ++++ .../UTFT_Demo_220x176/UTFT_Demo_220x176.ino | 331 ++++ .../UTFT_Demo_220x176_Serial.ino | 324 ++++ .../UTFT_Demo_320x240/UTFT_Demo_320x240.ino | 330 ++++ .../UTFT_Demo_320x240_Serial.ino | 357 +++++ .../UTFT_Demo_400x240/UTFT_Demo_400x240.ino | 332 ++++ .../UTFT_Demo_480x272/UTFT_Demo_480x272.ino | 329 ++++ .../UTFT_Demo_480x320/UTFT_Demo_480x320.ino | 330 ++++ .../UTFT_Demo_800x480/UTFT_Demo_800x480.ino | 289 ++++ .../UTFT_Rotate_Bitmap/UTFT_Rotate_Bitmap.ino | 38 + .../UTFT_Rotate_Bitmap/biohazard.c | 264 ++++ .../UTFT_Textrotation_Demo.ino | 53 + .../UTFT_ViewFont/UTFT_ViewFont.ino | 60 + .../Arduino (AVR)/UTFT_Bitmap/UTFT_Bitmap.ino | 72 + .../examples/Arduino (AVR)/UTFT_Bitmap/icon.c | 73 + .../examples/Arduino (AVR)/UTFT_Bitmap/info.c | 73 + .../examples/Arduino (AVR)/UTFT_Bitmap/tux.c | 73 + .../UTFT_Bitmap_128x128.ino | 51 + .../Arduino (AVR)/UTFT_Bitmap_128x128/icon1.c | 74 + .../Arduino (AVR)/UTFT_Bitmap_128x128/icon2.c | 74 + .../Arduino (AVR)/UTFT_Bitmap_128x128/tux.c | 266 ++++ .../UTFT_CPLD_PageSwitching.ino | 94 ++ .../UTFT_Demo_128x128_Serial.ino | 336 +++++ .../UTFT_Demo_160x128_Serial.ino | 331 ++++ .../UTFT_Demo_220x176/UTFT_Demo_220x176.ino | 336 +++++ .../UTFT_Demo_220x176_Serial.ino | 323 ++++ .../UTFT_Demo_320x240/UTFT_Demo_320x240.ino | 335 +++++ .../UTFT_Demo_320x240_Serial.ino | 357 +++++ .../UTFT_Demo_400x240/UTFT_Demo_400x240.ino | 337 +++++ .../UTFT_Demo_480x272/UTFT_Demo_480x272.ino | 334 +++++ .../UTFT_Demo_480x320/UTFT_Demo_480x320.ino | 335 +++++ .../UTFT_Demo_800x480/UTFT_Demo_800x480.ino | 294 ++++ .../UTFT_Leonardo_Demo_320x240.ino | 253 ++++ .../UTFT_Rotate_Bitmap/UTFT_Rotate_Bitmap.ino | 44 + .../Arduino (AVR)/UTFT_Rotate_Bitmap/tux.c | 73 + .../UTFT_Textrotation_Demo.ino | 58 + .../UTFT_ViewFont/UTFT_ViewFont.ino | 65 + .../UTFT_Bitmap/UTFT_Bitmap.ino | 60 + .../UTFT_Bitmap/icon.c | 71 + .../UTFT_Bitmap/info.c | 71 + .../TI LaunchPads (Energia)/UTFT_Bitmap/tux.c | 71 + .../UTFT_Demo_160x128_Serial.ino | 324 ++++ .../UTFT_Demo_220x176/UTFT_Demo_220x176.ino | 324 ++++ .../UTFT_Demo_220x176_Serial.ino | 324 ++++ .../UTFT_Demo_320x240/UTFT_Demo_320x240.ino | 323 ++++ .../UTFT_Demo_400x240/UTFT_Demo_400x240.ino | 325 ++++ .../UTFT_Demo_480x320/UTFT_Demo_480x320.ino | 323 ++++ .../UTFT_Rotate_Bitmap/UTFT_Rotate_Bitmap.ino | 31 + .../UTFT_Rotate_Bitmap/biohazard.c | 264 ++++ .../UTFT_Textrotation_Demo.ino | 46 + .../UTFT_ViewFont/UTFT_ViewFont.ino | 55 + .../chipKit/UTFT_Bitmap/UTFT_Bitmap.pde | 66 + .../UTFT/examples/chipKit/UTFT_Bitmap/icon.c | 71 + .../UTFT/examples/chipKit/UTFT_Bitmap/info.c | 71 + .../UTFT/examples/chipKit/UTFT_Bitmap/tux.c | 71 + .../UTFT_Bitmap_128x128.pde | 50 + .../chipKit/UTFT_Bitmap_128x128/icon1.c | 72 + .../chipKit/UTFT_Bitmap_128x128/icon2.c | 72 + .../chipKit/UTFT_Bitmap_128x128/tux.c | 264 ++++ .../UTFT_Demo_128x128_Serial.pde | 336 +++++ .../UTFT_Demo_160x128_Serial.pde | 332 ++++ .../UTFT_Demo_220x176/UTFT_Demo_220x176.pde | 330 ++++ .../UTFT_Demo_220x176_Serial.pde | 323 ++++ .../UTFT_Demo_320x240/UTFT_Demo_320x240.pde | 329 ++++ .../UTFT_Demo_320x240_Serial.pde | 326 ++++ .../UTFT_Demo_400x240/UTFT_Demo_400x240.pde | 331 ++++ .../UTFT_Demo_480x272/UTFT_Demo_480x272.pde | 328 ++++ .../UTFT_Demo_480x320/UTFT_Demo_480x320.pde | 329 ++++ .../UTFT_Demo_800x480/UTFT_Demo_800x480.pde | 288 ++++ .../UTFT_Rotate_Bitmap/UTFT_Rotate_Bitmap.pde | 37 + .../chipKit/UTFT_Rotate_Bitmap/biohazard.c | 264 ++++ .../UTFT_Textrotation_Demo.pde | 52 + .../chipKit/UTFT_ViewFont/UTFT_ViewFont.pde | 59 + libraries/UTFT/hardware/arm/HW_ARM.h | 7 + libraries/UTFT/hardware/arm/HW_ARM_defines.h | 45 + libraries/UTFT/hardware/arm/HW_CC3200.h | 173 +++ libraries/UTFT/hardware/arm/HW_MX20DX256.h | 188 +++ libraries/UTFT/hardware/arm/HW_SAM3X8E.h | 242 +++ libraries/UTFT/hardware/avr/HW_ATmega1280.h | 239 +++ libraries/UTFT/hardware/avr/HW_ATmega1284P.h | 190 +++ libraries/UTFT/hardware/avr/HW_ATmega328P.h | 171 +++ libraries/UTFT/hardware/avr/HW_ATmega32U4.h | 222 +++ libraries/UTFT/hardware/avr/HW_AVR.h | 4 + libraries/UTFT/hardware/avr/HW_AVR_defines.h | 25 + libraries/UTFT/hardware/pic32/HW_PIC32.h | 7 + .../UTFT/hardware/pic32/HW_PIC32MX320F128H.h | 174 +++ .../UTFT/hardware/pic32/HW_PIC32MX340F512H.h | 174 +++ .../UTFT/hardware/pic32/HW_PIC32MX795F512L.h | 188 +++ .../UTFT/hardware/pic32/HW_PIC32_defines.h | 26 + libraries/UTFT/keywords.txt | 146 ++ libraries/UTFT/memorysaver.h | 45 + libraries/UTFT/tft_drivers/cpld/initlcd.h | 10 + libraries/UTFT/tft_drivers/cpld/setxy.h | 7 + .../UTFT/tft_drivers/hx8340b/8/initlcd.h | 80 + libraries/UTFT/tft_drivers/hx8340b/8/setxy.h | 11 + .../UTFT/tft_drivers/hx8340b/s/initlcd.h | 71 + libraries/UTFT/tft_drivers/hx8340b/s/setxy.h | 13 + libraries/UTFT/tft_drivers/hx8347a/initlcd.h | 88 ++ libraries/UTFT/tft_drivers/hx8347a/setxy.h | 11 + libraries/UTFT/tft_drivers/hx8352a/initlcd.h | 131 ++ libraries/UTFT/tft_drivers/hx8352a/setxy.h | 11 + libraries/UTFT/tft_drivers/hx8353c/initlcd.h | 69 + libraries/UTFT/tft_drivers/hx8353c/setxy.h | 13 + libraries/UTFT/tft_drivers/ili9325c/initlcd.h | 61 + libraries/UTFT/tft_drivers/ili9325c/setxy.h | 9 + .../UTFT/tft_drivers/ili9325d/alt/initlcd.h | 61 + .../UTFT/tft_drivers/ili9325d/alt/setxy.h | 9 + .../tft_drivers/ili9325d/default/initlcd.h | 62 + .../UTFT/tft_drivers/ili9325d/default/setxy.h | 10 + libraries/UTFT/tft_drivers/ili9327/initlcd.h | 63 + libraries/UTFT/tft_drivers/ili9327/setxy.h | 13 + .../UTFT/tft_drivers/ili9341/s4p/initlcd.h | 58 + .../UTFT/tft_drivers/ili9341/s4p/setxy.h | 13 + .../UTFT/tft_drivers/ili9341/s5p/initlcd.h | 105 ++ .../UTFT/tft_drivers/ili9341/s5p/setxy.h | 13 + libraries/UTFT/tft_drivers/ili9481/initlcd.h | 62 + libraries/UTFT/tft_drivers/ili9481/setxy.h | 13 + libraries/UTFT/tft_drivers/ili9486/initlcd.h | 105 ++ libraries/UTFT/tft_drivers/ili9486/setxy.h | 13 + libraries/UTFT/tft_drivers/pcf8833/initlcd.h | 30 + libraries/UTFT/tft_drivers/pcf8833/setxy.h | 9 + libraries/UTFT/tft_drivers/r61581/initlcd.h | 110 ++ libraries/UTFT/tft_drivers/r61581/setxy.h | 13 + libraries/UTFT/tft_drivers/s1d19122/initlcd.h | 183 +++ libraries/UTFT/tft_drivers/s1d19122/setxy.h | 13 + libraries/UTFT/tft_drivers/s6d0164/initlcd.h | 44 + libraries/UTFT/tft_drivers/s6d0164/setxy.h | 9 + libraries/UTFT/tft_drivers/s6d1121/initlcd.h | 47 + libraries/UTFT/tft_drivers/s6d1121/setxy.h | 9 + libraries/UTFT/tft_drivers/ssd1289/initlcd.h | 46 + libraries/UTFT/tft_drivers/ssd1289/setxy.h | 10 + .../UTFT/tft_drivers/ssd1963/480/initlcd.h | 78 + .../UTFT/tft_drivers/ssd1963/480/setxy.h | 15 + .../UTFT/tft_drivers/ssd1963/800/initlcd.h | 78 + .../UTFT/tft_drivers/ssd1963/800/setxy.h | 15 + .../UTFT/tft_drivers/ssd1963/800alt/initlcd.h | 78 + .../UTFT/tft_drivers/ssd1963/800alt/setxy.h | 15 + .../UTFT/tft_drivers/st7735/alt/initlcd.h | 104 ++ libraries/UTFT/tft_drivers/st7735/alt/setxy.h | 13 + .../UTFT/tft_drivers/st7735/std/initlcd.h | 104 ++ libraries/UTFT/tft_drivers/st7735/std/setxy.h | 13 + libraries/UTFT/tft_drivers/st7735s/initlcd.h | 98 ++ libraries/UTFT/tft_drivers/st7735s/setxy.h | 13 + .../License - CC BY-NC-SA 3.0 - Legal.pdf | Bin 0 -> 150761 bytes .../License - CC BY-NC-SA 3.0 - Summary.pdf | Bin 0 -> 109586 bytes libraries/UTouch/UTouch.cpp | 262 ++++ libraries/UTouch/UTouch.h | 80 + libraries/UTouch/UTouch.pdf | Bin 0 -> 106015 bytes libraries/UTouch/UTouchCD.h | 35 + .../UTouch_Supported_display_modules.pdf | Bin 0 -> 85675 bytes .../UTouch_ButtonTest/UTouch_ButtonTest.ino | 253 ++++ .../UTouch_ButtonTest/UTouch_ButtonTest.pde | 236 +++ .../UTouch_Calibration/UTouch_Calibration.ino | 382 +++++ .../UTouch_Calibration/UTouch_Calibration.pde | 350 +++++ .../UTouch_QuickDraw/UTouch_QuickDraw.ino | 65 + .../UTouch_QuickDraw/UTouch_QuickDraw.pde | 48 + .../UTouch_QuickPaint/UTouch_QuickPaint.ino | 172 +++ .../UTouch_ButtonTest/UTouch_ButtonTest.pde | 236 +++ .../UTouch_Calibration/UTouch_Calibration.pde | 364 +++++ .../UTouch_QuickDraw/UTouch_QuickDraw.pde | 46 + .../UTouch_QuickPaint/UTouch_QuickPaint.pde | 155 ++ libraries/UTouch/hardware/arm/HW_ARM.inc | 36 + .../UTouch/hardware/arm/HW_ARM_defines.h | 17 + libraries/UTouch/hardware/avr/HW_AVR.inc | 34 + .../UTouch/hardware/avr/HW_AVR_defines.h | 12 + libraries/UTouch/hardware/pic32/HW_PIC32.inc | 36 + .../UTouch/hardware/pic32/HW_PIC32_defines.h | 12 + libraries/UTouch/keywords.txt | 17 + libraries/UTouch/version.txt | 18 + libraries/UTouch/yUTouchCD.h | 21 + libraries/readme.txt | 1 + polargraph_server_a1 | 1 + 248 files changed, 33503 insertions(+) create mode 100644 init/init.ino create mode 100644 libraries/AFMotor/AFMotor.cpp create mode 100644 libraries/AFMotor/AFMotor.h create mode 100644 libraries/AFMotor/README.txt create mode 100644 libraries/AFMotor/examples/MotorParty/MotorParty.pde create mode 100644 libraries/AFMotor/examples/MotorTest/MotorTest.pde create mode 100644 libraries/AFMotor/examples/StepperTest/StepperTest.pde create mode 100644 libraries/AFMotor/keywords.txt create mode 100644 libraries/AccelStepper/AccelStepper.cpp create mode 100644 libraries/AccelStepper/AccelStepper.h create mode 100644 libraries/AccelStepper/LICENSE create mode 100644 libraries/AccelStepper/MANIFEST create mode 100644 libraries/AccelStepper/Makefile create mode 100644 libraries/AccelStepper/doc/AccelStepper_8h-source.html create mode 100644 libraries/AccelStepper/doc/annotated.html create mode 100644 libraries/AccelStepper/doc/classAccelStepper-members.html create mode 100644 libraries/AccelStepper/doc/classAccelStepper.html create mode 100644 libraries/AccelStepper/doc/doxygen.css create mode 100644 libraries/AccelStepper/doc/doxygen.png create mode 100644 libraries/AccelStepper/doc/files.html create mode 100644 libraries/AccelStepper/doc/functions.html create mode 100644 libraries/AccelStepper/doc/functions_func.html create mode 100644 libraries/AccelStepper/doc/index.html create mode 100644 libraries/AccelStepper/doc/tab_b.gif create mode 100644 libraries/AccelStepper/doc/tab_l.gif create mode 100644 libraries/AccelStepper/doc/tab_r.gif create mode 100644 libraries/AccelStepper/doc/tabs.css create mode 100644 libraries/AccelStepper/examples/AFMotor_ConstantSpeed/AFMotor_ConstantSpeed.pde create mode 100644 libraries/AccelStepper/examples/AFMotor_MultiStepper/AFMotor_MultiStepper.pde create mode 100644 libraries/AccelStepper/examples/Blocking/Blocking.pde create mode 100644 libraries/AccelStepper/examples/Bounce/Bounce.pde create mode 100644 libraries/AccelStepper/examples/ConstantSpeed/ConstantSpeed.pde create mode 100644 libraries/AccelStepper/examples/MotorShield/MotorShield.pde create mode 100644 libraries/AccelStepper/examples/MultiStepper/MultiStepper.pde create mode 100644 libraries/AccelStepper/examples/Overshoot/Overshoot.pde create mode 100644 libraries/AccelStepper/examples/ProportionalControl/ProportionalControl.pde create mode 100644 libraries/AccelStepper/examples/Quickstop/Quickstop.pde create mode 100644 libraries/AccelStepper/examples/Random/Random.pde create mode 100644 libraries/AccelStepper/keywords.txt create mode 100644 libraries/AccelStepper/project.cfg create mode 100644 libraries/Adafruit_MotorShield/Adafruit_MotorShield.cpp create mode 100644 libraries/Adafruit_MotorShield/Adafruit_MotorShield.h create mode 100644 libraries/Adafruit_MotorShield/README.txt create mode 100644 libraries/Adafruit_MotorShield/examples/Accel_ConstantSpeed/Accel_ConstantSpeed.ino create mode 100644 libraries/Adafruit_MotorShield/examples/Accel_MultiStepper/Accel_MultiStepper.ino create mode 100644 libraries/Adafruit_MotorShield/examples/DCMotorTest/DCMotorTest.ino create mode 100644 libraries/Adafruit_MotorShield/examples/MotorParty/MotorParty.ino create mode 100644 libraries/Adafruit_MotorShield/examples/StackingTest/StackingTest.ino create mode 100644 libraries/Adafruit_MotorShield/examples/StepperTest/StepperTest.ino create mode 100644 libraries/Adafruit_MotorShield/keywords.txt create mode 100644 libraries/Adafruit_MotorShield/license.txt create mode 100644 libraries/Adafruit_MotorShield/utility/Adafruit_PWMServoDriver.cpp create mode 100644 libraries/Adafruit_MotorShield/utility/Adafruit_PWMServoDriver.h create mode 100644 libraries/Adafruit_MotorShield/utility/license.txt create mode 100644 libraries/UTFT/DefaultFonts.c create mode 100644 libraries/UTFT/Documentation/UTFT.pdf create mode 100644 libraries/UTFT/Documentation/UTFT_Requirements.pdf create mode 100644 libraries/UTFT/Documentation/UTFT_Supported_display_modules_&_controllers.pdf create mode 100644 libraries/UTFT/Documentation/version.txt create mode 100644 libraries/UTFT/License/License - CC BY-NC-SA 3.0 - Legal.pdf create mode 100644 libraries/UTFT/License/License - CC BY-NC-SA 3.0 - Summary.pdf create mode 100644 libraries/UTFT/Tools/ImageConverter565.exe create mode 100644 libraries/UTFT/Tools/ImgConv.exe create mode 100644 libraries/UTFT/Tools/UTFT Image Converters.pdf create mode 100644 libraries/UTFT/UTFT.cpp create mode 100644 libraries/UTFT/UTFT.h create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Bitmap/UTFT_Bitmap.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Bitmap/icon.c create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Bitmap/info.c create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Bitmap/tux.c create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Bitmap_128x128/UTFT_Bitmap_128x128.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Bitmap_128x128/icon1.c create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Bitmap_128x128/icon2.c create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Bitmap_128x128/tux.c create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_CPLD_PageSwitching/UTFT_CPLD_PageSwitching.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Demo_128x128_Serial/UTFT_Demo_128x128_Serial.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Demo_160x128_Serial/UTFT_Demo_160x128_Serial.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Demo_220x176/UTFT_Demo_220x176.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Demo_220x176_Serial/UTFT_Demo_220x176_Serial.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Demo_320x240/UTFT_Demo_320x240.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Demo_320x240_Serial/UTFT_Demo_320x240_Serial.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Demo_400x240/UTFT_Demo_400x240.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Demo_480x272/UTFT_Demo_480x272.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Demo_480x320/UTFT_Demo_480x320.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Demo_800x480/UTFT_Demo_800x480.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Rotate_Bitmap/UTFT_Rotate_Bitmap.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Rotate_Bitmap/biohazard.c create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_Textrotation_Demo/UTFT_Textrotation_Demo.ino create mode 100644 libraries/UTFT/examples/Arduino (ARM) + Teensy/UTFT_ViewFont/UTFT_ViewFont.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Bitmap/UTFT_Bitmap.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Bitmap/icon.c create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Bitmap/info.c create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Bitmap/tux.c create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Bitmap_128x128/UTFT_Bitmap_128x128.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Bitmap_128x128/icon1.c create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Bitmap_128x128/icon2.c create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Bitmap_128x128/tux.c create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_CPLD_PageSwitching/UTFT_CPLD_PageSwitching.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Demo_128x128_Serial/UTFT_Demo_128x128_Serial.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Demo_160x128_Serial/UTFT_Demo_160x128_Serial.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Demo_220x176/UTFT_Demo_220x176.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Demo_220x176_Serial/UTFT_Demo_220x176_Serial.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Demo_320x240/UTFT_Demo_320x240.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Demo_320x240_Serial/UTFT_Demo_320x240_Serial.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Demo_400x240/UTFT_Demo_400x240.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Demo_480x272/UTFT_Demo_480x272.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Demo_480x320/UTFT_Demo_480x320.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Demo_800x480/UTFT_Demo_800x480.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Leonardo_Demo_320x240/UTFT_Leonardo_Demo_320x240.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Rotate_Bitmap/UTFT_Rotate_Bitmap.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Rotate_Bitmap/tux.c create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_Textrotation_Demo/UTFT_Textrotation_Demo.ino create mode 100644 libraries/UTFT/examples/Arduino (AVR)/UTFT_ViewFont/UTFT_ViewFont.ino create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Bitmap/UTFT_Bitmap.ino create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Bitmap/icon.c create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Bitmap/info.c create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Bitmap/tux.c create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Demo_160x128_Serial/UTFT_Demo_160x128_Serial.ino create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Demo_220x176/UTFT_Demo_220x176.ino create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Demo_220x176_Serial/UTFT_Demo_220x176_Serial.ino create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Demo_320x240/UTFT_Demo_320x240.ino create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Demo_400x240/UTFT_Demo_400x240.ino create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Demo_480x320/UTFT_Demo_480x320.ino create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Rotate_Bitmap/UTFT_Rotate_Bitmap.ino create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Rotate_Bitmap/biohazard.c create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_Textrotation_Demo/UTFT_Textrotation_Demo.ino create mode 100644 libraries/UTFT/examples/TI LaunchPads (Energia)/UTFT_ViewFont/UTFT_ViewFont.ino create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Bitmap/UTFT_Bitmap.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Bitmap/icon.c create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Bitmap/info.c create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Bitmap/tux.c create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Bitmap_128x128/UTFT_Bitmap_128x128.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Bitmap_128x128/icon1.c create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Bitmap_128x128/icon2.c create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Bitmap_128x128/tux.c create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Demo_128x128_Serial/UTFT_Demo_128x128_Serial.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Demo_160x128_Serial/UTFT_Demo_160x128_Serial.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Demo_220x176/UTFT_Demo_220x176.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Demo_220x176_Serial/UTFT_Demo_220x176_Serial.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Demo_320x240/UTFT_Demo_320x240.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Demo_320x240_Serial/UTFT_Demo_320x240_Serial.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Demo_400x240/UTFT_Demo_400x240.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Demo_480x272/UTFT_Demo_480x272.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Demo_480x320/UTFT_Demo_480x320.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Demo_800x480/UTFT_Demo_800x480.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Rotate_Bitmap/UTFT_Rotate_Bitmap.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Rotate_Bitmap/biohazard.c create mode 100644 libraries/UTFT/examples/chipKit/UTFT_Textrotation_Demo/UTFT_Textrotation_Demo.pde create mode 100644 libraries/UTFT/examples/chipKit/UTFT_ViewFont/UTFT_ViewFont.pde create mode 100644 libraries/UTFT/hardware/arm/HW_ARM.h create mode 100644 libraries/UTFT/hardware/arm/HW_ARM_defines.h create mode 100644 libraries/UTFT/hardware/arm/HW_CC3200.h create mode 100644 libraries/UTFT/hardware/arm/HW_MX20DX256.h create mode 100644 libraries/UTFT/hardware/arm/HW_SAM3X8E.h create mode 100644 libraries/UTFT/hardware/avr/HW_ATmega1280.h create mode 100644 libraries/UTFT/hardware/avr/HW_ATmega1284P.h create mode 100644 libraries/UTFT/hardware/avr/HW_ATmega328P.h create mode 100644 libraries/UTFT/hardware/avr/HW_ATmega32U4.h create mode 100644 libraries/UTFT/hardware/avr/HW_AVR.h create mode 100644 libraries/UTFT/hardware/avr/HW_AVR_defines.h create mode 100644 libraries/UTFT/hardware/pic32/HW_PIC32.h create mode 100644 libraries/UTFT/hardware/pic32/HW_PIC32MX320F128H.h create mode 100644 libraries/UTFT/hardware/pic32/HW_PIC32MX340F512H.h create mode 100644 libraries/UTFT/hardware/pic32/HW_PIC32MX795F512L.h create mode 100644 libraries/UTFT/hardware/pic32/HW_PIC32_defines.h create mode 100644 libraries/UTFT/keywords.txt create mode 100644 libraries/UTFT/memorysaver.h create mode 100644 libraries/UTFT/tft_drivers/cpld/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/cpld/setxy.h create mode 100644 libraries/UTFT/tft_drivers/hx8340b/8/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/hx8340b/8/setxy.h create mode 100644 libraries/UTFT/tft_drivers/hx8340b/s/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/hx8340b/s/setxy.h create mode 100644 libraries/UTFT/tft_drivers/hx8347a/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/hx8347a/setxy.h create mode 100644 libraries/UTFT/tft_drivers/hx8352a/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/hx8352a/setxy.h create mode 100644 libraries/UTFT/tft_drivers/hx8353c/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/hx8353c/setxy.h create mode 100644 libraries/UTFT/tft_drivers/ili9325c/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/ili9325c/setxy.h create mode 100644 libraries/UTFT/tft_drivers/ili9325d/alt/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/ili9325d/alt/setxy.h create mode 100644 libraries/UTFT/tft_drivers/ili9325d/default/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/ili9325d/default/setxy.h create mode 100644 libraries/UTFT/tft_drivers/ili9327/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/ili9327/setxy.h create mode 100644 libraries/UTFT/tft_drivers/ili9341/s4p/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/ili9341/s4p/setxy.h create mode 100644 libraries/UTFT/tft_drivers/ili9341/s5p/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/ili9341/s5p/setxy.h create mode 100644 libraries/UTFT/tft_drivers/ili9481/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/ili9481/setxy.h create mode 100644 libraries/UTFT/tft_drivers/ili9486/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/ili9486/setxy.h create mode 100644 libraries/UTFT/tft_drivers/pcf8833/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/pcf8833/setxy.h create mode 100644 libraries/UTFT/tft_drivers/r61581/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/r61581/setxy.h create mode 100644 libraries/UTFT/tft_drivers/s1d19122/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/s1d19122/setxy.h create mode 100644 libraries/UTFT/tft_drivers/s6d0164/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/s6d0164/setxy.h create mode 100644 libraries/UTFT/tft_drivers/s6d1121/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/s6d1121/setxy.h create mode 100644 libraries/UTFT/tft_drivers/ssd1289/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/ssd1289/setxy.h create mode 100644 libraries/UTFT/tft_drivers/ssd1963/480/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/ssd1963/480/setxy.h create mode 100644 libraries/UTFT/tft_drivers/ssd1963/800/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/ssd1963/800/setxy.h create mode 100644 libraries/UTFT/tft_drivers/ssd1963/800alt/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/ssd1963/800alt/setxy.h create mode 100644 libraries/UTFT/tft_drivers/st7735/alt/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/st7735/alt/setxy.h create mode 100644 libraries/UTFT/tft_drivers/st7735/std/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/st7735/std/setxy.h create mode 100644 libraries/UTFT/tft_drivers/st7735s/initlcd.h create mode 100644 libraries/UTFT/tft_drivers/st7735s/setxy.h create mode 100644 libraries/UTouch/License - CC BY-NC-SA 3.0 - Legal.pdf create mode 100644 libraries/UTouch/License - CC BY-NC-SA 3.0 - Summary.pdf create mode 100644 libraries/UTouch/UTouch.cpp create mode 100644 libraries/UTouch/UTouch.h create mode 100644 libraries/UTouch/UTouch.pdf create mode 100644 libraries/UTouch/UTouchCD.h create mode 100644 libraries/UTouch/UTouch_Supported_display_modules.pdf create mode 100644 libraries/UTouch/examples/Arduino/UTouch_ButtonTest/UTouch_ButtonTest.ino create mode 100644 libraries/UTouch/examples/Arduino/UTouch_ButtonTest/UTouch_ButtonTest.pde create mode 100644 libraries/UTouch/examples/Arduino/UTouch_Calibration/UTouch_Calibration.ino create mode 100644 libraries/UTouch/examples/Arduino/UTouch_Calibration/UTouch_Calibration.pde create mode 100644 libraries/UTouch/examples/Arduino/UTouch_QuickDraw/UTouch_QuickDraw.ino create mode 100644 libraries/UTouch/examples/Arduino/UTouch_QuickDraw/UTouch_QuickDraw.pde create mode 100644 libraries/UTouch/examples/Arduino/UTouch_QuickPaint/UTouch_QuickPaint.ino create mode 100644 libraries/UTouch/examples/chipKit/UTouch_ButtonTest/UTouch_ButtonTest.pde create mode 100644 libraries/UTouch/examples/chipKit/UTouch_Calibration/UTouch_Calibration.pde create mode 100644 libraries/UTouch/examples/chipKit/UTouch_QuickDraw/UTouch_QuickDraw.pde create mode 100644 libraries/UTouch/examples/chipKit/UTouch_QuickPaint/UTouch_QuickPaint.pde create mode 100644 libraries/UTouch/hardware/arm/HW_ARM.inc create mode 100644 libraries/UTouch/hardware/arm/HW_ARM_defines.h create mode 100644 libraries/UTouch/hardware/avr/HW_AVR.inc create mode 100644 libraries/UTouch/hardware/avr/HW_AVR_defines.h create mode 100644 libraries/UTouch/hardware/pic32/HW_PIC32.inc create mode 100644 libraries/UTouch/hardware/pic32/HW_PIC32_defines.h create mode 100644 libraries/UTouch/keywords.txt create mode 100644 libraries/UTouch/version.txt create mode 100644 libraries/UTouch/yUTouchCD.h create mode 100644 libraries/readme.txt create mode 160000 polargraph_server_a1 diff --git a/init/init.ino b/init/init.ino new file mode 100644 index 0000000..7dda5ab --- /dev/null +++ b/init/init.ino @@ -0,0 +1,6 @@ +void setup() +{ +} +void loop() +{ +} diff --git a/libraries/AFMotor/AFMotor.cpp b/libraries/AFMotor/AFMotor.cpp new file mode 100644 index 0000000..480ce58 --- /dev/null +++ b/libraries/AFMotor/AFMotor.cpp @@ -0,0 +1,563 @@ +// Adafruit Motor shield library +// copyright Adafruit Industries LLC, 2009 +// this code is public domain, enjoy! + + +#if (ARDUINO >= 100) + #include "Arduino.h" +#else + #include + #include "WProgram.h" +#endif + +#include "AFMotor.h" + +static uint8_t latch_state; + +#if (MICROSTEPS == 8) +uint8_t microstepcurve[] = {0, 50, 98, 142, 180, 212, 236, 250, 255}; +#elif (MICROSTEPS == 16) +uint8_t microstepcurve[] = {0, 25, 50, 74, 98, 120, 141, 162, 180, 197, 212, 225, 236, 244, 250, 253, 255}; +#endif + +AFMotorController::AFMotorController(void) { +} + +void AFMotorController::enable(void) { + // setup the latch + /* + LATCH_DDR |= _BV(LATCH); + ENABLE_DDR |= _BV(ENABLE); + CLK_DDR |= _BV(CLK); + SER_DDR |= _BV(SER); + */ + pinMode(MOTORLATCH, OUTPUT); + pinMode(MOTORENABLE, OUTPUT); + pinMode(MOTORDATA, OUTPUT); + pinMode(MOTORCLK, OUTPUT); + + latch_state = 0; + + latch_tx(); // "reset" + + //ENABLE_PORT &= ~_BV(ENABLE); // enable the chip outputs! + digitalWrite(MOTORENABLE, LOW); +} + + +void AFMotorController::latch_tx(void) { + uint8_t i; + + //LATCH_PORT &= ~_BV(LATCH); + digitalWrite(MOTORLATCH, LOW); + + //SER_PORT &= ~_BV(SER); + digitalWrite(MOTORDATA, LOW); + + for (i=0; i<8; i++) { + //CLK_PORT &= ~_BV(CLK); + digitalWrite(MOTORCLK, LOW); + + if (latch_state & _BV(7-i)) { + //SER_PORT |= _BV(SER); + digitalWrite(MOTORDATA, HIGH); + } else { + //SER_PORT &= ~_BV(SER); + digitalWrite(MOTORDATA, LOW); + } + //CLK_PORT |= _BV(CLK); + digitalWrite(MOTORCLK, HIGH); + } + //LATCH_PORT |= _BV(LATCH); + digitalWrite(MOTORLATCH, HIGH); +} + +static AFMotorController MC; + + +/****************************************** + MOTORS +******************************************/ +inline void initPWM1(uint8_t freq) { +#if defined(__AVR_ATmega8__) || \ + defined(__AVR_ATmega48__) || \ + defined(__AVR_ATmega88__) || \ + defined(__AVR_ATmega168__) || \ + defined(__AVR_ATmega328P__) + // use PWM from timer2A on PB3 (Arduino pin #11) + TCCR2A |= _BV(COM2A1) | _BV(WGM20) | _BV(WGM21); // fast PWM, turn on oc2a + TCCR2B = freq & 0x7; + OCR2A = 0; +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) + // on arduino mega, pin 11 is now PB5 (OC1A) + TCCR1A |= _BV(COM1A1) | _BV(WGM10); // fast PWM, turn on oc1a + TCCR1B = (freq & 0x7) | _BV(WGM12); + OCR1A = 0; +#else + #error "This chip is not supported!" +#endif + pinMode(11, OUTPUT); +} + +inline void setPWM1(uint8_t s) { +#if defined(__AVR_ATmega8__) || \ + defined(__AVR_ATmega48__) || \ + defined(__AVR_ATmega88__) || \ + defined(__AVR_ATmega168__) || \ + defined(__AVR_ATmega328P__) + // use PWM from timer2A on PB3 (Arduino pin #11) + OCR2A = s; +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) + // on arduino mega, pin 11 is now PB5 (OC1A) + OCR1A = s; +#else + #error "This chip is not supported!" +#endif +} + +inline void initPWM2(uint8_t freq) { +#if defined(__AVR_ATmega8__) || \ + defined(__AVR_ATmega48__) || \ + defined(__AVR_ATmega88__) || \ + defined(__AVR_ATmega168__) || \ + defined(__AVR_ATmega328P__) + // use PWM from timer2B (pin 3) + TCCR2A |= _BV(COM2B1) | _BV(WGM20) | _BV(WGM21); // fast PWM, turn on oc2b + TCCR2B = freq & 0x7; + OCR2B = 0; +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) + // on arduino mega, pin 3 is now PE5 (OC3C) + TCCR3A |= _BV(COM1C1) | _BV(WGM10); // fast PWM, turn on oc3c + TCCR3B = (freq & 0x7) | _BV(WGM12); + OCR3C = 0; +#else + #error "This chip is not supported!" +#endif + + pinMode(3, OUTPUT); +} + +inline void setPWM2(uint8_t s) { +#if defined(__AVR_ATmega8__) || \ + defined(__AVR_ATmega48__) || \ + defined(__AVR_ATmega88__) || \ + defined(__AVR_ATmega168__) || \ + defined(__AVR_ATmega328P__) + // use PWM from timer2A on PB3 (Arduino pin #11) + OCR2B = s; +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) + // on arduino mega, pin 11 is now PB5 (OC1A) + OCR3C = s; +#else + #error "This chip is not supported!" +#endif +} + +inline void initPWM3(uint8_t freq) { +#if defined(__AVR_ATmega8__) || \ + defined(__AVR_ATmega48__) || \ + defined(__AVR_ATmega88__) || \ + defined(__AVR_ATmega168__) || \ + defined(__AVR_ATmega328P__) + // use PWM from timer0A / PD6 (pin 6) + TCCR0A |= _BV(COM0A1) | _BV(WGM00) | _BV(WGM01); // fast PWM, turn on OC0A + //TCCR0B = freq & 0x7; + OCR0A = 0; +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) + // on arduino mega, pin 6 is now PH3 (OC4A) + TCCR4A |= _BV(COM1A1) | _BV(WGM10); // fast PWM, turn on oc4a + TCCR4B = (freq & 0x7) | _BV(WGM12); + //TCCR4B = 1 | _BV(WGM12); + OCR4A = 0; +#else + #error "This chip is not supported!" +#endif + pinMode(6, OUTPUT); +} + +inline void setPWM3(uint8_t s) { +#if defined(__AVR_ATmega8__) || \ + defined(__AVR_ATmega48__) || \ + defined(__AVR_ATmega88__) || \ + defined(__AVR_ATmega168__) || \ + defined(__AVR_ATmega328P__) + // use PWM from timer0A on PB3 (Arduino pin #6) + OCR0A = s; +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) + // on arduino mega, pin 6 is now PH3 (OC4A) + OCR4A = s; +#else + #error "This chip is not supported!" +#endif +} + + + +inline void initPWM4(uint8_t freq) { +#if defined(__AVR_ATmega8__) || \ + defined(__AVR_ATmega48__) || \ + defined(__AVR_ATmega88__) || \ + defined(__AVR_ATmega168__) || \ + defined(__AVR_ATmega328P__) + // use PWM from timer0B / PD5 (pin 5) + TCCR0A |= _BV(COM0B1) | _BV(WGM00) | _BV(WGM01); // fast PWM, turn on oc0a + //TCCR0B = freq & 0x7; + OCR0B = 0; +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) + // on arduino mega, pin 5 is now PE3 (OC3A) + TCCR3A |= _BV(COM1A1) | _BV(WGM10); // fast PWM, turn on oc3a + TCCR3B = (freq & 0x7) | _BV(WGM12); + //TCCR4B = 1 | _BV(WGM12); + OCR3A = 0; +#else + #error "This chip is not supported!" +#endif + pinMode(5, OUTPUT); +} + +inline void setPWM4(uint8_t s) { +#if defined(__AVR_ATmega8__) || \ + defined(__AVR_ATmega48__) || \ + defined(__AVR_ATmega88__) || \ + defined(__AVR_ATmega168__) || \ + defined(__AVR_ATmega328P__) + // use PWM from timer0A on PB3 (Arduino pin #6) + OCR0B = s; +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) + // on arduino mega, pin 6 is now PH3 (OC4A) + OCR3A = s; +#else + #error "This chip is not supported!" +#endif +} + +AF_DCMotor::AF_DCMotor(uint8_t num, uint8_t freq) { + motornum = num; + pwmfreq = freq; + + MC.enable(); + + switch (num) { + case 1: + latch_state &= ~_BV(MOTOR1_A) & ~_BV(MOTOR1_B); // set both motor pins to 0 + MC.latch_tx(); + initPWM1(freq); + break; + case 2: + latch_state &= ~_BV(MOTOR2_A) & ~_BV(MOTOR2_B); // set both motor pins to 0 + MC.latch_tx(); + initPWM2(freq); + break; + case 3: + latch_state &= ~_BV(MOTOR3_A) & ~_BV(MOTOR3_B); // set both motor pins to 0 + MC.latch_tx(); + initPWM3(freq); + break; + case 4: + latch_state &= ~_BV(MOTOR4_A) & ~_BV(MOTOR4_B); // set both motor pins to 0 + MC.latch_tx(); + initPWM4(freq); + break; + } +} + +void AF_DCMotor::run(uint8_t cmd) { + uint8_t a, b; + switch (motornum) { + case 1: + a = MOTOR1_A; b = MOTOR1_B; break; + case 2: + a = MOTOR2_A; b = MOTOR2_B; break; + case 3: + a = MOTOR3_A; b = MOTOR3_B; break; + case 4: + a = MOTOR4_A; b = MOTOR4_B; break; + default: + return; + } + + switch (cmd) { + case FORWARD: + latch_state |= _BV(a); + latch_state &= ~_BV(b); + MC.latch_tx(); + break; + case BACKWARD: + latch_state &= ~_BV(a); + latch_state |= _BV(b); + MC.latch_tx(); + break; + case RELEASE: + latch_state &= ~_BV(a); + latch_state &= ~_BV(b); + MC.latch_tx(); + break; + } +} + +void AF_DCMotor::setSpeed(uint8_t speed) { + switch (motornum) { + case 1: + setPWM1(speed); break; + case 2: + setPWM2(speed); break; + case 3: + setPWM3(speed); break; + case 4: + setPWM4(speed); break; + } +} + +/****************************************** + STEPPERS +******************************************/ + +AF_Stepper::AF_Stepper(uint16_t steps, uint8_t num) { + MC.enable(); + + revsteps = steps; + steppernum = num; + currentstep = 0; + + if (steppernum == 1) { + latch_state &= ~_BV(MOTOR1_A) & ~_BV(MOTOR1_B) & + ~_BV(MOTOR2_A) & ~_BV(MOTOR2_B); // all motor pins to 0 + MC.latch_tx(); + + // enable both H bridges + pinMode(11, OUTPUT); + pinMode(3, OUTPUT); + digitalWrite(11, HIGH); + digitalWrite(3, HIGH); + + // use PWM for microstepping support + initPWM1(MOTOR12_64KHZ); + initPWM2(MOTOR12_64KHZ); + setPWM1(255); + setPWM2(255); + + } else if (steppernum == 2) { + latch_state &= ~_BV(MOTOR3_A) & ~_BV(MOTOR3_B) & + ~_BV(MOTOR4_A) & ~_BV(MOTOR4_B); // all motor pins to 0 + MC.latch_tx(); + + // enable both H bridges + pinMode(5, OUTPUT); + pinMode(6, OUTPUT); + digitalWrite(5, HIGH); + digitalWrite(6, HIGH); + + // use PWM for microstepping support + // use PWM for microstepping support + initPWM3(1); + initPWM4(1); + setPWM3(255); + setPWM4(255); + } +} + +void AF_Stepper::setSpeed(uint16_t rpm) { + usperstep = 60000000 / (revsteps * rpm); + steppingcounter = 0; +} + +void AF_Stepper::release(void) { + if (steppernum == 1) { + latch_state &= ~_BV(MOTOR1_A) & ~_BV(MOTOR1_B) & + ~_BV(MOTOR2_A) & ~_BV(MOTOR2_B); // all motor pins to 0 + MC.latch_tx(); + } else if (steppernum == 2) { + latch_state &= ~_BV(MOTOR3_A) & ~_BV(MOTOR3_B) & + ~_BV(MOTOR4_A) & ~_BV(MOTOR4_B); // all motor pins to 0 + MC.latch_tx(); + } +} + +void AF_Stepper::step(uint16_t steps, uint8_t dir, uint8_t style) { + uint32_t uspers = usperstep; + uint8_t ret = 0; + + if (style == INTERLEAVE) { + uspers /= 2; + } + else if (style == MICROSTEP) { + uspers /= MICROSTEPS; + steps *= MICROSTEPS; +#ifdef MOTORDEBUG + Serial.print("steps = "); Serial.println(steps, DEC); +#endif + } + + while (steps--) { + ret = onestep(dir, style); + delay(uspers/1000); // in ms + steppingcounter += (uspers % 1000); + if (steppingcounter >= 1000) { + delay(1); + steppingcounter -= 1000; + } + } + if (style == MICROSTEP) { + while ((ret != 0) && (ret != MICROSTEPS)) { + ret = onestep(dir, style); + delay(uspers/1000); // in ms + steppingcounter += (uspers % 1000); + if (steppingcounter >= 1000) { + delay(1); + steppingcounter -= 1000; + } + } + } +} + +uint8_t AF_Stepper::onestep(uint8_t dir, uint8_t style) { + uint8_t a, b, c, d; + uint8_t ocrb, ocra; + + ocra = ocrb = 255; + + if (steppernum == 1) { + a = _BV(MOTOR1_A); + b = _BV(MOTOR2_A); + c = _BV(MOTOR1_B); + d = _BV(MOTOR2_B); + } else if (steppernum == 2) { + a = _BV(MOTOR3_A); + b = _BV(MOTOR4_A); + c = _BV(MOTOR3_B); + d = _BV(MOTOR4_B); + } else { + return 0; + } + + // next determine what sort of stepping procedure we're up to + if (style == SINGLE) { + if ((currentstep/(MICROSTEPS/2)) % 2) { // we're at an odd step, weird + if (dir == FORWARD) { + currentstep += MICROSTEPS/2; + } + else { + currentstep -= MICROSTEPS/2; + } + } else { // go to the next even step + if (dir == FORWARD) { + currentstep += MICROSTEPS; + } + else { + currentstep -= MICROSTEPS; + } + } + } else if (style == DOUBLE) { + if (! (currentstep/(MICROSTEPS/2) % 2)) { // we're at an even step, weird + if (dir == FORWARD) { + currentstep += MICROSTEPS/2; + } else { + currentstep -= MICROSTEPS/2; + } + } else { // go to the next odd step + if (dir == FORWARD) { + currentstep += MICROSTEPS; + } else { + currentstep -= MICROSTEPS; + } + } + } else if (style == INTERLEAVE) { + if (dir == FORWARD) { + currentstep += MICROSTEPS/2; + } else { + currentstep -= MICROSTEPS/2; + } + } + + if (style == MICROSTEP) { + if (dir == FORWARD) { + currentstep++; + } else { + // BACKWARDS + currentstep--; + } + + currentstep += MICROSTEPS*4; + currentstep %= MICROSTEPS*4; + + ocra = ocrb = 0; + if ( (currentstep >= 0) && (currentstep < MICROSTEPS)) { + ocra = microstepcurve[MICROSTEPS - currentstep]; + ocrb = microstepcurve[currentstep]; + } else if ( (currentstep >= MICROSTEPS) && (currentstep < MICROSTEPS*2)) { + ocra = microstepcurve[currentstep - MICROSTEPS]; + ocrb = microstepcurve[MICROSTEPS*2 - currentstep]; + } else if ( (currentstep >= MICROSTEPS*2) && (currentstep < MICROSTEPS*3)) { + ocra = microstepcurve[MICROSTEPS*3 - currentstep]; + ocrb = microstepcurve[currentstep - MICROSTEPS*2]; + } else if ( (currentstep >= MICROSTEPS*3) && (currentstep < MICROSTEPS*4)) { + ocra = microstepcurve[currentstep - MICROSTEPS*3]; + ocrb = microstepcurve[MICROSTEPS*4 - currentstep]; + } + } + + currentstep += MICROSTEPS*4; + currentstep %= MICROSTEPS*4; + +#ifdef MOTORDEBUG + Serial.print("current step: "); Serial.println(currentstep, DEC); + Serial.print(" pwmA = "); Serial.print(ocra, DEC); + Serial.print(" pwmB = "); Serial.println(ocrb, DEC); +#endif + + if (steppernum == 1) { + setPWM1(ocra); + setPWM2(ocrb); + } else if (steppernum == 2) { + setPWM3(ocra); + setPWM4(ocrb); + } + + + // release all + latch_state &= ~a & ~b & ~c & ~d; // all motor pins to 0 + + //Serial.println(step, DEC); + if (style == MICROSTEP) { + if ((currentstep >= 0) && (currentstep < MICROSTEPS)) + latch_state |= a | b; + if ((currentstep >= MICROSTEPS) && (currentstep < MICROSTEPS*2)) + latch_state |= b | c; + if ((currentstep >= MICROSTEPS*2) && (currentstep < MICROSTEPS*3)) + latch_state |= c | d; + if ((currentstep >= MICROSTEPS*3) && (currentstep < MICROSTEPS*4)) + latch_state |= d | a; + } else { + switch (currentstep/(MICROSTEPS/2)) { + case 0: + latch_state |= a; // energize coil 1 only + break; + case 1: + latch_state |= a | b; // energize coil 1+2 + break; + case 2: + latch_state |= b; // energize coil 2 only + break; + case 3: + latch_state |= b | c; // energize coil 2+3 + break; + case 4: + latch_state |= c; // energize coil 3 only + break; + case 5: + latch_state |= c | d; // energize coil 3+4 + break; + case 6: + latch_state |= d; // energize coil 4 only + break; + case 7: + latch_state |= d | a; // energize coil 1+4 + break; + } + } + + + MC.latch_tx(); + return currentstep; +} + diff --git a/libraries/AFMotor/AFMotor.h b/libraries/AFMotor/AFMotor.h new file mode 100644 index 0000000..3b954a5 --- /dev/null +++ b/libraries/AFMotor/AFMotor.h @@ -0,0 +1,104 @@ +// Adafruit Motor shield library +// copyright Adafruit Industries LLC, 2009 +// this code is public domain, enjoy! + +#ifndef _AFMotor_h_ +#define _AFMotor_h_ + +#include +#include + +//#define MOTORDEBUG 1 + +#define MICROSTEPS 16 // 8 or 16 + +#define MOTOR12_64KHZ _BV(CS20) // no prescale +#define MOTOR12_8KHZ _BV(CS21) // divide by 8 +#define MOTOR12_2KHZ _BV(CS21) | _BV(CS20) // divide by 32 +#define MOTOR12_1KHZ _BV(CS22) // divide by 64 + +#define MOTOR34_64KHZ _BV(CS00) // no prescale +#define MOTOR34_8KHZ _BV(CS01) // divide by 8 +#define MOTOR34_1KHZ _BV(CS01) | _BV(CS00) // divide by 64 + +#define MOTOR1_A 2 +#define MOTOR1_B 3 +#define MOTOR2_A 1 +#define MOTOR2_B 4 +#define MOTOR4_A 0 +#define MOTOR4_B 6 +#define MOTOR3_A 5 +#define MOTOR3_B 7 + +#define FORWARD 1 +#define BACKWARD 2 +#define BRAKE 3 +#define RELEASE 4 + +#define SINGLE 1 +#define DOUBLE 2 +#define INTERLEAVE 3 +#define MICROSTEP 4 + +/* +#define LATCH 4 +#define LATCH_DDR DDRB +#define LATCH_PORT PORTB + +#define CLK_PORT PORTD +#define CLK_DDR DDRD +#define CLK 4 + +#define ENABLE_PORT PORTD +#define ENABLE_DDR DDRD +#define ENABLE 7 + +#define SER 0 +#define SER_DDR DDRB +#define SER_PORT PORTB +*/ + +// Arduino pin names +#define MOTORLATCH 12 +#define MOTORCLK 4 +#define MOTORENABLE 7 +#define MOTORDATA 8 + +class AFMotorController +{ + public: + AFMotorController(void); + void enable(void); + friend class AF_DCMotor; + void latch_tx(void); +}; + +class AF_DCMotor +{ + public: + AF_DCMotor(uint8_t motornum, uint8_t freq = MOTOR34_8KHZ); + void run(uint8_t); + void setSpeed(uint8_t); + + private: + uint8_t motornum, pwmfreq; +}; + +class AF_Stepper { + public: + AF_Stepper(uint16_t, uint8_t); + void step(uint16_t steps, uint8_t dir, uint8_t style = SINGLE); + void setSpeed(uint16_t); + uint8_t onestep(uint8_t dir, uint8_t style); + void release(void); + uint16_t revsteps; // # steps per revolution + uint8_t steppernum; + uint32_t usperstep, steppingcounter; + private: + uint8_t currentstep; + +}; + +uint8_t getlatchstate(void); + +#endif diff --git a/libraries/AFMotor/README.txt b/libraries/AFMotor/README.txt new file mode 100644 index 0000000..dfc5765 --- /dev/null +++ b/libraries/AFMotor/README.txt @@ -0,0 +1,5 @@ +This is the August 12, 2009 Adafruit Motor shield firmware with basic Microstepping support. Works with all Arduinos and the Mega + +For more information on the shield, please visit http://www.ladyada.net/make/mshield/ + +To install, click DOWNLOAD SOURCE in the top right corner, and see our tutorial at http://www.ladyada.net/library/arduino/libraries.html on Arduino Library installation \ No newline at end of file diff --git a/libraries/AFMotor/examples/MotorParty/MotorParty.pde b/libraries/AFMotor/examples/MotorParty/MotorParty.pde new file mode 100644 index 0000000..826cf46 --- /dev/null +++ b/libraries/AFMotor/examples/MotorParty/MotorParty.pde @@ -0,0 +1,60 @@ +// Adafruit Motor shield library +// copyright Adafruit Industries LLC, 2009 +// this code is public domain, enjoy! + +#include +#include + +// DC motor on M2 +AF_DCMotor motor(2); +// DC hobby servo +ServoTimer1 servo1; +// Stepper motor on M3+M4 48 steps per revolution +AF_Stepper stepper(48, 2); + +void setup() { + Serial.begin(9600); // set up Serial library at 9600 bps + Serial.println("Motor party!"); + + // turn on servo + servo1.attach(9); + + // turn on motor #2 + motor.setSpeed(200); + motor.run(RELEASE); +} + +int i; + +// Test the DC motor, stepper and servo ALL AT ONCE! +void loop() { + motor.run(FORWARD); + for (i=0; i<255; i++) { + servo1.write(i); + motor.setSpeed(i); + stepper.step(1, FORWARD, INTERLEAVE); + delay(3); + } + + for (i=255; i!=0; i--) { + servo1.write(i-255); + motor.setSpeed(i); + stepper.step(1, BACKWARD, INTERLEAVE); + delay(3); + } + + motor.run(BACKWARD); + for (i=0; i<255; i++) { + servo1.write(i); + motor.setSpeed(i); + delay(3); + stepper.step(1, FORWARD, DOUBLE); + } + + for (i=255; i!=0; i--) { + servo1.write(i-255); + motor.setSpeed(i); + stepper.step(1, BACKWARD, DOUBLE); + delay(3); + } +} diff --git a/libraries/AFMotor/examples/MotorTest/MotorTest.pde b/libraries/AFMotor/examples/MotorTest/MotorTest.pde new file mode 100644 index 0000000..46eccc1 --- /dev/null +++ b/libraries/AFMotor/examples/MotorTest/MotorTest.pde @@ -0,0 +1,52 @@ +// Adafruit Motor shield library +// copyright Adafruit Industries LLC, 2009 +// this code is public domain, enjoy! + +#include + +AF_DCMotor motor(4); + +void setup() { + Serial.begin(9600); // set up Serial library at 9600 bps + Serial.println("Motor test!"); + + // turn on motor + motor.setSpeed(200); + + motor.run(RELEASE); +} + +void loop() { + uint8_t i; + + Serial.print("tick"); + + motor.run(FORWARD); + for (i=0; i<255; i++) { + motor.setSpeed(i); + delay(10); + } + + for (i=255; i!=0; i--) { + motor.setSpeed(i); + delay(10); + } + + Serial.print("tock"); + + motor.run(BACKWARD); + for (i=0; i<255; i++) { + motor.setSpeed(i); + delay(10); + } + + for (i=255; i!=0; i--) { + motor.setSpeed(i); + delay(10); + } + + + Serial.print("tech"); + motor.run(RELEASE); + delay(1000); +} diff --git a/libraries/AFMotor/examples/StepperTest/StepperTest.pde b/libraries/AFMotor/examples/StepperTest/StepperTest.pde new file mode 100644 index 0000000..57d7fd4 --- /dev/null +++ b/libraries/AFMotor/examples/StepperTest/StepperTest.pde @@ -0,0 +1,34 @@ +// Adafruit Motor shield library +// copyright Adafruit Industries LLC, 2009 +// this code is public domain, enjoy! + +#include + +// Connect a stepper motor with 48 steps per revolution (7.5 degree) +// to motor port #2 (M3 and M4) +AF_Stepper motor(48, 2); + +void setup() { + Serial.begin(9600); // set up Serial library at 9600 bps + Serial.println("Stepper test!"); + + motor.setSpeed(10); // 10 rpm +} + +void loop() { + Serial.println("Single coil steps"); + motor.step(100, FORWARD, SINGLE); + motor.step(100, BACKWARD, SINGLE); + + Serial.println("Double coil steps"); + motor.step(100, FORWARD, DOUBLE); + motor.step(100, BACKWARD, DOUBLE); + + Serial.println("Interleave coil steps"); + motor.step(100, FORWARD, INTERLEAVE); + motor.step(100, BACKWARD, INTERLEAVE); + + Serial.println("Micrsostep steps"); + motor.step(100, FORWARD, MICROSTEP); + motor.step(100, BACKWARD, MICROSTEP); +} diff --git a/libraries/AFMotor/keywords.txt b/libraries/AFMotor/keywords.txt new file mode 100644 index 0000000..6fa42dc --- /dev/null +++ b/libraries/AFMotor/keywords.txt @@ -0,0 +1,35 @@ +####################################### +# Syntax Coloring Map for AFMotor +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +AF_DCMotor KEYWORD1 +AF_Stepper KEYWORD1 + +####################################### +# Methods and Functions (KEYWORD2) +####################################### + +enable KEYWORD2 +run KEYWORD2 +setSpeed KEYWORD2 +step KEYWORD2 +onestep KEYWORD2 +release KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### + +MICROSTEPPING LITERAL1 +FORWARD LITERAL1 +BACKWARD LITERAL1 +BRAKE LITERAL1 +RELEASE LITERAL1 +SINGLE LITERAL1 +DOUBLE LITERAL1 +INTERLEAVE LITERAL1 +MICROSTEP LITERAL1 \ No newline at end of file diff --git a/libraries/AccelStepper/AccelStepper.cpp b/libraries/AccelStepper/AccelStepper.cpp new file mode 100644 index 0000000..fafa937 --- /dev/null +++ b/libraries/AccelStepper/AccelStepper.cpp @@ -0,0 +1,624 @@ +// AccelStepper.cpp +// +// Copyright (C) 2009-2013 Mike McCauley +// $Id: AccelStepper.cpp,v 1.17 2013/08/02 01:53:21 mikem Exp mikem $ + +#include "AccelStepper.h" + +#if 0 +// Some debugging assistance +void dump(uint8_t* p, int l) +{ + int i; + + for (i = 0; i < l; i++) + { + Serial.print(p[i], HEX); + Serial.print(" "); + } + Serial.println(""); +} +#endif + +void AccelStepper::moveTo(long absolute) +{ + if (_targetPos != absolute) + { + _targetPos = absolute; + computeNewSpeed(); + // compute new n? + } +} + +void AccelStepper::move(long relative) +{ + moveTo(_currentPos + relative); +} + +// Implements steps according to the current step interval +// You must call this at least once per step +// returns true if a step occurred +boolean AccelStepper::runSpeed() +{ + // Dont do anything unless we actually have a step interval + if (!_stepInterval) + return false; + + unsigned long time = micros(); + // Gymnastics to detect wrapping of either the nextStepTime and/or the current time + unsigned long nextStepTime = _lastStepTime + _stepInterval; + if ( ((nextStepTime >= _lastStepTime) && ((time >= nextStepTime) || (time < _lastStepTime))) + || ((nextStepTime < _lastStepTime) && ((time >= nextStepTime) && (time < _lastStepTime)))) + + { + if (_direction == DIRECTION_CW) + { + // Clockwise + _currentPos += 1; + } + else + { + // Anticlockwise + _currentPos -= 1; + } + step(_currentPos); + + _lastStepTime = time; + return true; + } + else + { + return false; + } +} + +long AccelStepper::distanceToGo() +{ + return _targetPos - _currentPos; +} + +long AccelStepper::targetPosition() +{ + return _targetPos; +} + +long AccelStepper::currentPosition() +{ + return _currentPos; +} + +// Useful during initialisations or after initial positioning +// Sets speed to 0 +void AccelStepper::setCurrentPosition(long position) +{ + _targetPos = _currentPos = position; + _n = 0; + _stepInterval = 0; +} + +void AccelStepper::computeNewSpeed() +{ + long distanceTo = distanceToGo(); // +ve is clockwise from curent location + + long stepsToStop = (long)((_speed * _speed) / (2.0 * _acceleration)); // Equation 16 + + if (distanceTo == 0 && stepsToStop <= 1) + { + // We are at the target and its time to stop + _stepInterval = 0; + _speed = 0.0; + _n = 0; + return; + } + + if (distanceTo > 0) + { + // We are anticlockwise from the target + // Need to go clockwise from here, maybe decelerate now + if (_n > 0) + { + // Currently accelerating, need to decel now? Or maybe going the wrong way? + if ((stepsToStop >= distanceTo) || _direction == DIRECTION_CCW) + _n = -stepsToStop; // Start deceleration + } + else if (_n < 0) + { + // Currently decelerating, need to accel again? + if ((stepsToStop < distanceTo) && _direction == DIRECTION_CW) + _n = -_n; // Start accceleration + } + } + else if (distanceTo < 0) + { + // We are clockwise from the target + // Need to go anticlockwise from here, maybe decelerate + if (_n > 0) + { + // Currently accelerating, need to decel now? Or maybe going the wrong way? + if ((stepsToStop >= -distanceTo) || _direction == DIRECTION_CW) + _n = -stepsToStop; // Start deceleration + } + else if (_n < 0) + { + // Currently decelerating, need to accel again? + if ((stepsToStop < -distanceTo) && _direction == DIRECTION_CCW) + _n = -_n; // Start accceleration + } + } + + // Need to accelerate or decelerate + if (_n == 0) + { + // First step from stopped + _cn = _c0; + _direction = (distanceTo > 0) ? DIRECTION_CW : DIRECTION_CCW; + } + else + { + // Subsequent step. Works for accel (n is +_ve) and decel (n is -ve). + _cn = _cn - ((2.0 * _cn) / ((4.0 * _n) + 1)); // Equation 13 + _cn = max(_cn, _cmin); + } + _n++; + _stepInterval = _cn; + _speed = 1000000.0 / _cn; + if (_direction == DIRECTION_CCW) + _speed = -_speed; + +#if 0 + Serial.println(_speed); + Serial.println(_acceleration); + Serial.println(_cn); + Serial.println(_c0); + Serial.println(_n); + Serial.println(_stepInterval); + Serial.println(distanceTo); + Serial.println(stepsToStop); + Serial.println("-----"); +#endif +} + +// Run the motor to implement speed and acceleration in order to proceed to the target position +// You must call this at least once per step, preferably in your main loop +// If the motor is in the desired position, the cost is very small +// returns true if the motor is still running to the target position. +boolean AccelStepper::run() +{ + if (runSpeed()) + computeNewSpeed(); + return _speed != 0.0 || distanceToGo() != 0; +} + +AccelStepper::AccelStepper(uint8_t interface, uint8_t pin1, uint8_t pin2, uint8_t pin3, uint8_t pin4, bool enable) +{ + _interface = interface; + _currentPos = 0; + _targetPos = 0; + _speed = 0.0; + _maxSpeed = 1.0; + _acceleration = 1.0; + _sqrt_twoa = 1.0; + _stepInterval = 0; + _minPulseWidth = 1; + _enablePin = 0xff; + _lastStepTime = 0; + _pin[0] = pin1; + _pin[1] = pin2; + _pin[2] = pin3; + _pin[3] = pin4; + + // NEW + _n = 0; + _c0 = 0.0; + _cn = 0.0; + _cmin = 1.0; + _direction = DIRECTION_CCW; + + int i; + for (i = 0; i < 4; i++) + _pinInverted[i] = 0; + if (enable) + enableOutputs(); +} + +AccelStepper::AccelStepper(void (*forward)(), void (*backward)()) +{ + _interface = 0; + _currentPos = 0; + _targetPos = 0; + _speed = 0.0; + _maxSpeed = 1.0; + _acceleration = 1.0; + _sqrt_twoa = 1.0; + _stepInterval = 0; + _minPulseWidth = 1; + _enablePin = 0xff; + _lastStepTime = 0; + _pin[0] = 0; + _pin[1] = 0; + _pin[2] = 0; + _pin[3] = 0; + _forward = forward; + _backward = backward; + + // NEW + _n = 0; + _c0 = 0.0; + _cn = 0.0; + _cmin = 1.0; + _direction = DIRECTION_CCW; + + int i; + for (i = 0; i < 4; i++) + _pinInverted[i] = 0; +} + +void AccelStepper::setMaxSpeed(float speed) +{ + if (_maxSpeed != speed) + { + _maxSpeed = speed; + _cmin = 1000000.0 / speed; + // Recompute _n from current speed and adjust speed if accelerating or cruising + if (_n > 0) + { + _n = (long)((_speed * _speed) / (2.0 * _acceleration)); // Equation 16 + computeNewSpeed(); + } + } +} + +void AccelStepper::setAcceleration(float acceleration) +{ + if (acceleration == 0.0) + return; + if (_acceleration != acceleration) + { + // Recompute _n per Equation 17 + _n = _n * (_acceleration / acceleration); + // New c0 per Equation 7 + _c0 = sqrt(2.0 / acceleration) * 1000000.0; + _acceleration = acceleration; + computeNewSpeed(); + } +} + +void AccelStepper::setSpeed(float speed) +{ + if (speed == _speed) + return; + speed = constrain(speed, -_maxSpeed, _maxSpeed); + if (speed == 0.0) + _stepInterval = 0; + else + { + _stepInterval = fabs(1000000.0 / speed); + _direction = (speed > 0.0) ? DIRECTION_CW : DIRECTION_CCW; + } + _speed = speed; +} + +float AccelStepper::speed() +{ + return _speed; +} + +// Subclasses can override +void AccelStepper::step(long step) +{ + switch (_interface) + { + case FUNCTION: + step0(step); + break; + + case DRIVER: + step1(step); + break; + + case FULL2WIRE: + step2(step); + break; + + case FULL3WIRE: + step3(step); + break; + + case FULL4WIRE: + step4(step); + break; + + case HALF3WIRE: + step6(step); + break; + + case HALF4WIRE: + step8(step); + break; + } +} + +// You might want to override this to implement eg serial output +// bit 0 of the mask corresponds to _pin[0] +// bit 1 of the mask corresponds to _pin[1] +// .... +void AccelStepper::setOutputPins(uint8_t mask) +{ + uint8_t numpins = 2; + if (_interface == FULL4WIRE || _interface == HALF4WIRE) + numpins = 4; + uint8_t i; + for (i = 0; i < numpins; i++) + digitalWrite(_pin[i], (mask & (1 << i)) ? (HIGH ^ _pinInverted[i]) : (LOW ^ _pinInverted[i])); +} + +// 0 pin step function (ie for functional usage) +void AccelStepper::step0(long step) +{ + if (_speed > 0) + _forward(); + else + _backward(); +} + +// 1 pin step function (ie for stepper drivers) +// This is passed the current step number (0 to 7) +// Subclasses can override +void AccelStepper::step1(long step) +{ + // _pin[0] is step, _pin[1] is direction + setOutputPins(_direction ? 0b10 : 0b00); // Set direction first else get rogue pulses + setOutputPins(_direction ? 0b11 : 0b01); // step HIGH + // Caution 200ns setup time + // Delay the minimum allowed pulse width + delayMicroseconds(_minPulseWidth); + setOutputPins(_direction ? 0b10 : 0b00); // step LOW + +} + + +// 2 pin step function +// This is passed the current step number (0 to 7) +// Subclasses can override +void AccelStepper::step2(long step) +{ + switch (step & 0x3) + { + case 0: /* 01 */ + setOutputPins(0b10); + break; + + case 1: /* 11 */ + setOutputPins(0b11); + break; + + case 2: /* 10 */ + setOutputPins(0b01); + break; + + case 3: /* 00 */ + setOutputPins(0b00); + break; + } +} +// 3 pin step function +// This is passed the current step number (0 to 7) +// Subclasses can override +void AccelStepper::step3(long step) +{ + switch (step % 3) + { + case 0: // 100 + setOutputPins(0b100); + break; + + case 1: // 001 + setOutputPins(0b001); + break; + + case 2: //010 + setOutputPins(0b010); + break; + + } +} + +// 4 pin step function for half stepper +// This is passed the current step number (0 to 7) +// Subclasses can override +void AccelStepper::step4(long step) +{ + switch (step & 0x3) + { + case 0: // 1010 + setOutputPins(0b0101); + break; + + case 1: // 0110 + setOutputPins(0b0110); + break; + + case 2: //0101 + setOutputPins(0b1010); + break; + + case 3: //1001 + setOutputPins(0b1001); + break; + } +} + +// 3 pin half step function +// This is passed the current step number (0 to 7) +// Subclasses can override +void AccelStepper::step6(long step) +{ + switch (step % 6) + { + case 0: // 100 + setOutputPins(0b100); + break; + + case 1: // 101 + setOutputPins(0b101); + break; + + case 2: // 001 + setOutputPins(0b001); + break; + + case 3: // 011 + setOutputPins(0b011); + break; + + case 4: // 010 + setOutputPins(0b010); + break; + + case 5: // 011 + setOutputPins(0b110); + break; + + } +} + +// 4 pin half step function +// This is passed the current step number (0 to 7) +// Subclasses can override +void AccelStepper::step8(long step) +{ + switch (step & 0x7) + { + case 0: // 1000 + setOutputPins(0b0001); + break; + + case 1: // 1010 + setOutputPins(0b0101); + break; + + case 2: // 0010 + setOutputPins(0b0100); + break; + + case 3: // 0110 + setOutputPins(0b0110); + break; + + case 4: // 0100 + setOutputPins(0b0010); + break; + + case 5: //0101 + setOutputPins(0b1010); + break; + + case 6: // 0001 + setOutputPins(0b1000); + break; + + case 7: //1001 + setOutputPins(0b1001); + break; + } +} + +// Prevents power consumption on the outputs +void AccelStepper::disableOutputs() +{ + if (! _interface) return; + + setOutputPins(0); // Handles inversion automatically + if (_enablePin != 0xff) + digitalWrite(_enablePin, LOW ^ _enableInverted); +} + +void AccelStepper::enableOutputs() +{ + if (! _interface) + return; + + pinMode(_pin[0], OUTPUT); + pinMode(_pin[1], OUTPUT); + if (_interface == FULL4WIRE || _interface == HALF4WIRE) + { + pinMode(_pin[2], OUTPUT); + pinMode(_pin[3], OUTPUT); + } + + if (_enablePin != 0xff) + { + pinMode(_enablePin, OUTPUT); + digitalWrite(_enablePin, HIGH ^ _enableInverted); + } +} + +void AccelStepper::setMinPulseWidth(unsigned int minWidth) +{ + _minPulseWidth = minWidth; +} + +void AccelStepper::setEnablePin(uint8_t enablePin) +{ + _enablePin = enablePin; + + // This happens after construction, so init pin now. + if (_enablePin != 0xff) + { + pinMode(_enablePin, OUTPUT); + digitalWrite(_enablePin, HIGH ^ _enableInverted); + } +} + +void AccelStepper::setPinsInverted(bool directionInvert, bool stepInvert, bool enableInvert) +{ + _pinInverted[0] = stepInvert; + _pinInverted[1] = directionInvert; + _enableInverted = enableInvert; +} + +void AccelStepper::setPinsInverted(bool pin1Invert, bool pin2Invert, bool pin3Invert, bool pin4Invert, bool enableInvert) +{ + _pinInverted[0] = pin1Invert; + _pinInverted[1] = pin2Invert; + _pinInverted[2] = pin3Invert; + _pinInverted[3] = pin4Invert; + _enableInverted = enableInvert; +} + +// Blocks until the target position is reached and stopped +void AccelStepper::runToPosition() +{ + while (run()) + ; +} + +boolean AccelStepper::runSpeedToPosition() +{ + if (_targetPos == _currentPos) + return false; + if (_targetPos >_currentPos) + _direction = DIRECTION_CW; + else + _direction = DIRECTION_CCW; + return runSpeed(); +} + +// Blocks until the new target position is reached +void AccelStepper::runToNewPosition(long position) +{ + moveTo(position); + runToPosition(); +} + +void AccelStepper::stop() +{ + if (_speed != 0.0) + { + long stepsToStop = (long)((_speed * _speed) / (2.0 * _acceleration)) + 1; // Equation 16 (+integer rounding) + if (_speed > 0) + move(stepsToStop); + else + move(-stepsToStop); + } +} diff --git a/libraries/AccelStepper/AccelStepper.h b/libraries/AccelStepper/AccelStepper.h new file mode 100644 index 0000000..2f11ff3 --- /dev/null +++ b/libraries/AccelStepper/AccelStepper.h @@ -0,0 +1,620 @@ +// AccelStepper.h +// +/// \mainpage AccelStepper library for Arduino +/// +/// This is the Arduino AccelStepper library. +/// It provides an object-oriented interface for 2, 3 or 4 pin stepper motors. +/// +/// The standard Arduino IDE includes the Stepper library +/// (http://arduino.cc/en/Reference/Stepper) for stepper motors. It is +/// perfectly adequate for simple, single motor applications. +/// +/// AccelStepper significantly improves on the standard Arduino Stepper library in several ways: +/// \li Supports acceleration and deceleration +/// \li Supports multiple simultaneous steppers, with independent concurrent stepping on each stepper +/// \li API functions never delay() or block +/// \li Supports 2, 3 and 4 wire steppers, plus 3 and 4 wire half steppers. +/// \li Supports alternate stepping functions to enable support of AFMotor (https://github.com/adafruit/Adafruit-Motor-Shield-library) +/// \li Supports stepper drivers such as the Sparkfun EasyDriver (based on 3967 driver chip) +/// \li Very slow speeds are supported +/// \li Extensive API +/// \li Subclass support +/// +/// The latest version of this documentation can be downloaded from +/// http://www.airspayce.com/mikem/arduino/AccelStepper +/// The version of the package that this documentation refers to can be downloaded +/// from http://www.airspayce.com/mikem/arduino/AccelStepper/AccelStepper-1.38.zip +/// +/// Example Arduino programs are included to show the main modes of use. +/// +/// You can also find online help and discussion at http://groups.google.com/group/accelstepper +/// Please use that group for all questions and discussions on this topic. +/// Do not contact the author directly, unless it is to discuss commercial licensing. +/// +/// Tested on Arduino Diecimila and Mega with arduino-0018 & arduino-0021 +/// on OpenSuSE 11.1 and avr-libc-1.6.1-1.15, +/// cross-avr-binutils-2.19-9.1, cross-avr-gcc-4.1.3_20080612-26.5. +/// +/// \par Installation +/// Install in the usual way: unzip the distribution zip file to the libraries +/// sub-folder of your sketchbook. +/// +/// \par Theory +/// This code uses speed calculations as described in +/// "Generate stepper-motor speed profiles in real time" by David Austin +/// http://fab.cba.mit.edu/classes/MIT/961.09/projects/i0/Stepper_Motor_Speed_Profile.pdf +/// with the exception that AccelStepper uses steps per second rather than radians per second +/// (because we dont know the step angle of the motor) +/// An initial step interval is calculated for the first step, based on the desired acceleration +/// On subsequent steps, shorter step intervals are calculated based +/// on the previous step until max speed is achieved. +/// +/// This software is Copyright (C) 2010 Mike McCauley. Use is subject to license +/// conditions. The main licensing options available are GPL V2 or Commercial: +/// +/// \par Open Source Licensing GPL V2 +/// This is the appropriate option if you want to share the source code of your +/// application with everyone you distribute it to, and you also want to give them +/// the right to share who uses it. If you wish to use this software under Open +/// Source Licensing, you must contribute all your source code to the open source +/// community in accordance with the GPL Version 2 when your application is +/// distributed. See http://www.gnu.org/copyleft/gpl.html +/// +/// \par Commercial Licensing +/// This is the appropriate option if you are creating proprietary applications +/// and you are not prepared to distribute and share the source code of your +/// application. Contact info@airspayce.com for details. +/// +/// \par Revision History +/// \version 1.0 Initial release +/// +/// \version 1.1 Added speed() function to get the current speed. +/// \version 1.2 Added runSpeedToPosition() submitted by Gunnar Arndt. +/// \version 1.3 Added support for stepper drivers (ie with Step and Direction inputs) with _pins == 1 +/// \version 1.4 Added functional contructor to support AFMotor, contributed by Limor, with example sketches. +/// \version 1.5 Improvements contributed by Peter Mousley: Use of microsecond steps and other speed improvements +/// to increase max stepping speed to about 4kHz. New option for user to set the min allowed pulse width. +/// Added checks for already running at max speed and skip further calcs if so. +/// \version 1.6 Fixed a problem with wrapping of microsecond stepping that could cause stepping to hang. +/// Reported by Sandy Noble. +/// Removed redundant _lastRunTime member. +/// \version 1.7 Fixed a bug where setCurrentPosition() did not always work as expected. +/// Reported by Peter Linhart. +/// \version 1.8 Added support for 4 pin half-steppers, requested by Harvey Moon +/// \version 1.9 setCurrentPosition() now also sets motor speed to 0. +/// \version 1.10 Builds on Arduino 1.0 +/// \version 1.11 Improvments from Michael Ellison: +/// Added optional enable line support for stepper drivers +/// Added inversion for step/direction/enable lines for stepper drivers +/// \version 1.12 Announce Google Group +/// \version 1.13 Improvements to speed calculation. Cost of calculation is now less in the worst case, +/// and more or less constant in all cases. This should result in slightly beter high speed performance, and +/// reduce anomalous speed glitches when other steppers are accelerating. +/// However, its hard to see how to replace the sqrt() required at the very first step from 0 speed. +/// \version 1.14 Fixed a problem with compiling under arduino 0021 reported by EmbeddedMan +/// \version 1.15 Fixed a problem with runSpeedToPosition which did not correctly handle +/// running backwards to a smaller target position. Added examples +/// \version 1.16 Fixed some cases in the code where abs() was used instead of fabs(). +/// \version 1.17 Added example ProportionalControl +/// \version 1.18 Fixed a problem: If one calls the funcion runSpeed() when Speed is zero, it makes steps +/// without counting. reported by Friedrich, Klappenbach. +/// \version 1.19 Added MotorInterfaceType and symbolic names for the number of pins to use +/// for the motor interface. Updated examples to suit. +/// Replaced individual pin assignment variables _pin1, _pin2 etc with array _pin[4]. +/// _pins member changed to _interface. +/// Added _pinInverted array to simplify pin inversion operations. +/// Added new function setOutputPins() which sets the motor output pins. +/// It can be overridden in order to provide, say, serial output instead of parallel output +/// Some refactoring and code size reduction. +/// \version 1.20 Improved documentation and examples to show need for correctly +/// specifying AccelStepper::FULL4WIRE and friends. +/// \version 1.21 Fixed a problem where desiredSpeed could compute the wrong step acceleration +/// when _speed was small but non-zero. Reported by Brian Schmalz. +/// Precompute sqrt_twoa to improve performance and max possible stepping speed +/// \version 1.22 Added Bounce.pde example +/// Fixed a problem where calling moveTo(), setMaxSpeed(), setAcceleration() more +/// frequently than the step time, even +/// with the same values, would interfere with speed calcs. Now a new speed is computed +/// only if there was a change in the set value. Reported by Brian Schmalz. +/// \version 1.23 Rewrite of the speed algorithms in line with +/// http://fab.cba.mit.edu/classes/MIT/961.09/projects/i0/Stepper_Motor_Speed_Profile.pdf +/// Now expect smoother and more linear accelerations and decelerations. The desiredSpeed() +/// function was removed. +/// \version 1.24 Fixed a problem introduced in 1.23: with runToPosition, which did never returned +/// \version 1.25 Now ignore attempts to set acceleration to 0.0 +/// \version 1.26 Fixed a problem where certina combinations of speed and accelration could cause +/// oscillation about the target position. +/// \version 1.27 Added stop() function to stop as fast as possible with current acceleration parameters. +/// Also added new Quickstop example showing its use. +/// \version 1.28 Fixed another problem where certain combinations of speed and accelration could cause +/// oscillation about the target position. +/// Added support for 3 wire full and half steppers such as Hard Disk Drive spindle. +/// Contributed by Yuri Ivatchkovitch. +/// \version 1.29 Fixed a problem that could cause a DRIVER stepper to continually step +/// with some sketches. Reported by Vadim. +/// \version 1.30 Fixed a problem that could cause stepper to back up a few steps at the end of +/// accelerated travel with certain speeds. Reported and patched by jolo. +/// \version 1.31 Updated author and distribution location details to airspayce.com +/// \version 1.32 Fixed a problem with enableOutputs() and setEnablePin on Arduino Due that +/// prevented the enable pin changing stae correctly. Reported by Duane Bishop. +/// \version 1.33 Fixed an error in example AFMotor_ConstantSpeed.pde did not setMaxSpeed(); +/// Fixed a problem that caused incorrect pin sequencing of FULL3WIRE and HALF3WIRE. +/// Unfortunately this meant changing the signature for all step*() functions. +/// Added example MotorShield, showing how to use AdaFruit Motor Shield to control +/// a 3 phase motor such as a HDD spindle motor (and without using the AFMotor library. +/// \version 1.34 Added setPinsInverted(bool pin1Invert, bool pin2Invert, bool pin3Invert, bool pin4Invert, bool enableInvert) +/// to allow inversion of 2, 3 and 4 wire stepper pins. Requested by Oleg. +/// \version 1.35 Removed default args from setPinsInverted(bool, bool, bool, bool, bool) to prevent ambiguity with +/// setPinsInverted(bool, bool, bool). Reported by Mac Mac. +/// \version 1.36 Changed enableOutputs() and disableOutputs() to be virtual so can be overridden. +/// Added new optional argument 'enable' to constructor, which allows you toi disable the +/// automatic enabling of outputs at construction time. Suggested by Guido. +/// \version 1.37 Fixed a problem with step1 that could cause a rogue step in the +/// wrong direction (or not, +/// depending on the setup-time requirements of the connected hardware). +/// Reported by Mark Tillotson. +/// \version 1.38 run() function incorrectly always returned true. Updated function and doc so it returns true +/// if the motor is still running to the target position. +/// +/// \author Mike McCauley (mikem@airspayce.com) DO NOT CONTACT THE AUTHOR DIRECTLY: USE THE LISTS +// Copyright (C) 2009-2013 Mike McCauley +// $Id: AccelStepper.h,v 1.19 2013/08/02 01:53:21 mikem Exp mikem $ + +#ifndef AccelStepper_h +#define AccelStepper_h + +#include +#if ARDUINO >= 100 +#include +#else +#include +#include +#endif + +// These defs cause trouble on some versions of Arduino +#undef round + +///////////////////////////////////////////////////////////////////// +/// \class AccelStepper AccelStepper.h +/// \brief Support for stepper motors with acceleration etc. +/// +/// This defines a single 2 or 4 pin stepper motor, or stepper moter with fdriver chip, with optional +/// acceleration, deceleration, absolute positioning commands etc. Multiple +/// simultaneous steppers are supported, all moving +/// at different speeds and accelerations. +/// +/// \par Operation +/// This module operates by computing a step time in microseconds. The step +/// time is recomputed after each step and after speed and acceleration +/// parameters are changed by the caller. The time of each step is recorded in +/// microseconds. The run() function steps the motor once if a new step is due. +/// The run() function must be called frequently until the motor is in the +/// desired position, after which time run() will do nothing. +/// +/// \par Positioning +/// Positions are specified by a signed long integer. At +/// construction time, the current position of the motor is consider to be 0. Positive +/// positions are clockwise from the initial position; negative positions are +/// anticlockwise. The curent position can be altered for instance after +/// initialization positioning. +/// +/// \par Caveats +/// This is an open loop controller: If the motor stalls or is oversped, +/// AccelStepper will not have a correct +/// idea of where the motor really is (since there is no feedback of the motor's +/// real position. We only know where we _think_ it is, relative to the +/// initial starting point). +/// +/// \par Performance +/// The fastest motor speed that can be reliably supported is about 4000 steps per +/// second at a clock frequency of 16 MHz on Arduino such as Uno etc. +/// Faster processors can support faster stepping speeds. +/// However, any speed less than that +/// down to very slow speeds (much less than one per second) are also supported, +/// provided the run() function is called frequently enough to step the motor +/// whenever required for the speed set. +/// Calling setAcceleration() is expensive, +/// since it requires a square root to be calculated. +class AccelStepper +{ +public: + /// \brief Symbolic names for number of pins. + /// Use this in the pins argument the AccelStepper constructor to + /// provide a symbolic name for the number of pins + /// to use. + typedef enum + { + FUNCTION = 0, ///< Use the functional interface, implementing your own driver functions (internal use only) + DRIVER = 1, ///< Stepper Driver, 2 driver pins required + FULL2WIRE = 2, ///< 2 wire stepper, 2 motor pins required + FULL3WIRE = 3, ///< 3 wire stepper, such as HDD spindle, 3 motor pins required + FULL4WIRE = 4, ///< 4 wire full stepper, 4 motor pins required + HALF3WIRE = 6, ///< 3 wire half stepper, such as HDD spindle, 3 motor pins required + HALF4WIRE = 8 ///< 4 wire half stepper, 4 motor pins required + } MotorInterfaceType; + + /// Constructor. You can have multiple simultaneous steppers, all moving + /// at different speeds and accelerations, provided you call their run() + /// functions at frequent enough intervals. Current Position is set to 0, target + /// position is set to 0. MaxSpeed and Acceleration default to 1.0. + /// The motor pins will be initialised to OUTPUT mode during the + /// constructor by a call to enableOutputs(). + /// \param[in] interface Number of pins to interface to. 1, 2, 4 or 8 are + /// supported, but it is preferred to use the \ref MotorInterfaceType symbolic names. + /// AccelStepper::DRIVER (1) means a stepper driver (with Step and Direction pins). + /// If an enable line is also needed, call setEnablePin() after construction. + /// You may also invert the pins using setPinsInverted(). + /// AccelStepper::FULL2WIRE (2) means a 2 wire stepper (2 pins required). + /// AccelStepper::FULL3WIRE (3) means a 3 wire stepper, such as HDD spindle (3 pins required). + /// AccelStepper::FULL4WIRE (4) means a 4 wire stepper (4 pins required). + /// AccelStepper::HALF3WIRE (6) means a 3 wire half stepper, such as HDD spindle (3 pins required) + /// AccelStepper::HALF4WIRE (8) means a 4 wire half stepper (4 pins required) + /// Defaults to AccelStepper::FULL4WIRE (4) pins. + /// \param[in] pin1 Arduino digital pin number for motor pin 1. Defaults + /// to pin 2. For a AccelStepper::DRIVER (pins==1), + /// this is the Step input to the driver. Low to high transition means to step) + /// \param[in] pin2 Arduino digital pin number for motor pin 2. Defaults + /// to pin 3. For a AccelStepper::DRIVER (pins==1), + /// this is the Direction input the driver. High means forward. + /// \param[in] pin3 Arduino digital pin number for motor pin 3. Defaults + /// to pin 4. + /// \param[in] pin4 Arduino digital pin number for motor pin 4. Defaults + /// to pin 5. + /// \param[in] enable If this is true (the default), enableOutpuys() will be called to enable + /// the output pins at construction time. + AccelStepper(uint8_t interface = AccelStepper::FULL4WIRE, uint8_t pin1 = 2, uint8_t pin2 = 3, uint8_t pin3 = 4, uint8_t pin4 = 5, bool enable = true); + + /// Alternate Constructor which will call your own functions for forward and backward steps. + /// You can have multiple simultaneous steppers, all moving + /// at different speeds and accelerations, provided you call their run() + /// functions at frequent enough intervals. Current Position is set to 0, target + /// position is set to 0. MaxSpeed and Acceleration default to 1.0. + /// Any motor initialization should happen before hand, no pins are used or initialized. + /// \param[in] forward void-returning procedure that will make a forward step + /// \param[in] backward void-returning procedure that will make a backward step + AccelStepper(void (*forward)(), void (*backward)()); + + /// Set the target position. The run() function will try to move the motor (at most one step per call) + /// from the current position to the target position set by the most + /// recent call to this function. Caution: moveTo() also recalculates the speed for the next step. + /// If you are trying to use constant speed movements, you should call setSpeed() after calling moveTo(). + /// \param[in] absolute The desired absolute position. Negative is + /// anticlockwise from the 0 position. + virtual void moveTo(long absolute); + + /// Set the target position relative to the current position + /// \param[in] relative The desired position relative to the current position. Negative is + /// anticlockwise from the current position. + void move(long relative); + + /// Poll the motor and step it if a step is due, implementing + /// accelerations and decelerations to acheive the target position. You must call this as + /// frequently as possible, but at least once per minimum step time interval, + /// preferably in your main loop. Note that each call to run() will make at most one step, and then only when a step is due, + /// based on the current speed and the time since the last step. + /// \return true if the motor is still running to the target position. + boolean run(); + + /// Poll the motor and step it if a step is due, implementing a constant + /// speed as set by the most recent call to setSpeed(). You must call this as + /// frequently as possible, but at least once per step interval, + /// \return true if the motor was stepped. + virtual boolean runSpeed(); + + /// Sets the maximum permitted speed. The run() function will accelerate + /// up to the speed set by this function. + /// \param[in] speed The desired maximum speed in steps per second. Must + /// be > 0. Caution: Speeds that exceed the maximum speed supported by the processor may + /// Result in non-linear accelerations and decelerations. + void setMaxSpeed(float speed); + + /// Sets the acceleration/deceleration rate. + /// \param[in] acceleration The desired acceleration in steps per second + /// per second. Must be > 0.0. This is an expensive call since it requires a square + /// root to be calculated. Dont call more ofthen than needed + void setAcceleration(float acceleration); + + /// Sets the desired constant speed for use with runSpeed(). + /// \param[in] speed The desired constant speed in steps per + /// second. Positive is clockwise. Speeds of more than 1000 steps per + /// second are unreliable. Very slow speeds may be set (eg 0.00027777 for + /// once per hour, approximately. Speed accuracy depends on the Arduino + /// crystal. Jitter depends on how frequently you call the runSpeed() function. + void setSpeed(float speed); + + /// The most recently set speed + /// \return the most recent speed in steps per second + float speed(); + + /// The distance from the current position to the target position. + /// \return the distance from the current position to the target position + /// in steps. Positive is clockwise from the current position. + long distanceToGo(); + + /// The most recently set target position. + /// \return the target position + /// in steps. Positive is clockwise from the 0 position. + long targetPosition(); + + /// The currently motor position. + /// \return the current motor position + /// in steps. Positive is clockwise from the 0 position. + long currentPosition(); + + /// Resets the current position of the motor, so that wherever the motor + /// happens to be right now is considered to be the new 0 position. Useful + /// for setting a zero position on a stepper after an initial hardware + /// positioning move. + /// Has the side effect of setting the current motor speed to 0. + /// \param[in] position The position in steps of wherever the motor + /// happens to be right now. + void setCurrentPosition(long position); + + /// Moves the motor at the currently selected constant speed (forward or reverse) + /// to the target position and blocks until it is at + /// position. Dont use this in event loops, since it blocks. + void runToPosition(); + + /// Runs at the currently selected speed until the target position is reached + /// Does not implement accelerations. + /// \return true if it stepped + virtual boolean runSpeedToPosition(); + + /// Moves the motor to the new target position and blocks until it is at + /// position. Dont use this in event loops, since it blocks. + /// \param[in] position The new target position. + void runToNewPosition(long position); + + /// Sets a new target position that causes the stepper + /// to stop as quickly as possible, using to the current speed and acceleration parameters. + void stop(); + + /// Disable motor pin outputs by setting them all LOW + /// Depending on the design of your electronics this may turn off + /// the power to the motor coils, saving power. + /// This is useful to support Arduino low power modes: disable the outputs + /// during sleep and then reenable with enableOutputs() before stepping + /// again. + virtual void disableOutputs(); + + /// Enable motor pin outputs by setting the motor pins to OUTPUT + /// mode. Called automatically by the constructor. + virtual void enableOutputs(); + + /// Sets the minimum pulse width allowed by the stepper driver. The minimum practical pulse width is + /// approximately 20 microseconds. Times less than 20 microseconds + /// will usually result in 20 microseconds or so. + /// \param[in] minWidth The minimum pulse width in microseconds. + void setMinPulseWidth(unsigned int minWidth); + + /// Sets the enable pin number for stepper drivers. + /// 0xFF indicates unused (default). + /// Otherwise, if a pin is set, the pin will be turned on when + /// enableOutputs() is called and switched off when disableOutputs() + /// is called. + /// \param[in] enablePin Arduino digital pin number for motor enable + /// \sa setPinsInverted + void setEnablePin(uint8_t enablePin = 0xff); + + /// Sets the inversion for stepper driver pins + /// \param[in] directionInvert True for inverted direction pin, false for non-inverted + /// \param[in] stepInvert True for inverted step pin, false for non-inverted + /// \param[in] enableInvert True for inverted enable pin, false (default) for non-inverted + void setPinsInverted(bool directionInvert = false, bool stepInvert = false, bool enableInvert = false); + + /// Sets the inversion for 2, 3 and 4 wire stepper pins + /// \param[in] pin1Invert True for inverted pin1, false for non-inverted + /// \param[in] pin2Invert True for inverted pin2, false for non-inverted + /// \param[in] pin3Invert True for inverted pin3, false for non-inverted + /// \param[in] pin4Invert True for inverted pin4, false for non-inverted + /// \param[in] enableInvert True for inverted enable pin, false (default) for non-inverted + void setPinsInverted(bool pin1Invert, bool pin2Invert, bool pin3Invert, bool pin4Invert, bool enableInvert); + +protected: + + /// \brief Direction indicator + /// Symbolic names for the direction the motor is turning + typedef enum + { + DIRECTION_CCW = 0, ///< Clockwise + DIRECTION_CW = 1 ///< Counter-Clockwise + } Direction; + + /// Forces the library to compute a new instantaneous speed and set that as + /// the current speed. It is called by + /// the library: + /// \li after each step + /// \li after change to maxSpeed through setMaxSpeed() + /// \li after change to acceleration through setAcceleration() + /// \li after change to target position (relative or absolute) through + /// move() or moveTo() + void computeNewSpeed(); + + /// Low level function to set the motor output pins + /// bit 0 of the mask corresponds to _pin[0] + /// bit 1 of the mask corresponds to _pin[1] + /// You can override this to impment, for example serial chip output insted of using the + /// output pins directly + virtual void setOutputPins(uint8_t mask); + + /// Called to execute a step. Only called when a new step is + /// required. Subclasses may override to implement new stepping + /// interfaces. The default calls step1(), step2(), step4() or step8() depending on the + /// number of pins defined for the stepper. + /// \param[in] step The current step phase number (0 to 7) + virtual void step(long step); + + /// Called to execute a step using stepper functions (pins = 0) Only called when a new step is + /// required. Calls _forward() or _backward() to perform the step + /// \param[in] step The current step phase number (0 to 7) + virtual void step0(long step); + + /// Called to execute a step on a stepper driver (ie where pins == 1). Only called when a new step is + /// required. Subclasses may override to implement new stepping + /// interfaces. The default sets or clears the outputs of Step pin1 to step, + /// and sets the output of _pin2 to the desired direction. The Step pin (_pin1) is pulsed for 1 microsecond + /// which is the minimum STEP pulse width for the 3967 driver. + /// \param[in] step The current step phase number (0 to 7) + virtual void step1(long step); + + /// Called to execute a step on a 2 pin motor. Only called when a new step is + /// required. Subclasses may override to implement new stepping + /// interfaces. The default sets or clears the outputs of pin1 and pin2 + /// \param[in] step The current step phase number (0 to 7) + virtual void step2(long step); + + /// Called to execute a step on a 3 pin motor, such as HDD spindle. Only called when a new step is + /// required. Subclasses may override to implement new stepping + /// interfaces. The default sets or clears the outputs of pin1, pin2, + /// pin3 + /// \param[in] step The current step phase number (0 to 7) + virtual void step3(long step); + + /// Called to execute a step on a 4 pin motor. Only called when a new step is + /// required. Subclasses may override to implement new stepping + /// interfaces. The default sets or clears the outputs of pin1, pin2, + /// pin3, pin4. + /// \param[in] step The current step phase number (0 to 7) + virtual void step4(long step); + + /// Called to execute a step on a 3 pin motor, such as HDD spindle. Only called when a new step is + /// required. Subclasses may override to implement new stepping + /// interfaces. The default sets or clears the outputs of pin1, pin2, + /// pin3 + /// \param[in] step The current step phase number (0 to 7) + virtual void step6(long step); + + /// Called to execute a step on a 4 pin half-steper motor. Only called when a new step is + /// required. Subclasses may override to implement new stepping + /// interfaces. The default sets or clears the outputs of pin1, pin2, + /// pin3, pin4. + /// \param[in] step The current step phase number (0 to 7) + virtual void step8(long step); + +//private: + /// Number of pins on the stepper motor. Permits 2 or 4. 2 pins is a + /// bipolar, and 4 pins is a unipolar. + uint8_t _interface; // 0, 1, 2, 4, 8, See MotorInterfaceType + + /// Arduino pin number assignments for the 2 or 4 pins required to interface to the + /// stepper motor or driver + uint8_t _pin[4]; + + /// Whether the _pins is inverted or not + uint8_t _pinInverted[4]; + + /// The current absolution position in steps. + long _currentPos; // Steps + + /// The target position in steps. The AccelStepper library will move the + /// motor from the _currentPos to the _targetPos, taking into account the + /// max speed, acceleration and deceleration + long _targetPos; // Steps + + /// The current motos speed in steps per second + /// Positive is clockwise + float _speed; // Steps per second + + /// The maximum permitted speed in steps per second. Must be > 0. + float _maxSpeed; + + /// The acceleration to use to accelerate or decelerate the motor in steps + /// per second per second. Must be > 0 + float _acceleration; + float _sqrt_twoa; // Precomputed sqrt(2*_acceleration) + + /// The current interval between steps in microseconds. + /// 0 means the motor is currently stopped with _speed == 0 + unsigned long _stepInterval; + + /// The last step time in microseconds + unsigned long _lastStepTime; + + /// The minimum allowed pulse width in microseconds + unsigned int _minPulseWidth; + + /// Is the direction pin inverted? + ///bool _dirInverted; /// Moved to _pinInverted[1] + + /// Is the step pin inverted? + ///bool _stepInverted; /// Moved to _pinInverted[0] + + /// Is the enable pin inverted? + bool _enableInverted; + + /// Enable pin for stepper driver, or 0xFF if unused. + uint8_t _enablePin; + + /// The pointer to a forward-step procedure + void (*_forward)(); + + /// The pointer to a backward-step procedure + void (*_backward)(); + + /// The step counter for speed calculations + long _n; + + /// Initial step size in microseconds + float _c0; + + /// Last step size in microseconds + float _cn; + + /// Min step size in microseconds based on maxSpeed + float _cmin; // at max speed + + /// Current direction motor is spinning in + boolean _direction; // 1 == CW + +}; + +/// @example Random.pde +/// Make a single stepper perform random changes in speed, position and acceleration + +/// @example Overshoot.pde +/// Check overshoot handling +/// which sets a new target position and then waits until the stepper has +/// achieved it. This is used for testing the handling of overshoots + +/// @example MultiStepper.pde +/// Shows how to multiple simultaneous steppers +/// Runs one stepper forwards and backwards, accelerating and decelerating +/// at the limits. Runs other steppers at the same time + +/// @example ConstantSpeed.pde +/// Shows how to run AccelStepper in the simplest, +/// fixed speed mode with no accelerations + +/// @example Blocking.pde +/// Shows how to use the blocking call runToNewPosition +/// Which sets a new target position and then waits until the stepper has +/// achieved it. + +/// @example AFMotor_MultiStepper.pde +/// Control both Stepper motors at the same time with different speeds +/// and accelerations. + +/// @example AFMotor_ConstantSpeed.pde +/// Shows how to run AccelStepper in the simplest, +/// fixed speed mode with no accelerations + +/// @example ProportionalControl.pde +/// Make a single stepper follow the analog value read from a pot or whatever +/// The stepper will move at a constant speed to each newly set posiiton, +/// depending on the value of the pot. + +/// @example Bounce.pde +/// Make a single stepper bounce from one limit to another, observing +/// accelrations at each end of travel + +/// @example Quickstop.pde +/// Check stop handling. +/// Calls stop() while the stepper is travelling at full speed, causing +/// the stepper to stop as quickly as possible, within the constraints of the +/// current acceleration. + +/// @example MotorShield.pde +/// Shows how to use AccelStepper to control a 3-phase motor, such as a HDD spindle motor +/// using the Adafruit Motor Shield http://www.ladyada.net/make/mshield/index.html. + +#endif diff --git a/libraries/AccelStepper/LICENSE b/libraries/AccelStepper/LICENSE new file mode 100644 index 0000000..da124e1 --- /dev/null +++ b/libraries/AccelStepper/LICENSE @@ -0,0 +1,17 @@ +This software is Copyright (C) 2008 Mike McCauley. Use is subject to license +conditions. The main licensing options available are GPL V2 or Commercial: + +Open Source Licensing GPL V2 + +This is the appropriate option if you want to share the source code of your +application with everyone you distribute it to, and you also want to give them +the right to share who uses it. If you wish to use this software under Open +Source Licensing, you must contribute all your source code to the open source +community in accordance with the GPL Version 2 when your application is +distributed. See http://www.gnu.org/copyleft/gpl.html + +Commercial Licensing + +This is the appropriate option if you are creating proprietary applications +and you are not prepared to distribute and share the source code of your +application. Contact info@open.com.au for details. diff --git a/libraries/AccelStepper/MANIFEST b/libraries/AccelStepper/MANIFEST new file mode 100644 index 0000000..f55c65b --- /dev/null +++ b/libraries/AccelStepper/MANIFEST @@ -0,0 +1,34 @@ +AccelStepper/Makefile +AccelStepper/AccelStepper.h +AccelStepper/AccelStepper.cpp +AccelStepper/MANIFEST +AccelStepper/LICENSE +AccelStepper/project.cfg +AccelStepper/keywords.txt +AccelStepper/doc +AccelStepper/examples/Blocking/Blocking.pde +AccelStepper/examples/MultiStepper/MultiStepper.pde +AccelStepper/examples/Overshoot/Overshoot.pde +AccelStepper/examples/ConstantSpeed/ConstantSpeed.pde +AccelStepper/examples/Random/Random.pde +AccelStepper/examples/AFMotor_ConstantSpeed/AFMotor_ConstantSpeed.pde +AccelStepper/examples/AFMotor_MultiStepper/AFMotor_MultiStepper.pde +AccelStepper/examples/ProportionalControl/ProportionalControl.pde +AccelStepper/examples/Bounce/Bounce.pde +AccelStepper/examples/Quickstop/Quickstop.pde +AccelStepper/examples/MotorShield/MotorShield.pde +AccelStepper/doc +AccelStepper/doc/index.html +AccelStepper/doc/functions.html +AccelStepper/doc/annotated.html +AccelStepper/doc/tab_l.gif +AccelStepper/doc/tabs.css +AccelStepper/doc/files.html +AccelStepper/doc/classAccelStepper-members.html +AccelStepper/doc/doxygen.css +AccelStepper/doc/AccelStepper_8h-source.html +AccelStepper/doc/tab_r.gif +AccelStepper/doc/doxygen.png +AccelStepper/doc/tab_b.gif +AccelStepper/doc/functions_func.html +AccelStepper/doc/classAccelStepper.html diff --git a/libraries/AccelStepper/Makefile b/libraries/AccelStepper/Makefile new file mode 100644 index 0000000..295e0f1 --- /dev/null +++ b/libraries/AccelStepper/Makefile @@ -0,0 +1,25 @@ +# Makefile +# +# Makefile for the Arduino AccelStepper project +# +# Author: Mike McCauley (mikem@airspayce.com) +# Copyright (C) 2010 Mike McCauley +# $Id: Makefile,v 1.4 2013/03/21 21:48:27 mikem Exp mikem $ + +PROJNAME = AccelStepper +# Dont forget to also change the version at the top of AccelStepper.h: +DISTFILE = $(PROJNAME)-1.38.zip + +all: doxygen dist upload + +doxygen: + doxygen project.cfg + +ci: + (cd ..;ci -l `cat $(PROJNAME)/MANIFEST`) + +dist: + (cd ..; zip $(PROJNAME)/$(DISTFILE) `cat $(PROJNAME)/MANIFEST`) + +upload: + rsync -avz $(DISTFILE) doc/ www.airspayce.com:public_html/mikem/arduino/$(PROJNAME) diff --git a/libraries/AccelStepper/doc/AccelStepper_8h-source.html b/libraries/AccelStepper/doc/AccelStepper_8h-source.html new file mode 100644 index 0000000..098f9f5 --- /dev/null +++ b/libraries/AccelStepper/doc/AccelStepper_8h-source.html @@ -0,0 +1,420 @@ + + +AccelStepper: AccelStepper.h Source File + + + + + +
Generated on Sun Jan 8 17:27:41 2012 for AccelStepper by  + +doxygen 1.5.6
+ + diff --git a/libraries/AccelStepper/doc/annotated.html b/libraries/AccelStepper/doc/annotated.html new file mode 100644 index 0000000..fc4328a --- /dev/null +++ b/libraries/AccelStepper/doc/annotated.html @@ -0,0 +1,61 @@ + + + + + +AccelStepper: Class List + + + + + + +
+
+ + + + + + +
+
AccelStepper +
+
+
+ + + + +
+
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+ + +
\CAccelStepperSupport for stepper motors with acceleration etc
+
+
+ + + + diff --git a/libraries/AccelStepper/doc/classAccelStepper-members.html b/libraries/AccelStepper/doc/classAccelStepper-members.html new file mode 100644 index 0000000..3f4558d --- /dev/null +++ b/libraries/AccelStepper/doc/classAccelStepper-members.html @@ -0,0 +1,104 @@ + + + + + +AccelStepper: Member List + + + + + + +
+
+ + + + + + +
+
AccelStepper +
+
+
+ + + + +
+
+
+
AccelStepper Member List
+
+
+ +

This is the complete list of members for AccelStepper, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AccelStepper(uint8_t interface=AccelStepper::FULL4WIRE, uint8_t pin1=2, uint8_t pin2=3, uint8_t pin3=4, uint8_t pin4=5, bool enable=true)AccelStepper
AccelStepper(void(*forward)(), void(*backward)())AccelStepper
computeNewSpeed()AccelStepperprotected
currentPosition()AccelStepper
Direction enum nameAccelStepperprotected
DIRECTION_CCW enum valueAccelStepperprotected
DIRECTION_CW enum valueAccelStepperprotected
disableOutputs()AccelSteppervirtual
distanceToGo()AccelStepper
DRIVER enum valueAccelStepper
enableOutputs()AccelSteppervirtual
FULL2WIRE enum valueAccelStepper
FULL3WIRE enum valueAccelStepper
FULL4WIRE enum valueAccelStepper
FUNCTION enum valueAccelStepper
HALF3WIRE enum valueAccelStepper
HALF4WIRE enum valueAccelStepper
MotorInterfaceType enum nameAccelStepper
move(long relative)AccelStepper
moveTo(long absolute)AccelStepper
run()AccelStepper
runSpeed()AccelStepper
runSpeedToPosition()AccelStepper
runToNewPosition(long position)AccelStepper
runToPosition()AccelStepper
setAcceleration(float acceleration)AccelStepper
setCurrentPosition(long position)AccelStepper
setEnablePin(uint8_t enablePin=0xff)AccelStepper
setMaxSpeed(float speed)AccelStepper
setMinPulseWidth(unsigned int minWidth)AccelStepper
setOutputPins(uint8_t mask)AccelStepperprotectedvirtual
setPinsInverted(bool directionInvert=false, bool stepInvert=false, bool enableInvert=false)AccelStepper
setPinsInverted(bool pin1Invert, bool pin2Invert, bool pin3Invert, bool pin4Invert, bool enableInvert)AccelStepper
setSpeed(float speed)AccelStepper
speed()AccelStepper
step(long step)AccelStepperprotectedvirtual
step0(long step)AccelStepperprotectedvirtual
step1(long step)AccelStepperprotectedvirtual
step2(long step)AccelStepperprotectedvirtual
step3(long step)AccelStepperprotectedvirtual
step4(long step)AccelStepperprotectedvirtual
step6(long step)AccelStepperprotectedvirtual
step8(long step)AccelStepperprotectedvirtual
stop()AccelStepper
targetPosition()AccelStepper
+ + + + diff --git a/libraries/AccelStepper/doc/classAccelStepper.html b/libraries/AccelStepper/doc/classAccelStepper.html new file mode 100644 index 0000000..18198be --- /dev/null +++ b/libraries/AccelStepper/doc/classAccelStepper.html @@ -0,0 +1,1251 @@ + + + + + +AccelStepper: AccelStepper Class Reference + + + + + + +
+
+ + + + + + +
+
AccelStepper +
+
+
+ + + + +
+ +
+ +

Support for stepper motors with acceleration etc. + More...

+ +

#include <AccelStepper.h>

+ + + + + +

+Public Types

enum  MotorInterfaceType {
+  FUNCTION = 0, +DRIVER = 1, +FULL2WIRE = 2, +FULL3WIRE = 3, +
+  FULL4WIRE = 4, +HALF3WIRE = 6, +HALF4WIRE = 8 +
+ }
 Symbolic names for number of pins. Use this in the pins argument the AccelStepper constructor to provide a symbolic name for the number of pins to use. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 AccelStepper (uint8_t interface=AccelStepper::FULL4WIRE, uint8_t pin1=2, uint8_t pin2=3, uint8_t pin3=4, uint8_t pin4=5, bool enable=true)
 
 AccelStepper (void(*forward)(), void(*backward)())
 
void moveTo (long absolute)
 
void move (long relative)
 
boolean run ()
 
boolean runSpeed ()
 
void setMaxSpeed (float speed)
 
void setAcceleration (float acceleration)
 
void setSpeed (float speed)
 
float speed ()
 
long distanceToGo ()
 
long targetPosition ()
 
long currentPosition ()
 
void setCurrentPosition (long position)
 
void runToPosition ()
 
boolean runSpeedToPosition ()
 
void runToNewPosition (long position)
 
void stop ()
 
virtual void disableOutputs ()
 
virtual void enableOutputs ()
 
void setMinPulseWidth (unsigned int minWidth)
 
void setEnablePin (uint8_t enablePin=0xff)
 
void setPinsInverted (bool directionInvert=false, bool stepInvert=false, bool enableInvert=false)
 
void setPinsInverted (bool pin1Invert, bool pin2Invert, bool pin3Invert, bool pin4Invert, bool enableInvert)
 
+ + + + +

+Protected Types

enum  Direction { DIRECTION_CCW = 0, +DIRECTION_CW = 1 + }
 Direction indicator Symbolic names for the direction the motor is turning. More...
 
+ + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void computeNewSpeed ()
 
virtual void setOutputPins (uint8_t mask)
 
virtual void step (long step)
 
virtual void step0 (long step)
 
virtual void step1 (long step)
 
virtual void step2 (long step)
 
virtual void step3 (long step)
 
virtual void step4 (long step)
 
virtual void step6 (long step)
 
virtual void step8 (long step)
 
+

Detailed Description

+

Support for stepper motors with acceleration etc.

+

This defines a single 2 or 4 pin stepper motor, or stepper moter with fdriver chip, with optional acceleration, deceleration, absolute positioning commands etc. Multiple simultaneous steppers are supported, all moving at different speeds and accelerations.

+
Operation
This module operates by computing a step time in microseconds. The step time is recomputed after each step and after speed and acceleration parameters are changed by the caller. The time of each step is recorded in microseconds. The run() function steps the motor if a new step is due. The run() function must be called frequently until the motor is in the desired position, after which time run() will do nothing.
+
Positioning
Positions are specified by a signed long integer. At construction time, the current position of the motor is consider to be 0. Positive positions are clockwise from the initial position; negative positions are anticlockwise. The curent position can be altered for instance after initialization positioning.
+
Caveats
This is an open loop controller: If the motor stalls or is oversped, AccelStepper will not have a correct idea of where the motor really is (since there is no feedback of the motor's real position. We only know where we think it is, relative to the initial starting point).
+
Performance
The fastest motor speed that can be reliably supported is about 4000 steps per second at a clock frequency of 16 MHz on Arduino such as Uno etc. Faster processors can support faster stepping speeds. However, any speed less than that down to very slow speeds (much less than one per second) are also supported, provided the run() function is called frequently enough to step the motor whenever required for the speed set. Calling setAcceleration() is expensive, since it requires a square root to be calculated.
+
Examples:
AFMotor_ConstantSpeed.pde, AFMotor_MultiStepper.pde, Blocking.pde, Bounce.pde, ConstantSpeed.pde, MotorShield.pde, MultiStepper.pde, Overshoot.pde, ProportionalControl.pde, Quickstop.pde, and Random.pde.
+

Member Enumeration Documentation

+ +
+
+ + + + + +
+ + + + +
enum AccelStepper::Direction
+
+protected
+
+ +

Direction indicator Symbolic names for the direction the motor is turning.

+
Enumerator:
+ + +
DIRECTION_CCW  +

Clockwise.

+
DIRECTION_CW  +

Counter-Clockwise.

+
+
+
+ +
+
+ +
+
+ +

Symbolic names for number of pins. Use this in the pins argument the AccelStepper constructor to provide a symbolic name for the number of pins to use.

+
Enumerator:
+ + + + + + + +
FUNCTION  +

Use the functional interface, implementing your own driver functions (internal use only)

+
DRIVER  +

Stepper Driver, 2 driver pins required.

+
FULL2WIRE  +

2 wire stepper, 2 motor pins required

+
FULL3WIRE  +

3 wire stepper, such as HDD spindle, 3 motor pins required

+
FULL4WIRE  +

4 wire full stepper, 4 motor pins required

+
HALF3WIRE  +

3 wire half stepper, such as HDD spindle, 3 motor pins required

+
HALF4WIRE  +

4 wire half stepper, 4 motor pins required

+
+
+
+ +
+
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AccelStepper::AccelStepper (uint8_t interface = AccelStepper::FULL4WIRE,
uint8_t pin1 = 2,
uint8_t pin2 = 3,
uint8_t pin3 = 4,
uint8_t pin4 = 5,
bool enable = true 
)
+
+

Constructor. You can have multiple simultaneous steppers, all moving at different speeds and accelerations, provided you call their run() functions at frequent enough intervals. Current Position is set to 0, target position is set to 0. MaxSpeed and Acceleration default to 1.0. The motor pins will be initialised to OUTPUT mode during the constructor by a call to enableOutputs().

+
Parameters
+ + + + + + + +
[in]interfaceNumber of pins to interface to. 1, 2, 4 or 8 are supported, but it is preferred to use the MotorInterfaceType symbolic names. AccelStepper::DRIVER (1) means a stepper driver (with Step and Direction pins). If an enable line is also needed, call setEnablePin() after construction. You may also invert the pins using setPinsInverted(). AccelStepper::FULL2WIRE (2) means a 2 wire stepper (2 pins required). AccelStepper::FULL3WIRE (3) means a 3 wire stepper, such as HDD spindle (3 pins required). AccelStepper::FULL4WIRE (4) means a 4 wire stepper (4 pins required). AccelStepper::HALF3WIRE (6) means a 3 wire half stepper, such as HDD spindle (3 pins required) AccelStepper::HALF4WIRE (8) means a 4 wire half stepper (4 pins required) Defaults to AccelStepper::FULL4WIRE (4) pins.
[in]pin1Arduino digital pin number for motor pin 1. Defaults to pin 2. For a AccelStepper::DRIVER (pins==1), this is the Step input to the driver. Low to high transition means to step)
[in]pin2Arduino digital pin number for motor pin 2. Defaults to pin 3. For a AccelStepper::DRIVER (pins==1), this is the Direction input the driver. High means forward.
[in]pin3Arduino digital pin number for motor pin 3. Defaults to pin 4.
[in]pin4Arduino digital pin number for motor pin 4. Defaults to pin 5.
[in]enableIf this is true (the default), enableOutpuys() will be called to enable the output pins at construction time.
+
+
+ +

References DIRECTION_CCW, and enableOutputs().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
AccelStepper::AccelStepper (void(*)() forward,
void(*)() backward 
)
+
+

Alternate Constructor which will call your own functions for forward and backward steps. You can have multiple simultaneous steppers, all moving at different speeds and accelerations, provided you call their run() functions at frequent enough intervals. Current Position is set to 0, target position is set to 0. MaxSpeed and Acceleration default to 1.0. Any motor initialization should happen before hand, no pins are used or initialized.

+
Parameters
+ + + +
[in]forwardvoid-returning procedure that will make a forward step
[in]backwardvoid-returning procedure that will make a backward step
+
+
+ +

References DIRECTION_CCW.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void AccelStepper::computeNewSpeed ()
+
+protected
+
+

Forces the library to compute a new instantaneous speed and set that as the current speed. It is called by the library:

+ + +

References DIRECTION_CCW, DIRECTION_CW, and distanceToGo().

+ +

Referenced by moveTo(), run(), setAcceleration(), and setMaxSpeed().

+ +
+
+ +
+
+ + + + + + + +
long AccelStepper::currentPosition ()
+
+

The currently motor position.

+
Returns
the current motor position in steps. Positive is clockwise from the 0 position.
+
Examples:
Bounce.pde, MultiStepper.pde, Overshoot.pde, and Quickstop.pde.
+
+
+
+ +
+
+ + + + + +
+ + + + + + + +
void AccelStepper::disableOutputs ()
+
+virtual
+
+

Disable motor pin outputs by setting them all LOW Depending on the design of your electronics this may turn off the power to the motor coils, saving power. This is useful to support Arduino low power modes: disable the outputs during sleep and then reenable with enableOutputs() before stepping again.

+ +

References setOutputPins().

+ +
+
+ +
+
+ + + + + + + +
long AccelStepper::distanceToGo ()
+
+

The distance from the current position to the target position.

+
Returns
the distance from the current position to the target position in steps. Positive is clockwise from the current position.
+
Examples:
Bounce.pde, MultiStepper.pde, and Random.pde.
+
+

Referenced by computeNewSpeed(), and runToPosition().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void AccelStepper::enableOutputs ()
+
+virtual
+
+

Enable motor pin outputs by setting the motor pins to OUTPUT mode. Called automatically by the constructor.

+ +

References FULL4WIRE, and HALF4WIRE.

+ +

Referenced by AccelStepper().

+ +
+
+ +
+
+ + + + + + + + +
void AccelStepper::move (long relative)
+
+

Set the target position relative to the current position

+
Parameters
+ + +
[in]relativeThe desired position relative to the current position. Negative is anticlockwise from the current position.
+
+
+ +

References moveTo().

+ +

Referenced by stop().

+ +
+
+ +
+
+ + + + + + + + +
void AccelStepper::moveTo (long absolute)
+
+

Set the target position. The run() function will try to move the motor from the current position to the target position set by the most recent call to this function. Caution: moveTo() also recalculates the speed for the next step. If you are trying to use constant speed movements, you should call setSpeed() after calling moveTo().

+
Parameters
+ + +
[in]absoluteThe desired absolute position. Negative is anticlockwise from the 0 position.
+
+
+
Examples:
Bounce.pde, MultiStepper.pde, Overshoot.pde, ProportionalControl.pde, Quickstop.pde, and Random.pde.
+
+

References computeNewSpeed().

+ +

Referenced by move(), and runToNewPosition().

+ +
+
+ +
+
+ + + + + + + +
boolean AccelStepper::run ()
+
+

Poll the motor and step it if a step is due, implementing accelerations and decelerations to acheive the target position. You must call this as frequently as possible, but at least once per minimum step interval, preferably in your main loop.

+
Returns
true if the motor is at the target position.
+
Examples:
Bounce.pde, MultiStepper.pde, Overshoot.pde, Quickstop.pde, and Random.pde.
+
+

References computeNewSpeed(), and runSpeed().

+ +

Referenced by runToPosition().

+ +
+
+ +
+
+ + + + + + + +
boolean AccelStepper::runSpeed ()
+
+

Poll the motor and step it if a step is due, implmenting a constant speed as set by the most recent call to setSpeed(). You must call this as frequently as possible, but at least once per step interval,

+
Returns
true if the motor was stepped.
+
Examples:
ConstantSpeed.pde.
+
+

References DIRECTION_CW, and step().

+ +

Referenced by run(), and runSpeedToPosition().

+ +
+
+ +
+
+ + + + + + + +
boolean AccelStepper::runSpeedToPosition ()
+
+

Runs at the currently selected speed until the target position is reached Does not implement accelerations.

+
Returns
true if it stepped
+
Examples:
ProportionalControl.pde.
+
+

References DIRECTION_CCW, DIRECTION_CW, and runSpeed().

+ +
+
+ +
+
+ + + + + + + + +
void AccelStepper::runToNewPosition (long position)
+
+

Moves the motor to the new target position and blocks until it is at position. Dont use this in event loops, since it blocks.

+
Parameters
+ + +
[in]positionThe new target position.
+
+
+
Examples:
Blocking.pde, and Overshoot.pde.
+
+

References moveTo(), and runToPosition().

+ +
+
+ +
+
+ + + + + + + +
void AccelStepper::runToPosition ()
+
+

Moves the motor at the currently selected constant speed (forward or reverse) to the target position and blocks until it is at position. Dont use this in event loops, since it blocks.

+
Examples:
Quickstop.pde.
+
+

References distanceToGo(), and run().

+ +

Referenced by runToNewPosition().

+ +
+
+ +
+
+ + + + + + + + +
void AccelStepper::setAcceleration (float acceleration)
+
+

Sets the acceleration and deceleration parameter.

+
Parameters
+ + +
[in]accelerationThe desired acceleration in steps per second per second. Must be > 0.0. This is an expensive call since it requires a square root to be calculated. Dont call more ofthen than needed
+
+
+
Examples:
Blocking.pde, Bounce.pde, MultiStepper.pde, Overshoot.pde, Quickstop.pde, and Random.pde.
+
+

References computeNewSpeed().

+ +
+
+ +
+
+ + + + + + + + +
void AccelStepper::setCurrentPosition (long position)
+
+

Resets the current position of the motor, so that wherever the motor happens to be right now is considered to be the new 0 position. Useful for setting a zero position on a stepper after an initial hardware positioning move. Has the side effect of setting the current motor speed to 0.

+
Parameters
+ + +
[in]positionThe position in steps of wherever the motor happens to be right now.
+
+
+ +
+
+ +
+
+ + + + + + + + +
void AccelStepper::setEnablePin (uint8_t enablePin = 0xff)
+
+

Sets the enable pin number for stepper drivers. 0xFF indicates unused (default). Otherwise, if a pin is set, the pin will be turned on when enableOutputs() is called and switched off when disableOutputs() is called.

+
Parameters
+ + +
[in]enablePinArduino digital pin number for motor enable
+
+
+
See Also
setPinsInverted
+ +
+
+ +
+
+ + + + + + + + +
void AccelStepper::setMaxSpeed (float speed)
+
+

Sets the maximum permitted speed. the run() function will accelerate up to the speed set by this function.

+
Parameters
+ + +
[in]speedThe desired maximum speed in steps per second. Must be > 0. Caution: Speeds that exceed the maximum speed supported by the processor may Result in non-linear accelerations and decelerations.
+
+
+
Examples:
Blocking.pde, Bounce.pde, ConstantSpeed.pde, MultiStepper.pde, Overshoot.pde, ProportionalControl.pde, Quickstop.pde, and Random.pde.
+
+

References computeNewSpeed(), and speed().

+ +
+
+ +
+
+ + + + + + + + +
void AccelStepper::setMinPulseWidth (unsigned int minWidth)
+
+

Sets the minimum pulse width allowed by the stepper driver. The minimum practical pulse width is approximately 20 microseconds. Times less than 20 microseconds will usually result in 20 microseconds or so.

+
Parameters
+ + +
[in]minWidthThe minimum pulse width in microseconds.
+
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void AccelStepper::setOutputPins (uint8_t mask)
+
+protectedvirtual
+
+

Low level function to set the motor output pins bit 0 of the mask corresponds to _pin[0] bit 1 of the mask corresponds to _pin[1] You can override this to impment, for example serial chip output insted of using the output pins directly

+
Examples:
MotorShield.pde.
+
+

References FULL4WIRE, and HALF4WIRE.

+ +

Referenced by disableOutputs(), step1(), step2(), step3(), step4(), step6(), and step8().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void AccelStepper::setPinsInverted (bool directionInvert = false,
bool stepInvert = false,
bool enableInvert = false 
)
+
+

Sets the inversion for stepper driver pins

+
Parameters
+ + + + +
[in]directionInvertTrue for inverted direction pin, false for non-inverted
[in]stepInvertTrue for inverted step pin, false for non-inverted
[in]enableInvertTrue for inverted enable pin, false (default) for non-inverted
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void AccelStepper::setPinsInverted (bool pin1Invert,
bool pin2Invert,
bool pin3Invert,
bool pin4Invert,
bool enableInvert 
)
+
+

Sets the inversion for 2, 3 and 4 wire stepper pins

+
Parameters
+ + + + + + +
[in]pin1InvertTrue for inverted pin1, false for non-inverted
[in]pin2InvertTrue for inverted pin2, false for non-inverted
[in]pin3InvertTrue for inverted pin3, false for non-inverted
[in]pin4InvertTrue for inverted pin4, false for non-inverted
[in]enableInvertTrue for inverted enable pin, false (default) for non-inverted
+
+
+ +
+
+ +
+
+ + + + + + + + +
void AccelStepper::setSpeed (float speed)
+
+

Sets the desired constant speed for use with runSpeed().

+
Parameters
+ + +
[in]speedThe desired constant speed in steps per second. Positive is clockwise. Speeds of more than 1000 steps per second are unreliable. Very slow speeds may be set (eg 0.00027777 for once per hour, approximately. Speed accuracy depends on the Arduino crystal. Jitter depends on how frequently you call the runSpeed() function.
+
+
+
Examples:
ConstantSpeed.pde, and ProportionalControl.pde.
+
+

References DIRECTION_CCW, DIRECTION_CW, and speed().

+ +
+
+ +
+
+ + + + + + + +
float AccelStepper::speed ()
+
+

The most recently set speed

+
Returns
the most recent speed in steps per second
+ +

Referenced by setMaxSpeed(), and setSpeed().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void AccelStepper::step (long step)
+
+protectedvirtual
+
+

Called to execute a step. Only called when a new step is required. Subclasses may override to implement new stepping interfaces. The default calls step1(), step2(), step4() or step8() depending on the number of pins defined for the stepper.

+
Parameters
+ + +
[in]stepThe current step phase number (0 to 7)
+
+
+ +

References DRIVER, FULL2WIRE, FULL3WIRE, FULL4WIRE, FUNCTION, HALF3WIRE, HALF4WIRE, step0(), step1(), step2(), step3(), step4(), step6(), and step8().

+ +

Referenced by runSpeed().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void AccelStepper::step0 (long step)
+
+protectedvirtual
+
+

Called to execute a step using stepper functions (pins = 0) Only called when a new step is required. Calls _forward() or _backward() to perform the step

+
Parameters
+ + +
[in]stepThe current step phase number (0 to 7)
+
+
+ +

Referenced by step().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void AccelStepper::step1 (long step)
+
+protectedvirtual
+
+

Called to execute a step on a stepper driver (ie where pins == 1). Only called when a new step is required. Subclasses may override to implement new stepping interfaces. The default sets or clears the outputs of Step pin1 to step, and sets the output of _pin2 to the desired direction. The Step pin (_pin1) is pulsed for 1 microsecond which is the minimum STEP pulse width for the 3967 driver.

+
Parameters
+ + +
[in]stepThe current step phase number (0 to 7)
+
+
+ +

References setOutputPins().

+ +

Referenced by step().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void AccelStepper::step2 (long step)
+
+protectedvirtual
+
+

Called to execute a step on a 2 pin motor. Only called when a new step is required. Subclasses may override to implement new stepping interfaces. The default sets or clears the outputs of pin1 and pin2

+
Parameters
+ + +
[in]stepThe current step phase number (0 to 7)
+
+
+ +

References setOutputPins().

+ +

Referenced by step().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void AccelStepper::step3 (long step)
+
+protectedvirtual
+
+

Called to execute a step on a 3 pin motor, such as HDD spindle. Only called when a new step is required. Subclasses may override to implement new stepping interfaces. The default sets or clears the outputs of pin1, pin2, pin3

+
Parameters
+ + +
[in]stepThe current step phase number (0 to 7)
+
+
+ +

References setOutputPins().

+ +

Referenced by step().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void AccelStepper::step4 (long step)
+
+protectedvirtual
+
+

Called to execute a step on a 4 pin motor. Only called when a new step is required. Subclasses may override to implement new stepping interfaces. The default sets or clears the outputs of pin1, pin2, pin3, pin4.

+
Parameters
+ + +
[in]stepThe current step phase number (0 to 7)
+
+
+ +

References setOutputPins().

+ +

Referenced by step().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void AccelStepper::step6 (long step)
+
+protectedvirtual
+
+

Called to execute a step on a 3 pin motor, such as HDD spindle. Only called when a new step is required. Subclasses may override to implement new stepping interfaces. The default sets or clears the outputs of pin1, pin2, pin3

+
Parameters
+ + +
[in]stepThe current step phase number (0 to 7)
+
+
+ +

References setOutputPins().

+ +

Referenced by step().

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void AccelStepper::step8 (long step)
+
+protectedvirtual
+
+

Called to execute a step on a 4 pin half-steper motor. Only called when a new step is required. Subclasses may override to implement new stepping interfaces. The default sets or clears the outputs of pin1, pin2, pin3, pin4.

+
Parameters
+ + +
[in]stepThe current step phase number (0 to 7)
+
+
+ +

References setOutputPins().

+ +

Referenced by step().

+ +
+
+ +
+
+ + + + + + + +
void AccelStepper::stop ()
+
+

Sets a new target position that causes the stepper to stop as quickly as possible, using to the current speed and acceleration parameters.

+
Examples:
Quickstop.pde.
+
+

References move().

+ +
+
+ +
+
+ + + + + + + +
long AccelStepper::targetPosition ()
+
+

The most recently set target position.

+
Returns
the target position in steps. Positive is clockwise from the 0 position.
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/libraries/AccelStepper/doc/doxygen.css b/libraries/AccelStepper/doc/doxygen.css new file mode 100644 index 0000000..2642e8f --- /dev/null +++ b/libraries/AccelStepper/doc/doxygen.css @@ -0,0 +1,1172 @@ +/* The standard CSS for doxygen */ + +body, table, div, p, dl { + font: 400 14px/19px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd, p.starttd { + margin-top: 2px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px; + margin: 4px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view when not used as main index */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + width: 100%; + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/libraries/AccelStepper/doc/doxygen.png b/libraries/AccelStepper/doc/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 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 literal 0 HcmV?d00001 diff --git a/libraries/AccelStepper/doc/files.html b/libraries/AccelStepper/doc/files.html new file mode 100644 index 0000000..f58a105 --- /dev/null +++ b/libraries/AccelStepper/doc/files.html @@ -0,0 +1,60 @@ + + + + + +AccelStepper: File List + + + + + + +
+
+ + + + + + +
+
AccelStepper +
+
+
+ + + + +
+
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+ + +
\*AccelStepper.h
+
+
+ + + + diff --git a/libraries/AccelStepper/doc/functions.html b/libraries/AccelStepper/doc/functions.html new file mode 100644 index 0000000..6eb3f4a --- /dev/null +++ b/libraries/AccelStepper/doc/functions.html @@ -0,0 +1,243 @@ + + + + + +AccelStepper: Class Members + + + + + + +
+
+ + + + + + +
+
AccelStepper +
+
+
+ + + + + + +
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+ +

- a -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- f -

+ + +

- h -

+ + +

- m -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+
+ + + + diff --git a/libraries/AccelStepper/doc/functions_func.html b/libraries/AccelStepper/doc/functions_func.html new file mode 100644 index 0000000..206af60 --- /dev/null +++ b/libraries/AccelStepper/doc/functions_func.html @@ -0,0 +1,200 @@ + + + + + +AccelStepper: Class Members - Functions + + + + + + +
+
+ + + + + + +
+
AccelStepper +
+
+
+ + + + + + +
+
+  + +

- a -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- m -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+
+ + + + diff --git a/libraries/AccelStepper/doc/index.html b/libraries/AccelStepper/doc/index.html new file mode 100644 index 0000000..855b426 --- /dev/null +++ b/libraries/AccelStepper/doc/index.html @@ -0,0 +1,150 @@ + + + + + +AccelStepper: AccelStepper library for Arduino + + + + + + +
+
+ + + + + + +
+
AccelStepper +
+
+
+ + + +
+
+
+
AccelStepper library for Arduino
+
+
+

This is the Arduino AccelStepper library. It provides an object-oriented interface for 2, 3 or 4 pin stepper motors.

+

The standard Arduino IDE includes the Stepper library (http://arduino.cc/en/Reference/Stepper) for stepper motors. It is perfectly adequate for simple, single motor applications.

+

AccelStepper significantly improves on the standard Arduino Stepper library in several ways:

+
    +
  • Supports acceleration and deceleration
  • +
  • Supports multiple simultaneous steppers, with independent concurrent stepping on each stepper
  • +
  • API functions never delay() or block
  • +
  • Supports 2, 3 and 4 wire steppers, plus 3 and 4 wire half steppers.
  • +
  • Supports alternate stepping functions to enable support of AFMotor (https://github.com/adafruit/Adafruit-Motor-Shield-library)
  • +
  • Supports stepper drivers such as the Sparkfun EasyDriver (based on 3967 driver chip)
  • +
  • Very slow speeds are supported
  • +
  • Extensive API
  • +
  • Subclass support
  • +
+

The latest version of this documentation can be downloaded from http://www.airspayce.com/mikem/arduino/AccelStepper The version of the package that this documentation refers to can be downloaded from http://www.airspayce.com/mikem/arduino/AccelStepper/AccelStepper-1.37.zip

+

Example Arduino programs are included to show the main modes of use.

+

You can also find online help and discussion at http://groups.google.com/group/accelstepper Please use that group for all questions and discussions on this topic. Do not contact the author directly, unless it is to discuss commercial licensing.

+

Tested on Arduino Diecimila and Mega with arduino-0018 & arduino-0021 on OpenSuSE 11.1 and avr-libc-1.6.1-1.15, cross-avr-binutils-2.19-9.1, cross-avr-gcc-4.1.3_20080612-26.5.

+
Installation
Install in the usual way: unzip the distribution zip file to the libraries sub-folder of your sketchbook.
+

This software is Copyright (C) 2010 Mike McCauley. Use is subject to license conditions. The main licensing options available are GPL V2 or Commercial:

+
Theory
This code uses speed calculations as described in "Generate stepper-motor speed profiles in real time" by David Austin http://fab.cba.mit.edu/classes/MIT/961.09/projects/i0/Stepper_Motor_Speed_Profile.pdf with the exception that AccelStepper uses steps per second rather than radians per second (because we dont know the step angle of the motor) An initial step interval is calculated for the first step, based on the desired acceleration Subsequent shorter step intervals are calculated based on the previous step until max speed is acheived.
+
Open Source Licensing GPL V2
This is the appropriate option if you want to share the source code of your application with everyone you distribute it to, and you also want to give them the right to share who uses it. If you wish to use this software under Open Source Licensing, you must contribute all your source code to the open source community in accordance with the GPL Version 2 when your application is distributed. See http://www.gnu.org/copyleft/gpl.html
+
Commercial Licensing
This is the appropriate option if you are creating proprietary applications and you are not prepared to distribute and share the source code of your application. Contact info@.nosp@m.airs.nosp@m.payce.nosp@m..com for details.
+
Revision History
+
Version
1.0 Initial release
+
+1.1 Added speed() function to get the current speed.
+
+1.2 Added runSpeedToPosition() submitted by Gunnar Arndt.
+
+1.3 Added support for stepper drivers (ie with Step and Direction inputs) with _pins == 1
+
+1.4 Added functional contructor to support AFMotor, contributed by Limor, with example sketches.
+
+1.5 Improvements contributed by Peter Mousley: Use of microsecond steps and other speed improvements to increase max stepping speed to about 4kHz. New option for user to set the min allowed pulse width. Added checks for already running at max speed and skip further calcs if so.
+
+1.6 Fixed a problem with wrapping of microsecond stepping that could cause stepping to hang. Reported by Sandy Noble. Removed redundant _lastRunTime member.
+
+1.7 Fixed a bug where setCurrentPosition() did not always work as expected. Reported by Peter Linhart.
+
+1.8 Added support for 4 pin half-steppers, requested by Harvey Moon
+
+1.9 setCurrentPosition() now also sets motor speed to 0.
+
+1.10 Builds on Arduino 1.0
+
+1.11 Improvments from Michael Ellison: Added optional enable line support for stepper drivers Added inversion for step/direction/enable lines for stepper drivers
+
+1.12 Announce Google Group
+
+1.13 Improvements to speed calculation. Cost of calculation is now less in the worst case, and more or less constant in all cases. This should result in slightly beter high speed performance, and reduce anomalous speed glitches when other steppers are accelerating. However, its hard to see how to replace the sqrt() required at the very first step from 0 speed.
+
+1.14 Fixed a problem with compiling under arduino 0021 reported by EmbeddedMan
+
+1.15 Fixed a problem with runSpeedToPosition which did not correctly handle running backwards to a smaller target position. Added examples
+
+1.16 Fixed some cases in the code where abs() was used instead of fabs().
+
+1.17 Added example ProportionalControl
+
+1.18 Fixed a problem: If one calls the funcion runSpeed() when Speed is zero, it makes steps without counting. reported by Friedrich, Klappenbach.
+
+1.19 Added MotorInterfaceType and symbolic names for the number of pins to use for the motor interface. Updated examples to suit. Replaced individual pin assignment variables _pin1, _pin2 etc with array _pin[4]. _pins member changed to _interface. Added _pinInverted array to simplify pin inversion operations. Added new function setOutputPins() which sets the motor output pins. It can be overridden in order to provide, say, serial output instead of parallel output Some refactoring and code size reduction.
+
+1.20 Improved documentation and examples to show need for correctly specifying AccelStepper::FULL4WIRE and friends.
+
+1.21 Fixed a problem where desiredSpeed could compute the wrong step acceleration when _speed was small but non-zero. Reported by Brian Schmalz. Precompute sqrt_twoa to improve performance and max possible stepping speed
+
+1.22 Added Bounce.pde example Fixed a problem where calling moveTo(), setMaxSpeed(), setAcceleration() more frequently than the step time, even with the same values, would interfere with speed calcs. Now a new speed is computed only if there was a change in the set value. Reported by Brian Schmalz.
+
+1.23 Rewrite of the speed algorithms in line with http://fab.cba.mit.edu/classes/MIT/961.09/projects/i0/Stepper_Motor_Speed_Profile.pdf Now expect smoother and more linear accelerations and decelerations. The desiredSpeed() function was removed.
+
+1.24 Fixed a problem introduced in 1.23: with runToPosition, which did never returned
+
+1.25 Now ignore attempts to set acceleration to 0.0
+
+1.26 Fixed a problem where certina combinations of speed and accelration could cause oscillation about the target position.
+
+1.27 Added stop() function to stop as fast as possible with current acceleration parameters. Also added new Quickstop example showing its use.
+
+1.28 Fixed another problem where certain combinations of speed and accelration could cause oscillation about the target position. Added support for 3 wire full and half steppers such as Hard Disk Drive spindle. Contributed by Yuri Ivatchkovitch.
+
+1.29 Fixed a problem that could cause a DRIVER stepper to continually step with some sketches. Reported by Vadim.
+
+1.30 Fixed a problem that could cause stepper to back up a few steps at the end of accelerated travel with certain speeds. Reported and patched by jolo.
+
+1.31 Updated author and distribution location details to airspayce.com
+
+1.32 Fixed a problem with enableOutputs() and setEnablePin on Arduino Due that prevented the enable pin changing stae correctly. Reported by Duane Bishop.
+
+1.33 Fixed an error in example AFMotor_ConstantSpeed.pde did not setMaxSpeed(); Fixed a problem that caused incorrect pin sequencing of FULL3WIRE and HALF3WIRE. Unfortunately this meant changing the signature for all step*() functions. Added example MotorShield, showing how to use AdaFruit Motor Shield to control a 3 phase motor such as a HDD spindle motor (and without using the AFMotor library.
+
+1.34 Added setPinsInverted(bool pin1Invert, bool pin2Invert, bool pin3Invert, bool pin4Invert, bool enableInvert) to allow inversion of 2, 3 and 4 wire stepper pins. Requested by Oleg.
+
+1.35 Removed default args from setPinsInverted(bool, bool, bool, bool, bool) to prevent ambiguity with setPinsInverted(bool, bool, bool). Reported by Mac Mac.
+
+1.36 Changed enableOutputs() and disableOutputs() to be virtual so can be overridden. Added new optional argument 'enable' to constructor, which allows you toi disable the automatic enabling of outputs at construction time. Suggested by Guido.
+
+1.37 Fixed a problem with step1 that could cause a rogue step in the wrong direction (or not, depending on the setup-time requirements of the connected hardware). Reported by Mark Tillotson.
+
Author
Mike McCauley (mikem.nosp@m.@air.nosp@m.spayc.nosp@m.e.co.nosp@m.m) DO NOT CONTACT THE AUTHOR DIRECTLY: USE THE LISTS
+
+ + + + diff --git a/libraries/AccelStepper/doc/tab_b.gif b/libraries/AccelStepper/doc/tab_b.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d623483ffdf5f9f96900108042a7ab0643fe2a3 GIT binary patch literal 35 ncmZ?wbhEHbWMp7uXkcJy*>IeJfk6j|fqX^=1|}vKMh0sDa2W*H literal 0 HcmV?d00001 diff --git a/libraries/AccelStepper/doc/tab_l.gif b/libraries/AccelStepper/doc/tab_l.gif new file mode 100644 index 0000000000000000000000000000000000000000..9b1e6337c9299a700401a2a78a2c6ffced475216 GIT binary patch literal 706 zcmZ?wbhEHbZT`}F1e&(Gg}Y(8=I;HA5#Z$3JI=gGB)FQ#odI(O&E^@q;x zK6mr*m3xOS-#u~t!I@i+u0DKm^U160k6t`|^WpV}&n+8{U%dD9&a>B#U%!9-@yol< zU%&tQ{rk_K|NsC0`}dE5ET99@1@a36+kb~?0UJ*yc&I3X_m z!ND^5$O7$#8OFRuDhG}!?8z?cdZK&!`PWjdR;Aj^wZ` zeK{IEYHBJ)6K8VIp1`BVt++swf6j+=L{p1*nO(VhE`pFexG@5$|>uaCcd z`0m=9m+yak{QmXN#Sc$^{$X9h9&q2jiKAI|&T)a;PPx2K9p`YIdw8HtR5k2Q$2-O2 z*;3y{MQ-RnJTgJfI&R5|O)AHxDf_00XbPvDZPy4t=hHd)nfLPvms&O`Ok(sD()5v$ z5U@&h;a=#xbxVbo2~X&Xj0Ie(f{v>vERH+qC+nTG=B8Nca=wU-O$?1&vUgV~9=!H; zx>3p9Yn%*<>t~sk+&0xfyS8RsPfYBd<~wWK%j-LmpU>O7yX^h#UCp1x-p#i7@bE;py8XI6 zmY<)m>~)W~yIWcMVoiPg{duuf<*)9qZ9l$m*Ph&W&$jlv*Vpa+{pH@n=IQ$L?0$ax ec60Ul|8o2P|NVbd{6P)#weSbE3}s?04AuZvx_~SI literal 0 HcmV?d00001 diff --git a/libraries/AccelStepper/doc/tab_r.gif b/libraries/AccelStepper/doc/tab_r.gif new file mode 100644 index 0000000000000000000000000000000000000000..ce9dd9f533cb5486d6941844f442b59d4a9e9175 GIT binary patch literal 2585 zcmbV}`9Bkk1ILFF--w5zJc=ZZT(zjE=;2|_S)Qm~rCWz1Pc)KPl;jv%A#&v2*x}yc zmf2~Jm~&=xjJY?PqwIN}f8qQ2{r$uH{c*nJbmr{cR5??*egHrs-B=MzCF`3%e{FAW z{oL5xTHn~5TM{jaB;@|_Ue5F&Zb@p(kMyG{*;gWDg zyeL|eZf7Qd8=#bXzSiR{yzRgLSj-fJS8>lBjVHN z^o-0eS=nE6a`W;LChBs=`+QAJP~{b93>H^eRb5kCSC1zUNezun%`L5M?RDzv#%jk7 zYVRX=vATPD`+oEfum^{RM@GjuP?-r=yh0!p;Vx^T9G7~`7%5ydH%70=jyJ;;`d;hv92x3R=z{xp+Lg2!*@OK*K15-t&okoPtSED)h&$RLxdbA zseWm^C3d%-yRNi-ryk^!ek+C`n&~cd$#ZWct_cUL{l~i+Nzx^5d!n94(>bW-iL~Rl z&8r)?q|1DIo=0=judQ{FaGcfLERz8gfn3-Qt<2lksh{mzpT}DXxUuR^z=^key&q4! z+wWI45vL0k$R^(F#{qfqhUsN@WA+w-V?LPH33!Q?WFSB3)WBojE@hK41Nb?KfS+Qo zXgrzfsP$wr4Qzy*{OD>uJBjdgGM@VMml5)2f~_}lD*YyOb}Hjeobhz#4c`w(l^>KK zr?Ud;W~Z}*w;%hZ|2^p^+f06gJDJQD zeIhGADbDmm&6arh(q>EZ<7mjzg7l|z$hRL8=1>)Nv=S7CY$B}iYJ&*T_-T_OG*L1q ztZ3Lana33?y3AKnyq^YCF|4x%Rb5WU&2qcl{TFKey%QJeMxn^SdT!hZ5+0i1zeusiYVp-phBl7b5+Px-X&LhByq z0F&<;K0l2+v>qiHlXb#$jXMv$uK-dEGE9L~qtdU(XeRXmvu*K2Q&6!fD**JxYP4b4BR7FdJ$Qx9G9`J%-_X!a#LGpp3g9)VWytGCa;7`S1_e8F~!R+aSJ zOF17p2`H?2kPs8Q`_;U}+D%3p zs2-0BTqFwpUoBk`?P;iPQ(IbEA|JmMx!P&YYG|R@S=5Mnw;-?A6rEEVyV%d7{iU4a zNk`i!%F(Ykpm`}#oH;BjY->@b8vQedv;pza2FL&*6ufjd+*3Ute&>kes~TU?^KkojsTh(o~(3tk1Y6>4(yn( z#U*ID9@eg-beKo1B;HXe+}{Z%n@7m0+yxivuqk9~;!1LGQlah)xYK4>wgL}l6dsaN zIxlRlq`*`j9PG4*0hD6YV_b_2w5b#)o7J?`q#{GjvvKlD`T*dWcZx<-s(ZvLB44E# z=!|sw!?)@%y$oRNL#25WS3lzdii}TuQ3?CLnvQ1_n};2sT_;Y;#d3=+-(O% zMN$>O!3;ke(UuLR%h_&)N zs^!-@A>QR}4yB1bPp`9S19ikTbZ~O{&FF-yHK{En;mmShDUIEw03`j(DBIsM}Rjki2J#SQa3gFZTKBPDeIiLt9Z z%bL3(B@Qw%(B`wSMS~dPh$=R`(}lBoFXKy(s|*{#ru$wjsBc_O#zxNk9w+UUHmx(U zmJ8+M+ndtnZ<7|VU9Mbt61zpo9T&3%Wx&XII=#QJxjR`CZf22ac3d51Z?GD%LEe_&*t46Qf;4`bZ7p2K(Ab5>GfT^}4! zBT&HZD`^PEgWoI&{~o-ID0F?O`75sm(87x%A{(}Ch1)QlzdJ)1B-eqe5a(weg0`4lQIf1evjvbBY50DVbzO7CLf|vP z2#0(U-|jZ`H{y5N^o7%iK6H>_HEGN->U6^!)1{XpJV!!4(Ig7wzZQ*9WYF4X1rG0x z=1uA@i`rIAciubDC{;~b(|&|A@xkjRP5aRcvRU9tvIm}jDB6J eQ0-6-y)mpwdT=ayS0tBxKDA*~;EWmo literal 0 HcmV?d00001 diff --git a/libraries/AccelStepper/doc/tabs.css b/libraries/AccelStepper/doc/tabs.css new file mode 100644 index 0000000..9cf578f --- /dev/null +++ b/libraries/AccelStepper/doc/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/libraries/AccelStepper/examples/AFMotor_ConstantSpeed/AFMotor_ConstantSpeed.pde b/libraries/AccelStepper/examples/AFMotor_ConstantSpeed/AFMotor_ConstantSpeed.pde new file mode 100644 index 0000000..3358a20 --- /dev/null +++ b/libraries/AccelStepper/examples/AFMotor_ConstantSpeed/AFMotor_ConstantSpeed.pde @@ -0,0 +1,36 @@ +// AFMotor_ConstantSpeed.pde +// -*- mode: C++ -*- +// +// Shows how to run AccelStepper in the simplest, +// fixed speed mode with no accelerations +// Requires the AFMotor library (https://github.com/adafruit/Adafruit-Motor-Shield-library) + +#include +#include + +AF_Stepper motor1(200, 1); + + +// you can change these to DOUBLE or INTERLEAVE or MICROSTEP! +void forwardstep() { + motor1.onestep(FORWARD, SINGLE); +} +void backwardstep() { + motor1.onestep(BACKWARD, SINGLE); +} + +AccelStepper stepper(forwardstep, backwardstep); // use functions to step + +void setup() +{ + Serial.begin(9600); // set up Serial library at 9600 bps + Serial.println("Stepper test!"); + + stepper.setMaxSpeed(50); + stepper.setSpeed(50); +} + +void loop() +{ + stepper.runSpeed(); +} diff --git a/libraries/AccelStepper/examples/AFMotor_MultiStepper/AFMotor_MultiStepper.pde b/libraries/AccelStepper/examples/AFMotor_MultiStepper/AFMotor_MultiStepper.pde new file mode 100644 index 0000000..8e86bbc --- /dev/null +++ b/libraries/AccelStepper/examples/AFMotor_MultiStepper/AFMotor_MultiStepper.pde @@ -0,0 +1,54 @@ +// AFMotor_MultiStepper.pde +// -*- mode: C++ -*- +// +// Control both Stepper motors at the same time with different speeds +// and accelerations. +// Requires the AFMotor library (https://github.com/adafruit/Adafruit-Motor-Shield-library) + +#include +#include + +// two stepper motors one on each port +AF_Stepper motor1(200, 1); +AF_Stepper motor2(200, 2); + +// you can change these to DOUBLE or INTERLEAVE or MICROSTEP! +// wrappers for the first motor! +void forwardstep1() { + motor1.onestep(FORWARD, SINGLE); +} +void backwardstep1() { + motor1.onestep(BACKWARD, SINGLE); +} +// wrappers for the second motor! +void forwardstep2() { + motor2.onestep(FORWARD, SINGLE); +} +void backwardstep2() { + motor2.onestep(BACKWARD, SINGLE); +} + +// Motor shield has two motor ports, now we'll wrap them in an AccelStepper object +AccelStepper stepper1(forwardstep1, backwardstep1); +AccelStepper stepper2(forwardstep2, backwardstep2); + +void setup() +{ + stepper1.setMaxSpeed(200.0); + stepper1.setAcceleration(100.0); + stepper1.moveTo(24); + + stepper2.setMaxSpeed(300.0); + stepper2.setAcceleration(100.0); + stepper2.moveTo(1000000); + +} + +void loop() +{ + // Change direction at the limits + if (stepper1.distanceToGo() == 0) + stepper1.moveTo(-stepper1.currentPosition()); + stepper1.run(); + stepper2.run(); +} diff --git a/libraries/AccelStepper/examples/Blocking/Blocking.pde b/libraries/AccelStepper/examples/Blocking/Blocking.pde new file mode 100644 index 0000000..f91b34e --- /dev/null +++ b/libraries/AccelStepper/examples/Blocking/Blocking.pde @@ -0,0 +1,28 @@ +// Blocking.pde +// -*- mode: C++ -*- +// +// Shows how to use the blocking call runToNewPosition +// Which sets a new target position and then waits until the stepper has +// achieved it. +// +// Copyright (C) 2009 Mike McCauley +// $Id: Blocking.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $ + +#include + +// Define a stepper and the pins it will use +AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 + +void setup() +{ + stepper.setMaxSpeed(200.0); + stepper.setAcceleration(100.0); +} + +void loop() +{ + stepper.runToNewPosition(0); + stepper.runToNewPosition(500); + stepper.runToNewPosition(100); + stepper.runToNewPosition(120); +} diff --git a/libraries/AccelStepper/examples/Bounce/Bounce.pde b/libraries/AccelStepper/examples/Bounce/Bounce.pde new file mode 100644 index 0000000..6073c53 --- /dev/null +++ b/libraries/AccelStepper/examples/Bounce/Bounce.pde @@ -0,0 +1,29 @@ +// Bounce.pde +// -*- mode: C++ -*- +// +// Make a single stepper bounce from one limit to another +// +// Copyright (C) 2012 Mike McCauley +// $Id: Random.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $ + +#include + +// Define a stepper and the pins it will use +AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 + +void setup() +{ + // Change these to suit your stepper if you want + stepper.setMaxSpeed(100); + stepper.setAcceleration(20); + stepper.moveTo(500); +} + +void loop() +{ + // If at the end of travel go to the other end + if (stepper.distanceToGo() == 0) + stepper.moveTo(-stepper.currentPosition()); + + stepper.run(); +} diff --git a/libraries/AccelStepper/examples/ConstantSpeed/ConstantSpeed.pde b/libraries/AccelStepper/examples/ConstantSpeed/ConstantSpeed.pde new file mode 100644 index 0000000..8aef26d --- /dev/null +++ b/libraries/AccelStepper/examples/ConstantSpeed/ConstantSpeed.pde @@ -0,0 +1,23 @@ +// ConstantSpeed.pde +// -*- mode: C++ -*- +// +// Shows how to run AccelStepper in the simplest, +// fixed speed mode with no accelerations +/// \author Mike McCauley (mikem@airspayce.com) +// Copyright (C) 2009 Mike McCauley +// $Id: ConstantSpeed.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $ + +#include + +AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 + +void setup() +{ + stepper.setMaxSpeed(1000); + stepper.setSpeed(50); +} + +void loop() +{ + stepper.runSpeed(); +} diff --git a/libraries/AccelStepper/examples/MotorShield/MotorShield.pde b/libraries/AccelStepper/examples/MotorShield/MotorShield.pde new file mode 100644 index 0000000..8018ed1 --- /dev/null +++ b/libraries/AccelStepper/examples/MotorShield/MotorShield.pde @@ -0,0 +1,103 @@ +// AFMotor_ConstantSpeed.pde +// -*- mode: C++ -*- +// +// Shows how to use AccelStepper to control a 3-phase motor, such as a HDD spindle motor +// using the Adafruit Motor Shield +// http://www.ladyada.net/make/mshield/index.html. +// Create a subclass of AccelStepper which controls the motor pins via the +// Motor Shield serial-to-parallel interface + +#include + +// Arduino pin names for interface to 74HCT595 latch +// on Adafruit Motor Shield +#define MOTORLATCH 12 +#define MOTORCLK 4 +#define MOTORENABLE 7 +#define MOTORDATA 8 + +// PWM pins, also used to enable motor outputs +#define PWM0A 5 +#define PWM0B 6 +#define PWM1A 9 +#define PWM1B 10 +#define PWM2A 11 +#define PWM2B 3 + + +// The main purpose of this class is to override setOutputPins to work with Adafruit Motor Shield +class AFMotorShield : public AccelStepper +{ + public: + AFMotorShield(uint8_t interface = AccelStepper::FULL4WIRE, uint8_t pin1 = 2, uint8_t pin2 = 3, uint8_t pin3 = 4, uint8_t pin4 = 5); + + virtual void setOutputPins(uint8_t mask); +}; + + +AFMotorShield::AFMotorShield(uint8_t interface, uint8_t pin1, uint8_t pin2, uint8_t pin3, uint8_t pin4) + : AccelStepper(interface, pin1, pin2, pin3, pin4) +{ + // Enable motor control serial to parallel latch + pinMode(MOTORLATCH, OUTPUT); + pinMode(MOTORENABLE, OUTPUT); + pinMode(MOTORDATA, OUTPUT); + pinMode(MOTORCLK, OUTPUT); + digitalWrite(MOTORENABLE, LOW); + + // enable both H bridges on motor 1 + pinMode(PWM2A, OUTPUT); + pinMode(PWM2B, OUTPUT); + pinMode(PWM0A, OUTPUT); + pinMode(PWM0B, OUTPUT); + digitalWrite(PWM2A, HIGH); + digitalWrite(PWM2B, HIGH); + digitalWrite(PWM0A, HIGH); + digitalWrite(PWM0B, HIGH); + + setOutputPins(0); // Reset +}; + +// Use the AF Motor Shield serial-to-parallel to set the state of the motor pins +// Caution: the mapping of AccelStepper pins to AF motor outputs is not +// obvious: +// AccelStepper Motor Shield output +// pin1 M4A +// pin2 M1A +// pin3 M2A +// pin4 M3A +// Caution this is pretty slow and limits the max speed of the motor to about 500/3 rpm +void AFMotorShield::setOutputPins(uint8_t mask) +{ + uint8_t i; + + digitalWrite(MOTORLATCH, LOW); + digitalWrite(MOTORDATA, LOW); + + for (i=0; i<8; i++) + { + digitalWrite(MOTORCLK, LOW); + + if (mask & _BV(7-i)) + digitalWrite(MOTORDATA, HIGH); + else + digitalWrite(MOTORDATA, LOW); + + digitalWrite(MOTORCLK, HIGH); + } + digitalWrite(MOTORLATCH, HIGH); +} + +AFMotorShield stepper(AccelStepper::HALF3WIRE, 0, 0, 0, 0); // 3 phase HDD spindle drive + +void setup() +{ + stepper.setMaxSpeed(500); // divide by 3 to get rpm + stepper.setAcceleration(80); + stepper.moveTo(10000000); +} + +void loop() +{ + stepper.run(); +} diff --git a/libraries/AccelStepper/examples/MultiStepper/MultiStepper.pde b/libraries/AccelStepper/examples/MultiStepper/MultiStepper.pde new file mode 100644 index 0000000..242e9f5 --- /dev/null +++ b/libraries/AccelStepper/examples/MultiStepper/MultiStepper.pde @@ -0,0 +1,41 @@ +// MultiStepper.pde +// -*- mode: C++ -*- +// +// Shows how to multiple simultaneous steppers +// Runs one stepper forwards and backwards, accelerating and decelerating +// at the limits. Runs other steppers at the same time +// +// Copyright (C) 2009 Mike McCauley +// $Id: MultiStepper.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $ + +#include + +// Define some steppers and the pins the will use +AccelStepper stepper1; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 +AccelStepper stepper2(AccelStepper::FULL4WIRE, 6, 7, 8, 9); +AccelStepper stepper3(AccelStepper::FULL2WIRE, 10, 11); + +void setup() +{ + stepper1.setMaxSpeed(200.0); + stepper1.setAcceleration(100.0); + stepper1.moveTo(24); + + stepper2.setMaxSpeed(300.0); + stepper2.setAcceleration(100.0); + stepper2.moveTo(1000000); + + stepper3.setMaxSpeed(300.0); + stepper3.setAcceleration(100.0); + stepper3.moveTo(1000000); +} + +void loop() +{ + // Change direction at the limits + if (stepper1.distanceToGo() == 0) + stepper1.moveTo(-stepper1.currentPosition()); + stepper1.run(); + stepper2.run(); + stepper3.run(); +} diff --git a/libraries/AccelStepper/examples/Overshoot/Overshoot.pde b/libraries/AccelStepper/examples/Overshoot/Overshoot.pde new file mode 100644 index 0000000..7e16baf --- /dev/null +++ b/libraries/AccelStepper/examples/Overshoot/Overshoot.pde @@ -0,0 +1,28 @@ +// Overshoot.pde +// -*- mode: C++ -*- +// +// Check overshoot handling +// which sets a new target position and then waits until the stepper has +// achieved it. This is used for testing the handling of overshoots +// +// Copyright (C) 2009 Mike McCauley +// $Id: Overshoot.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $ + +#include + +// Define a stepper and the pins it will use +AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 + +void setup() +{ + stepper.setMaxSpeed(150); + stepper.setAcceleration(100); +} + +void loop() +{ + stepper.moveTo(500); + while (stepper.currentPosition() != 300) // Full speed up to 300 + stepper.run(); + stepper.runToNewPosition(0); // Cause an overshoot then back to 0 +} diff --git a/libraries/AccelStepper/examples/ProportionalControl/ProportionalControl.pde b/libraries/AccelStepper/examples/ProportionalControl/ProportionalControl.pde new file mode 100644 index 0000000..2afe444 --- /dev/null +++ b/libraries/AccelStepper/examples/ProportionalControl/ProportionalControl.pde @@ -0,0 +1,32 @@ +// ProportionalControl.pde +// -*- mode: C++ -*- +// +// Make a single stepper follow the analog value read from a pot or whatever +// The stepper will move at a constant speed to each newly set posiiton, +// depending on the value of the pot. +// +// Copyright (C) 2012 Mike McCauley +// $Id: ProportionalControl.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $ + +#include + +// Define a stepper and the pins it will use +AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 + +// This defines the analog input pin for reading the control voltage +// Tested with a 10k linear pot between 5v and GND +#define ANALOG_IN A0 + +void setup() +{ + stepper.setMaxSpeed(1000); +} + +void loop() +{ + // Read new position + int analog_in = analogRead(ANALOG_IN); + stepper.moveTo(analog_in); + stepper.setSpeed(100); + stepper.runSpeedToPosition(); +} diff --git a/libraries/AccelStepper/examples/Quickstop/Quickstop.pde b/libraries/AccelStepper/examples/Quickstop/Quickstop.pde new file mode 100644 index 0000000..e6cfd44 --- /dev/null +++ b/libraries/AccelStepper/examples/Quickstop/Quickstop.pde @@ -0,0 +1,40 @@ +// Quickstop.pde +// -*- mode: C++ -*- +// +// Check stop handling. +// Calls stop() while the stepper is travelling at full speed, causing +// the stepper to stop as quickly as possible, within the constraints of the +// current acceleration. +// +// Copyright (C) 2012 Mike McCauley +// $Id: $ + +#include + +// Define a stepper and the pins it will use +AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 + +void setup() +{ + stepper.setMaxSpeed(150); + stepper.setAcceleration(100); +} + +void loop() +{ + stepper.moveTo(500); + while (stepper.currentPosition() != 300) // Full speed up to 300 + stepper.run(); + stepper.stop(); // Stop as fast as possible: sets new target + stepper.runToPosition(); + // Now stopped after quickstop + + // Now go backwards + stepper.moveTo(-500); + while (stepper.currentPosition() != 0) // Full speed basck to 0 + stepper.run(); + stepper.stop(); // Stop as fast as possible: sets new target + stepper.runToPosition(); + // Now stopped after quickstop + +} diff --git a/libraries/AccelStepper/examples/Random/Random.pde b/libraries/AccelStepper/examples/Random/Random.pde new file mode 100644 index 0000000..871d361 --- /dev/null +++ b/libraries/AccelStepper/examples/Random/Random.pde @@ -0,0 +1,30 @@ +// Random.pde +// -*- mode: C++ -*- +// +// Make a single stepper perform random changes in speed, position and acceleration +// +// Copyright (C) 2009 Mike McCauley +// $Id: Random.pde,v 1.1 2011/01/05 01:51:01 mikem Exp mikem $ + +#include + +// Define a stepper and the pins it will use +AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 + +void setup() +{ +} + +void loop() +{ + if (stepper.distanceToGo() == 0) + { + // Random change to speed, position and acceleration + // Make sure we dont get 0 speed or accelerations + delay(1000); + stepper.moveTo(rand() % 200); + stepper.setMaxSpeed((rand() % 200) + 1); + stepper.setAcceleration((rand() % 200) + 1); + } + stepper.run(); +} diff --git a/libraries/AccelStepper/keywords.txt b/libraries/AccelStepper/keywords.txt new file mode 100644 index 0000000..978144e --- /dev/null +++ b/libraries/AccelStepper/keywords.txt @@ -0,0 +1,37 @@ +####################################### +# Syntax Coloring Map For AccelStepper +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +AccelStepper KEYWORD1 + +####################################### +# Methods and Functions (KEYWORD2) +####################################### + +moveTo KEYWORD2 +move KEYWORD2 +run KEYWORD2 +runSpeed KEYWORD2 +setMaxSpeed KEYWORD2 +setAcceleration KEYWORD2 +setSpeed KEYWORD2 +speed KEYWORD2 +distanceToGo KEYWORD2 +targetPosition KEYWORD2 +currentPosition KEYWORD2 +steCurrentPosition KEYWORD2 +runToPosition KEYWORD2 +runSpeedToPosition KEYWORD2 +runToNewPosition KEYWORD2 +disableOutputs KEYWORD2 +enableOutputs KEYWORD2 +setMinPulseWidth KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### + diff --git a/libraries/AccelStepper/project.cfg b/libraries/AccelStepper/project.cfg new file mode 100644 index 0000000..0d20fb8 --- /dev/null +++ b/libraries/AccelStepper/project.cfg @@ -0,0 +1,290 @@ +# Doxyfile 1.8.2 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = AccelStepper +PROJECT_NUMBER = +PROJECT_BRIEF = +PROJECT_LOGO = +OUTPUT_DIRECTORY = +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +QT_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 8 +ALIASES = +TCL_SUBST = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +OPTIMIZE_FOR_FORTRAN = NO +OPTIMIZE_OUTPUT_VHDL = NO +EXTENSION_MAPPING = +MARKDOWN_SUPPORT = YES +AUTOLINK_SUPPORT = YES +BUILTIN_STL_SUPPORT = NO +CPP_CLI_SUPPORT = NO +SIP_SUPPORT = NO +IDL_PROPERTY_SUPPORT = YES +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES +INLINE_GROUPED_CLASSES = NO +INLINE_SIMPLE_STRUCTS = NO +TYPEDEF_HIDES_STRUCT = NO +SYMBOL_CACHE_SIZE = 0 +LOOKUP_CACHE_SIZE = 0 +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_PACKAGE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +EXTRACT_ANON_NSPACES = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +FORCE_LOCAL_INCLUDES = NO +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_MEMBERS_CTORS_1ST = NO +SORT_GROUP_NAMES = NO +SORT_BY_SCOPE_NAME = NO +STRICT_PROTO_MATCHING = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_FILES = YES +SHOW_NAMESPACES = YES +FILE_VERSION_FILTER = +LAYOUT_FILE = +CITE_BIB_FILES = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = +INPUT_ENCODING = UTF-8 +FILE_PATTERNS = +RECURSIVE = NO +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = examples +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = YES +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +FILTER_SOURCE_PATTERNS = +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = NO +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +REFERENCES_LINK_SOURCE = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = doc +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_EXTRA_STYLESHEET = +HTML_EXTRA_FILES = +HTML_COLORSTYLE_HUE = 220 +HTML_COLORSTYLE_SAT = 100 +HTML_COLORSTYLE_GAMMA = 80 +HTML_TIMESTAMP = NO +HTML_DYNAMIC_SECTIONS = NO +HTML_INDEX_NUM_ENTRIES = 100 +GENERATE_DOCSET = NO +DOCSET_FEEDNAME = "Doxygen generated docs" +DOCSET_BUNDLE_ID = org.doxygen.Project +DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_NAME = Publisher +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +CHM_INDEX_ENCODING = +BINARY_TOC = NO +TOC_EXPAND = NO +GENERATE_QHP = NO +QCH_FILE = +QHP_NAMESPACE = org.doxygen.Project +QHP_VIRTUAL_FOLDER = doc +QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = +QHG_LOCATION = +GENERATE_ECLIPSEHELP = NO +ECLIPSE_DOC_ID = org.doxygen.Project +DISABLE_INDEX = NO +GENERATE_TREEVIEW = NO +ENUM_VALUES_PER_LINE = 4 +TREEVIEW_WIDTH = 250 +EXT_LINKS_IN_WINDOW = NO +FORMULA_FONTSIZE = 10 +FORMULA_TRANSPARENT = YES +USE_MATHJAX = NO +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest +MATHJAX_EXTENSIONS = +SEARCHENGINE = NO +SERVER_BASED_SEARCH = NO +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +LATEX_FOOTER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +LATEX_SOURCE_CODE = NO +LATEX_BIB_STYLE = plain +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +MSCGEN_PATH = +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +DOT_NUM_THREADS = 0 +DOT_FONTNAME = Helvetica +DOT_FONTSIZE = 10 +DOT_FONTPATH = +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +UML_LIMIT_NUM_FIELDS = 10 +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +CALLER_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +INTERACTIVE_SVG = NO +DOT_PATH = +DOTFILE_DIRS = +MSCFILE_DIRS = +DOT_GRAPH_MAX_NODES = 50 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES diff --git a/libraries/Adafruit_MotorShield/Adafruit_MotorShield.cpp b/libraries/Adafruit_MotorShield/Adafruit_MotorShield.cpp new file mode 100644 index 0000000..3e556f0 --- /dev/null +++ b/libraries/Adafruit_MotorShield/Adafruit_MotorShield.cpp @@ -0,0 +1,413 @@ +/****************************************************************** + This is the library for the Adafruit Motor Shield V2 for Arduino. + It supports DC motors & Stepper motors with microstepping as well + as stacking-support. It is *not* compatible with the V1 library! + + It will only work with https://www.adafruit.com/products/1483 + + Adafruit invests time and resources providing this open + source code, please support Adafruit and open-source hardware + by purchasing products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + BSD license, check license.txt for more information. + All text above must be included in any redistribution. + ******************************************************************/ + + +#if (ARDUINO >= 100) + #include "Arduino.h" +#else + #include "WProgram.h" +#endif +#include +#include "Adafruit_MotorShield.h" +#include +#ifdef __AVR__ + #define WIRE Wire +#else // Arduino Due + #define WIRE Wire1 +#endif + + +#if (MICROSTEPS == 8) +uint8_t microstepcurve[] = {0, 50, 98, 142, 180, 212, 236, 250, 255}; +#elif (MICROSTEPS == 16) +uint8_t microstepcurve[] = {0, 25, 50, 74, 98, 120, 141, 162, 180, 197, 212, 225, 236, 244, 250, 253, 255}; +#endif + +Adafruit_MotorShield::Adafruit_MotorShield(uint8_t addr) { + _addr = addr; + _pwm = Adafruit_PWMServoDriver(_addr); +} + +void Adafruit_MotorShield::begin(uint16_t freq) { + // init PWM w/_freq + WIRE.begin(); + _pwm.begin(); + _freq = freq; + _pwm.setPWMFreq(_freq); // This is the maximum PWM frequency + for (uint8_t i=0; i<16; i++) + _pwm.setPWM(i, 0, 0); +} + +void Adafruit_MotorShield::setPWM(uint8_t pin, uint16_t value) { + if (value > 4095) { + _pwm.setPWM(pin, 4096, 0); + } else + _pwm.setPWM(pin, 0, value); +} +void Adafruit_MotorShield::setPin(uint8_t pin, boolean value) { + if (value == LOW) + _pwm.setPWM(pin, 0, 0); + else + _pwm.setPWM(pin, 4096, 0); +} + +Adafruit_DCMotor *Adafruit_MotorShield::getMotor(uint8_t num) { + if (num > 4) return NULL; + + num--; + + if (dcmotors[num].motornum == 0) { + // not init'd yet! + dcmotors[num].motornum = num; + dcmotors[num].MC = this; + uint8_t pwm, in1, in2; + if (num == 0) { + pwm = 8; in2 = 9; in1 = 10; + } else if (num == 1) { + pwm = 13; in2 = 12; in1 = 11; + } else if (num == 2) { + pwm = 2; in2 = 3; in1 = 4; + } else if (num == 3) { + pwm = 7; in2 = 6; in1 = 5; + } + dcmotors[num].PWMpin = pwm; + dcmotors[num].IN1pin = in1; + dcmotors[num].IN2pin = in2; + } + return &dcmotors[num]; +} + + +Adafruit_StepperMotor *Adafruit_MotorShield::getStepper(uint16_t steps, uint8_t num) { + if (num > 2) return NULL; + + num--; + + if (steppers[num].steppernum == 0) { + // not init'd yet! + steppers[num].steppernum = num; + steppers[num].revsteps = steps; + steppers[num].MC = this; + uint8_t pwma, pwmb, ain1, ain2, bin1, bin2; + if (num == 0) { + pwma = 8; ain2 = 9; ain1 = 10; + pwmb = 13; bin2 = 12; bin1 = 11; + } else if (num == 1) { + pwma = 2; ain2 = 3; ain1 = 4; + pwmb = 7; bin2 = 6; bin1 = 5; + } + steppers[num].PWMApin = pwma; + steppers[num].PWMBpin = pwmb; + steppers[num].AIN1pin = ain1; + steppers[num].AIN2pin = ain2; + steppers[num].BIN1pin = bin1; + steppers[num].BIN2pin = bin2; + } + return &steppers[num]; +} + + +/****************************************** + MOTORS +******************************************/ + +Adafruit_DCMotor::Adafruit_DCMotor(void) { + MC = NULL; + motornum = 0; + PWMpin = IN1pin = IN2pin = 0; +} + +void Adafruit_DCMotor::run(uint8_t cmd) { + switch (cmd) { + case FORWARD: + MC->setPin(IN2pin, LOW); // take low first to avoid 'break' + MC->setPin(IN1pin, HIGH); + break; + case BACKWARD: + MC->setPin(IN1pin, LOW); // take low first to avoid 'break' + MC->setPin(IN2pin, HIGH); + break; + case RELEASE: + MC->setPin(IN1pin, LOW); + MC->setPin(IN2pin, LOW); + break; + } +} + +void Adafruit_DCMotor::setSpeed(uint8_t speed) { + MC->setPWM(PWMpin, speed*16); +} + +/****************************************** + STEPPERS +******************************************/ + +Adafruit_StepperMotor::Adafruit_StepperMotor(void) { + revsteps = steppernum = currentstep = 0; +} +/* + +uint16_t steps, Adafruit_MotorShield controller) { + + revsteps = steps; + steppernum = 1; + currentstep = 0; + + if (steppernum == 1) { + latch_state &= ~_BV(MOTOR1_A) & ~_BV(MOTOR1_B) & + ~_BV(MOTOR2_A) & ~_BV(MOTOR2_B); // all motor pins to 0 + + // enable both H bridges + pinMode(11, OUTPUT); + pinMode(3, OUTPUT); + digitalWrite(11, HIGH); + digitalWrite(3, HIGH); + + // use PWM for microstepping support + MC->setPWM(1, 255); + MC->setPWM(2, 255); + + } else if (steppernum == 2) { + latch_state &= ~_BV(MOTOR3_A) & ~_BV(MOTOR3_B) & + ~_BV(MOTOR4_A) & ~_BV(MOTOR4_B); // all motor pins to 0 + + // enable both H bridges + pinMode(5, OUTPUT); + pinMode(6, OUTPUT); + digitalWrite(5, HIGH); + digitalWrite(6, HIGH); + + // use PWM for microstepping support + // use PWM for microstepping support + MC->setPWM(3, 255); + MC->setPWM(4, 255); + } +} +*/ + +void Adafruit_StepperMotor::setSpeed(uint16_t rpm) { + //Serial.println("steps per rev: "); Serial.println(revsteps); + //Serial.println("RPM: "); Serial.println(rpm); + + usperstep = 60000000 / ((uint32_t)revsteps * (uint32_t)rpm); + steppingcounter = 0; +} + +void Adafruit_StepperMotor::release(void) { + MC->setPin(AIN1pin, LOW); + MC->setPin(AIN2pin, LOW); + MC->setPin(BIN1pin, LOW); + MC->setPin(BIN2pin, LOW); + MC->setPWM(PWMApin, 0); + MC->setPWM(PWMBpin, 0); +} + +void Adafruit_StepperMotor::step(uint16_t steps, uint8_t dir, uint8_t style) { + uint32_t uspers = usperstep; + uint8_t ret = 0; + + if (style == INTERLEAVE) { + uspers /= 2; + } + else if (style == MICROSTEP) { + uspers /= MICROSTEPS; + steps *= MICROSTEPS; +#ifdef MOTORDEBUG + Serial.print("steps = "); Serial.println(steps, DEC); +#endif + } + + while (steps--) { + //Serial.println("step!"); Serial.println(uspers); + ret = onestep(dir, style); + delay(uspers/1000); // in ms + steppingcounter += (uspers % 1000); + if (steppingcounter >= 1000) { + delay(1); + steppingcounter -= 1000; + } + } + if (style == MICROSTEP) { + while ((ret != 0) && (ret != MICROSTEPS)) { + ret = onestep(dir, style); + delay(uspers/1000); // in ms + steppingcounter += (uspers % 1000); + if (steppingcounter >= 1000) { + delay(1); + steppingcounter -= 1000; + } + } + } +} + +uint8_t Adafruit_StepperMotor::onestep(uint8_t dir, uint8_t style) { + uint8_t a, b, c, d; + uint8_t ocrb, ocra; + + ocra = ocrb = 255; + + + // next determine what sort of stepping procedure we're up to + if (style == SINGLE) { + if ((currentstep/(MICROSTEPS/2)) % 2) { // we're at an odd step, weird + if (dir == FORWARD) { + currentstep += MICROSTEPS/2; + } + else { + currentstep -= MICROSTEPS/2; + } + } else { // go to the next even step + if (dir == FORWARD) { + currentstep += MICROSTEPS; + } + else { + currentstep -= MICROSTEPS; + } + } + } else if (style == DOUBLE) { + if (! (currentstep/(MICROSTEPS/2) % 2)) { // we're at an even step, weird + if (dir == FORWARD) { + currentstep += MICROSTEPS/2; + } else { + currentstep -= MICROSTEPS/2; + } + } else { // go to the next odd step + if (dir == FORWARD) { + currentstep += MICROSTEPS; + } else { + currentstep -= MICROSTEPS; + } + } + } else if (style == INTERLEAVE) { + if (dir == FORWARD) { + currentstep += MICROSTEPS/2; + } else { + currentstep -= MICROSTEPS/2; + } + } + + if (style == MICROSTEP) { + if (dir == FORWARD) { + currentstep++; + } else { + // BACKWARDS + currentstep--; + } + + currentstep += MICROSTEPS*4; + currentstep %= MICROSTEPS*4; + + ocra = ocrb = 0; + if ( (currentstep >= 0) && (currentstep < MICROSTEPS)) { + ocra = microstepcurve[MICROSTEPS - currentstep]; + ocrb = microstepcurve[currentstep]; + } else if ( (currentstep >= MICROSTEPS) && (currentstep < MICROSTEPS*2)) { + ocra = microstepcurve[currentstep - MICROSTEPS]; + ocrb = microstepcurve[MICROSTEPS*2 - currentstep]; + } else if ( (currentstep >= MICROSTEPS*2) && (currentstep < MICROSTEPS*3)) { + ocra = microstepcurve[MICROSTEPS*3 - currentstep]; + ocrb = microstepcurve[currentstep - MICROSTEPS*2]; + } else if ( (currentstep >= MICROSTEPS*3) && (currentstep < MICROSTEPS*4)) { + ocra = microstepcurve[currentstep - MICROSTEPS*3]; + ocrb = microstepcurve[MICROSTEPS*4 - currentstep]; + } + } + + currentstep += MICROSTEPS*4; + currentstep %= MICROSTEPS*4; + +#ifdef MOTORDEBUG + Serial.print("current step: "); Serial.println(currentstep, DEC); + Serial.print(" pwmA = "); Serial.print(ocra, DEC); + Serial.print(" pwmB = "); Serial.println(ocrb, DEC); +#endif + MC->setPWM(PWMApin, ocra*16); + MC->setPWM(PWMBpin, ocrb*16); + + + // release all + uint8_t latch_state = 0; // all motor pins to 0 + + //Serial.println(step, DEC); + if (style == MICROSTEP) { + if ((currentstep >= 0) && (currentstep < MICROSTEPS)) + latch_state |= 0x03; + if ((currentstep >= MICROSTEPS) && (currentstep < MICROSTEPS*2)) + latch_state |= 0x06; + if ((currentstep >= MICROSTEPS*2) && (currentstep < MICROSTEPS*3)) + latch_state |= 0x0C; + if ((currentstep >= MICROSTEPS*3) && (currentstep < MICROSTEPS*4)) + latch_state |= 0x09; + } else { + switch (currentstep/(MICROSTEPS/2)) { + case 0: + latch_state |= 0x1; // energize coil 1 only + break; + case 1: + latch_state |= 0x3; // energize coil 1+2 + break; + case 2: + latch_state |= 0x2; // energize coil 2 only + break; + case 3: + latch_state |= 0x6; // energize coil 2+3 + break; + case 4: + latch_state |= 0x4; // energize coil 3 only + break; + case 5: + latch_state |= 0xC; // energize coil 3+4 + break; + case 6: + latch_state |= 0x8; // energize coil 4 only + break; + case 7: + latch_state |= 0x9; // energize coil 1+4 + break; + } + } +#ifdef MOTORDEBUG + Serial.print("Latch: 0x"); Serial.println(latch_state, HEX); +#endif + + if (latch_state & 0x1) { + // Serial.println(AIN2pin); + MC->setPin(AIN2pin, HIGH); + } else { + MC->setPin(AIN2pin, LOW); + } + if (latch_state & 0x2) { + MC->setPin(BIN1pin, HIGH); + // Serial.println(BIN1pin); + } else { + MC->setPin(BIN1pin, LOW); + } + if (latch_state & 0x4) { + MC->setPin(AIN1pin, HIGH); + // Serial.println(AIN1pin); + } else { + MC->setPin(AIN1pin, LOW); + } + if (latch_state & 0x8) { + MC->setPin(BIN2pin, HIGH); + // Serial.println(BIN2pin); + } else { + MC->setPin(BIN2pin, LOW); + } + + return currentstep; +} + diff --git a/libraries/Adafruit_MotorShield/Adafruit_MotorShield.h b/libraries/Adafruit_MotorShield/Adafruit_MotorShield.h new file mode 100644 index 0000000..f870a43 --- /dev/null +++ b/libraries/Adafruit_MotorShield/Adafruit_MotorShield.h @@ -0,0 +1,102 @@ +/****************************************************************** + This is the library for the Adafruit Motor Shield V2 for Arduino. + It supports DC motors & Stepper motors with microstepping as well + as stacking-support. It is *not* compatible with the V1 library! + + It will only work with https://www.adafruit.com/products/1483 + + Adafruit invests time and resources providing this open + source code, please support Adafruit and open-source hardware + by purchasing products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + BSD license, check license.txt for more information. + All text above must be included in any redistribution. + ******************************************************************/ + +#ifndef _Adafruit_MotorShield_h_ +#define _Adafruit_MotorShield_h_ + +#include +#include +#include "utility/Adafruit_PWMServoDriver.h" + +//#define MOTORDEBUG + +#define MICROSTEPS 16 // 8 or 16 + +#define MOTOR1_A 2 +#define MOTOR1_B 3 +#define MOTOR2_A 1 +#define MOTOR2_B 4 +#define MOTOR4_A 0 +#define MOTOR4_B 6 +#define MOTOR3_A 5 +#define MOTOR3_B 7 + +#define FORWARD 1 +#define BACKWARD 2 +#define BRAKE 3 +#define RELEASE 4 + +#define SINGLE 1 +#define DOUBLE 2 +#define INTERLEAVE 3 +#define MICROSTEP 4 + +class Adafruit_MotorShield; + +class Adafruit_DCMotor +{ + public: + Adafruit_DCMotor(void); + friend class Adafruit_MotorShield; + void run(uint8_t); + void setSpeed(uint8_t); + + private: + uint8_t PWMpin, IN1pin, IN2pin; + Adafruit_MotorShield *MC; + uint8_t motornum; +}; + +class Adafruit_StepperMotor { + public: + Adafruit_StepperMotor(void); + friend class Adafruit_MotorShield; + + void step(uint16_t steps, uint8_t dir, uint8_t style = SINGLE); + void setSpeed(uint16_t); + uint8_t onestep(uint8_t dir, uint8_t style); + void release(void); + uint32_t usperstep, steppingcounter; + + private: + uint8_t PWMApin, AIN1pin, AIN2pin; + uint8_t PWMBpin, BIN1pin, BIN2pin; + uint16_t revsteps; // # steps per revolution + uint8_t currentstep; + Adafruit_MotorShield *MC; + uint8_t steppernum; +}; + +class Adafruit_MotorShield +{ + public: + Adafruit_MotorShield(uint8_t addr = 0x60); + friend class Adafruit_DCMotor; + void begin(uint16_t freq = 1600); + + void setPWM(uint8_t pin, uint16_t val); + void setPin(uint8_t pin, boolean val); + Adafruit_DCMotor *getMotor(uint8_t n); + Adafruit_StepperMotor *getStepper(uint16_t steps, uint8_t n); + private: + uint8_t _addr; + uint16_t _freq; + Adafruit_DCMotor dcmotors[4]; + Adafruit_StepperMotor steppers[2]; + Adafruit_PWMServoDriver _pwm; +}; + +#endif diff --git a/libraries/Adafruit_MotorShield/README.txt b/libraries/Adafruit_MotorShield/README.txt new file mode 100644 index 0000000..3b6fc0a --- /dev/null +++ b/libraries/Adafruit_MotorShield/README.txt @@ -0,0 +1,13 @@ + This is the library for the Adafruit Motor Shield V2 for Arduino. + It supports DC motors & Stepper motors with microstepping as well + as stacking-support. It is *not* compatible with the V1 library! + + It will only work with https://www.adafruit.com/products/1438 + + Adafruit invests time and resources providing this open + source code, please support Adafruit and open-source hardware + by purchasing products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + BSD license, check license.txt for more information. + All text above must be included in any redistribution. diff --git a/libraries/Adafruit_MotorShield/examples/Accel_ConstantSpeed/Accel_ConstantSpeed.ino b/libraries/Adafruit_MotorShield/examples/Accel_ConstantSpeed/Accel_ConstantSpeed.ino new file mode 100644 index 0000000..c08ed4a --- /dev/null +++ b/libraries/Adafruit_MotorShield/examples/Accel_ConstantSpeed/Accel_ConstantSpeed.ino @@ -0,0 +1,52 @@ +// ConstantSpeed.pde +// -*- mode: C++ -*- +// +// Shows how to run AccelStepper in the simplest, +// fixed speed mode with no accelerations +// Requires the Adafruit_Motorshield v2 library +// https://github.com/adafruit/Adafruit_Motor_Shield_V2_Library +// And AccelStepper with AFMotor support +// https://github.com/adafruit/AccelStepper + +// This tutorial is for Adafruit Motorshield v2 only! +// Will not work with v1 shields + +#include +#include +#include +#include "utility/Adafruit_PWMServoDriver.h" + +// Create the motor shield object with the default I2C address +Adafruit_MotorShield AFMS = Adafruit_MotorShield(); +// Or, create it with a different I2C address (say for stacking) +// Adafruit_MotorShield AFMS = Adafruit_MotorShield(0x61); + +// Connect a stepper motor with 200 steps per revolution (1.8 degree) +// to motor port #2 (M3 and M4) +Adafruit_StepperMotor *myStepper1 = AFMS.getStepper(200, 2); + +// you can change these to DOUBLE or INTERLEAVE or MICROSTEP! +void forwardstep1() { + myStepper1->onestep(FORWARD, SINGLE); +} +void backwardstep1() { + myStepper1->onestep(BACKWARD, SINGLE); +} + +AccelStepper Astepper1(forwardstep1, backwardstep1); // use functions to step + +void setup() +{ + Serial.begin(9600); // set up Serial library at 9600 bps + Serial.println("Stepper test!"); + + AFMS.begin(); // create with the default frequency 1.6KHz + //AFMS.begin(1000); // OR with a different frequency, say 1KHz + + Astepper1.setSpeed(50); +} + +void loop() +{ + Astepper1.runSpeed(); +} diff --git a/libraries/Adafruit_MotorShield/examples/Accel_MultiStepper/Accel_MultiStepper.ino b/libraries/Adafruit_MotorShield/examples/Accel_MultiStepper/Accel_MultiStepper.ino new file mode 100644 index 0000000..6f07c2f --- /dev/null +++ b/libraries/Adafruit_MotorShield/examples/Accel_MultiStepper/Accel_MultiStepper.ino @@ -0,0 +1,90 @@ +// Shows how to run three Steppers at once with varying speeds +// +// Requires the Adafruit_Motorshield v2 library +// https://github.com/adafruit/Adafruit_Motor_Shield_V2_Library +// And AccelStepper with AFMotor support +// https://github.com/adafruit/AccelStepper + +// This tutorial is for Adafruit Motorshield v2 only! +// Will not work with v1 shields + +#include +#include +#include +#include "utility/Adafruit_PWMServoDriver.h" + +Adafruit_MotorShield AFMSbot(0x61); // Rightmost jumper closed +Adafruit_MotorShield AFMStop(0x60); // Default address, no jumpers + +// Connect two steppers with 200 steps per revolution (1.8 degree) +// to the top shield +Adafruit_StepperMotor *myStepper1 = AFMStop.getStepper(200, 1); +Adafruit_StepperMotor *myStepper2 = AFMStop.getStepper(200, 2); + +// Connect one stepper with 200 steps per revolution (1.8 degree) +// to the bottom shield +Adafruit_StepperMotor *myStepper3 = AFMSbot.getStepper(200, 2); + +// you can change these to DOUBLE or INTERLEAVE or MICROSTEP! +// wrappers for the first motor! +void forwardstep1() { + myStepper1->onestep(FORWARD, SINGLE); +} +void backwardstep1() { + myStepper1->onestep(BACKWARD, SINGLE); +} +// wrappers for the second motor! +void forwardstep2() { + myStepper2->onestep(FORWARD, DOUBLE); +} +void backwardstep2() { + myStepper2->onestep(BACKWARD, DOUBLE); +} +// wrappers for the third motor! +void forwardstep3() { + myStepper3->onestep(FORWARD, INTERLEAVE); +} +void backwardstep3() { + myStepper3->onestep(BACKWARD, INTERLEAVE); +} + +// Now we'll wrap the 3 steppers in an AccelStepper object +AccelStepper stepper1(forwardstep1, backwardstep1); +AccelStepper stepper2(forwardstep2, backwardstep2); +AccelStepper stepper3(forwardstep3, backwardstep3); + +void setup() +{ + AFMSbot.begin(); // Start the bottom shield + AFMStop.begin(); // Start the top shield + + stepper1.setMaxSpeed(100.0); + stepper1.setAcceleration(100.0); + stepper1.moveTo(24); + + stepper2.setMaxSpeed(200.0); + stepper2.setAcceleration(100.0); + stepper2.moveTo(50000); + + stepper3.setMaxSpeed(300.0); + stepper3.setAcceleration(100.0); + stepper3.moveTo(1000000); +} + +void loop() +{ + // Change direction at the limits + if (stepper1.distanceToGo() == 0) + stepper1.moveTo(-stepper1.currentPosition()); + + if (stepper2.distanceToGo() == 0) + stepper2.moveTo(-stepper2.currentPosition()); + + if (stepper3.distanceToGo() == 0) + stepper3.moveTo(-stepper3.currentPosition()); + + stepper1.run(); + stepper2.run(); + stepper3.run(); +} + diff --git a/libraries/Adafruit_MotorShield/examples/DCMotorTest/DCMotorTest.ino b/libraries/Adafruit_MotorShield/examples/DCMotorTest/DCMotorTest.ino new file mode 100644 index 0000000..0b97e38 --- /dev/null +++ b/libraries/Adafruit_MotorShield/examples/DCMotorTest/DCMotorTest.ino @@ -0,0 +1,68 @@ +/* +This is a test sketch for the Adafruit assembled Motor Shield for Arduino v2 +It won't work with v1.x motor shields! Only for the v2's with built in PWM +control + +For use with the Adafruit Motor Shield v2 +----> http://www.adafruit.com/products/1438 +*/ + +#include +#include +#include "utility/Adafruit_PWMServoDriver.h" + +// Create the motor shield object with the default I2C address +Adafruit_MotorShield AFMS = Adafruit_MotorShield(); +// Or, create it with a different I2C address (say for stacking) +// Adafruit_MotorShield AFMS = Adafruit_MotorShield(0x61); + +// Select which 'port' M1, M2, M3 or M4. In this case, M1 +Adafruit_DCMotor *myMotor = AFMS.getMotor(1); +// You can also make another motor on port M2 +//Adafruit_DCMotor *myOtherMotor = AFMS.getMotor(2); + +void setup() { + Serial.begin(9600); // set up Serial library at 9600 bps + Serial.println("Adafruit Motorshield v2 - DC Motor test!"); + + AFMS.begin(); // create with the default frequency 1.6KHz + //AFMS.begin(1000); // OR with a different frequency, say 1KHz + + // Set the speed to start, from 0 (off) to 255 (max speed) + myMotor->setSpeed(150); + myMotor->run(FORWARD); + // turn on motor + myMotor->run(RELEASE); +} + +void loop() { + uint8_t i; + + Serial.print("tick"); + + myMotor->run(FORWARD); + for (i=0; i<255; i++) { + myMotor->setSpeed(i); + delay(10); + } + for (i=255; i!=0; i--) { + myMotor->setSpeed(i); + delay(10); + } + + Serial.print("tock"); + + myMotor->run(BACKWARD); + for (i=0; i<255; i++) { + myMotor->setSpeed(i); + delay(10); + } + for (i=255; i!=0; i--) { + myMotor->setSpeed(i); + delay(10); + } + + Serial.print("tech"); + myMotor->run(RELEASE); + delay(1000); +} \ No newline at end of file diff --git a/libraries/Adafruit_MotorShield/examples/MotorParty/MotorParty.ino b/libraries/Adafruit_MotorShield/examples/MotorParty/MotorParty.ino new file mode 100644 index 0000000..74aba93 --- /dev/null +++ b/libraries/Adafruit_MotorShield/examples/MotorParty/MotorParty.ino @@ -0,0 +1,84 @@ +/* +This is a test sketch for the Adafruit assembled Motor Shield for Arduino v2 +It won't work with v1.x motor shields! Only for the v2's with built in PWM +control + +For use with the Adafruit Motor Shield v2 +----> http://www.adafruit.com/products/1438 + +This sketch creates a fun motor party on your desk *whiirrr* +Connect a unipolar/bipolar stepper to M3/M4 +Connect a DC motor to M1 +Connect a hobby servo to SERVO1 +*/ + +#include +#include +#include "utility/Adafruit_PWMServoDriver.h" +#include + +// Create the motor shield object with the default I2C address +Adafruit_MotorShield AFMS = Adafruit_MotorShield(); +// Or, create it with a different I2C address (say for stacking) +// Adafruit_MotorShield AFMS = Adafruit_MotorShield(0x61); + +// Connect a stepper motor with 200 steps per revolution (1.8 degree) +// to motor port #2 (M3 and M4) +Adafruit_StepperMotor *myStepper = AFMS.getStepper(200, 2); +// And connect a DC motor to port M1 +Adafruit_DCMotor *myMotor = AFMS.getMotor(1); + +// We'll also test out the built in Arduino Servo library +Servo servo1; + + +void setup() { + Serial.begin(9600); // set up Serial library at 9600 bps + Serial.println("MMMMotor party!"); + + AFMS.begin(); // create with the default frequency 1.6KHz + //AFMS.begin(1000); // OR with a different frequency, say 1KHz + + // Attach a servo to pin #10 + servo1.attach(10); + + // turn on motor M1 + myMotor->setSpeed(200); + myMotor->run(RELEASE); + + // setup the stepper + myStepper->setSpeed(10); // 10 rpm +} + +int i; +void loop() { + myMotor->run(FORWARD); + for (i=0; i<255; i++) { + servo1.write(map(i, 0, 255, 0, 180)); + myMotor->setSpeed(i); + myStepper->step(1, FORWARD, INTERLEAVE); + delay(3); + } + + for (i=255; i!=0; i--) { + servo1.write(map(i, 0, 255, 0, 180)); + myMotor->setSpeed(i); + myStepper->step(1, BACKWARD, INTERLEAVE); + delay(3); + } + + myMotor->run(BACKWARD); + for (i=0; i<255; i++) { + servo1.write(map(i, 0, 255, 0, 180)); + myMotor->setSpeed(i); + myStepper->step(1, FORWARD, DOUBLE); + delay(3); + } + + for (i=255; i!=0; i--) { + servo1.write(map(i, 0, 255, 0, 180)); + myMotor->setSpeed(i); + myStepper->step(1, BACKWARD, DOUBLE); + delay(3); + } +} \ No newline at end of file diff --git a/libraries/Adafruit_MotorShield/examples/StackingTest/StackingTest.ino b/libraries/Adafruit_MotorShield/examples/StackingTest/StackingTest.ino new file mode 100644 index 0000000..f4c74cd --- /dev/null +++ b/libraries/Adafruit_MotorShield/examples/StackingTest/StackingTest.ino @@ -0,0 +1,76 @@ +/* +This is a test sketch for the Adafruit assembled Motor Shield for Arduino v2 +It won't work with v1.x motor shields! Only for the v2's with built in PWM +control + +For use with the Adafruit Motor Shield v2 +----> http://www.adafruit.com/products/1438 +*/ + +#include +#include +#include "utility/Adafruit_PWMServoDriver.h" + +Adafruit_MotorShield AFMSbot(0x61); // Rightmost jumper closed +Adafruit_MotorShield AFMStop(0x60); // Default address, no jumpers + +// On the top shield, connect two steppers, each with 200 steps +Adafruit_StepperMotor *myStepper2 = AFMStop.getStepper(200, 1); +Adafruit_StepperMotor *myStepper3 = AFMStop.getStepper(200, 2); + +// On the bottom shield connect a stepper to port M3/M4 with 200 steps +Adafruit_StepperMotor *myStepper1 = AFMSbot.getStepper(200, 2); +// And a DC Motor to port M1 +Adafruit_DCMotor *myMotor1 = AFMSbot.getMotor(1); + +void setup() { + while (!Serial); + Serial.begin(9600); // set up Serial library at 9600 bps + Serial.println("MMMMotor party!"); + + AFMSbot.begin(); // Start the bottom shield + AFMStop.begin(); // Start the top shield + + // turn on the DC motor + myMotor1->setSpeed(200); + myMotor1->run(RELEASE); +} + +int i; +void loop() { + myMotor1->run(FORWARD); + + for (i=0; i<255; i++) { + myMotor1->setSpeed(i); + myStepper1->onestep(FORWARD, INTERLEAVE); + myStepper2->onestep(BACKWARD, DOUBLE); + myStepper3->onestep(FORWARD, MICROSTEP); + delay(3); + } + + for (i=255; i!=0; i--) { + myMotor1->setSpeed(i); + myStepper1->onestep(BACKWARD, INTERLEAVE); + myStepper2->onestep(FORWARD, DOUBLE); + myStepper3->onestep(BACKWARD, MICROSTEP); + delay(3); + } + + myMotor1->run(BACKWARD); + + for (i=0; i<255; i++) { + myMotor1->setSpeed(i); + myStepper1->onestep(FORWARD, DOUBLE); + myStepper2->onestep(BACKWARD, INTERLEAVE); + myStepper3->onestep(FORWARD, MICROSTEP); + delay(3); + } + + for (i=255; i!=0; i--) { + myMotor1->setSpeed(i); + myStepper1->onestep(BACKWARD, DOUBLE); + myStepper2->onestep(FORWARD, INTERLEAVE); + myStepper3->onestep(BACKWARD, MICROSTEP); + delay(3); + } +} \ No newline at end of file diff --git a/libraries/Adafruit_MotorShield/examples/StepperTest/StepperTest.ino b/libraries/Adafruit_MotorShield/examples/StepperTest/StepperTest.ino new file mode 100644 index 0000000..53699a8 --- /dev/null +++ b/libraries/Adafruit_MotorShield/examples/StepperTest/StepperTest.ino @@ -0,0 +1,51 @@ +/* +This is a test sketch for the Adafruit assembled Motor Shield for Arduino v2 +It won't work with v1.x motor shields! Only for the v2's with built in PWM +control + +For use with the Adafruit Motor Shield v2 +----> http://www.adafruit.com/products/1438 +*/ + + +#include +#include +#include "utility/Adafruit_PWMServoDriver.h" + +// Create the motor shield object with the default I2C address +Adafruit_MotorShield AFMS = Adafruit_MotorShield(); +// Or, create it with a different I2C address (say for stacking) +// Adafruit_MotorShield AFMS = Adafruit_MotorShield(0x61); + +// Connect a stepper motor with 200 steps per revolution (1.8 degree) +// to motor port #2 (M3 and M4) +Adafruit_StepperMotor *myMotor = AFMS.getStepper(200, 2); + + +void setup() { + Serial.begin(9600); // set up Serial library at 9600 bps + Serial.println("Stepper test!"); + + AFMS.begin(); // create with the default frequency 1.6KHz + //AFMS.begin(1000); // OR with a different frequency, say 1KHz + + myMotor->setSpeed(10); // 10 rpm +} + +void loop() { + Serial.println("Single coil steps"); + myMotor->step(100, FORWARD, SINGLE); + myMotor->step(100, BACKWARD, SINGLE); + + Serial.println("Double coil steps"); + myMotor->step(100, FORWARD, DOUBLE); + myMotor->step(100, BACKWARD, DOUBLE); + + Serial.println("Interleave coil steps"); + myMotor->step(100, FORWARD, INTERLEAVE); + myMotor->step(100, BACKWARD, INTERLEAVE); + + Serial.println("Microstep steps"); + myMotor->step(50, FORWARD, MICROSTEP); + myMotor->step(50, BACKWARD, MICROSTEP); +} \ No newline at end of file diff --git a/libraries/Adafruit_MotorShield/keywords.txt b/libraries/Adafruit_MotorShield/keywords.txt new file mode 100644 index 0000000..ae1d741 --- /dev/null +++ b/libraries/Adafruit_MotorShield/keywords.txt @@ -0,0 +1,40 @@ +####################################### +# Syntax Coloring Map for AFMotor +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +Adafruit_MotorShield KEYWORD1 +Adafruit_DCMotor KEYWORD1 +Adafruit_StepperMotor KEYWORD1 + +####################################### +# Methods and Functions (KEYWORD2) +####################################### + +enable KEYWORD2 +run KEYWORD2 +setSpeed KEYWORD2 +step KEYWORD2 +onestep KEYWORD2 +release KEYWORD2 +getMotor KEYWORD2 +getStepper KEYWORD2 +setPin KEYWORD2 +setPWM KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### + +MICROSTEPPING LITERAL1 +FORWARD LITERAL1 +BACKWARD LITERAL1 +BRAKE LITERAL1 +RELEASE LITERAL1 +SINGLE LITERAL1 +DOUBLE LITERAL1 +INTERLEAVE LITERAL1 +MICROSTEP LITERAL1 \ No newline at end of file diff --git a/libraries/Adafruit_MotorShield/license.txt b/libraries/Adafruit_MotorShield/license.txt new file mode 100644 index 0000000..4bbfa39 --- /dev/null +++ b/libraries/Adafruit_MotorShield/license.txt @@ -0,0 +1,25 @@ +Software License Agreement (BSD License) + +Copyright (c) 2012, Adafruit Industries. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. +3. Neither the name of the copyright holders nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/libraries/Adafruit_MotorShield/utility/Adafruit_PWMServoDriver.cpp b/libraries/Adafruit_MotorShield/utility/Adafruit_PWMServoDriver.cpp new file mode 100644 index 0000000..1a2f251 --- /dev/null +++ b/libraries/Adafruit_MotorShield/utility/Adafruit_PWMServoDriver.cpp @@ -0,0 +1,110 @@ +/*************************************************** + This is a library for our Adafruit 16-channel PWM & Servo driver + + Pick one up today in the adafruit shop! + ------> http://www.adafruit.com/products/815 + + These displays use I2C to communicate, 2 pins are required to + interface. For Arduino UNOs, thats SCL -> Analog 5, SDA -> Analog 4 + + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing + products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + BSD license, all text above must be included in any redistribution + ****************************************************/ + +#include +#include +#ifdef __AVR__ + #define WIRE Wire +#else // Arduino Due + #define WIRE Wire1 +#endif + +Adafruit_PWMServoDriver::Adafruit_PWMServoDriver(uint8_t addr) { + _i2caddr = addr; +} + +void Adafruit_PWMServoDriver::begin(void) { + WIRE.begin(); + reset(); +} + + +void Adafruit_PWMServoDriver::reset(void) { + write8(PCA9685_MODE1, 0x0); +} + +void Adafruit_PWMServoDriver::setPWMFreq(float freq) { + //Serial.print("Attempting to set freq "); + //Serial.println(freq); + + float prescaleval = 25000000; + prescaleval /= 4096; + prescaleval /= freq; + prescaleval -= 1; + Serial.print("Estimated pre-scale: "); Serial.println(prescaleval); + uint8_t prescale = floor(prescaleval + 0.5); + Serial.print("Final pre-scale: "); Serial.println(prescale); + + uint8_t oldmode = read8(PCA9685_MODE1); + uint8_t newmode = (oldmode&0x7F) | 0x10; // sleep + write8(PCA9685_MODE1, newmode); // go to sleep + write8(PCA9685_PRESCALE, prescale); // set the prescaler + write8(PCA9685_MODE1, oldmode); + delay(5); + write8(PCA9685_MODE1, oldmode | 0xa1); // This sets the MODE1 register to turn on auto increment. + // This is why the beginTransmission below was not working. + // Serial.print("Mode now 0x"); Serial.println(read8(PCA9685_MODE1), HEX); +} + +void Adafruit_PWMServoDriver::setPWM(uint8_t num, uint16_t on, uint16_t off) { + //Serial.print("Setting PWM "); Serial.print(num); Serial.print(": "); Serial.print(on); Serial.print("->"); Serial.println(off); + + WIRE.beginTransmission(_i2caddr); +#if ARDUINO >= 100 + WIRE.write(LED0_ON_L+4*num); + WIRE.write(on); + WIRE.write(on>>8); + WIRE.write(off); + WIRE.write(off>>8); +#else + WIRE.send(LED0_ON_L+4*num); + WIRE.send((uint8_t)on); + WIRE.send((uint8_t)(on>>8)); + WIRE.send((uint8_t)off); + WIRE.send((uint8_t)(off>>8)); +#endif + WIRE.endTransmission(); +} + +uint8_t Adafruit_PWMServoDriver::read8(uint8_t addr) { + WIRE.beginTransmission(_i2caddr); +#if ARDUINO >= 100 + WIRE.write(addr); +#else + WIRE.send(addr); +#endif + WIRE.endTransmission(); + + WIRE.requestFrom((uint8_t)_i2caddr, (uint8_t)1); +#if ARDUINO >= 100 + return WIRE.read(); +#else + return WIRE.receive(); +#endif +} + +void Adafruit_PWMServoDriver::write8(uint8_t addr, uint8_t d) { + WIRE.beginTransmission(_i2caddr); +#if ARDUINO >= 100 + WIRE.write(addr); + WIRE.write(d); +#else + WIRE.send(addr); + WIRE.send(d); +#endif + WIRE.endTransmission(); +} diff --git a/libraries/Adafruit_MotorShield/utility/Adafruit_PWMServoDriver.h b/libraries/Adafruit_MotorShield/utility/Adafruit_PWMServoDriver.h new file mode 100644 index 0000000..c8f285c --- /dev/null +++ b/libraries/Adafruit_MotorShield/utility/Adafruit_PWMServoDriver.h @@ -0,0 +1,61 @@ +/*************************************************** + This is a library for our Adafruit 16-channel PWM & Servo driver + + Pick one up today in the adafruit shop! + ------> http://www.adafruit.com/products/815 + + These displays use I2C to communicate, 2 pins are required to + interface. For Arduino UNOs, thats SCL -> Analog 5, SDA -> Analog 4 + + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing + products from Adafruit! + + Written by Limor Fried/Ladyada for Adafruit Industries. + BSD license, all text above must be included in any redistribution + ****************************************************/ + +#ifndef _ADAFRUIT_PWMServoDriver_H +#define _ADAFRUIT_PWMServoDriver_H + +#if ARDUINO >= 100 + #include "Arduino.h" +#else + #include "WProgram.h" +#endif + + +#define PCA9685_SUBADR1 0x2 +#define PCA9685_SUBADR2 0x3 +#define PCA9685_SUBADR3 0x4 + +#define PCA9685_MODE1 0x0 +#define PCA9685_PRESCALE 0xFE + +#define LED0_ON_L 0x6 +#define LED0_ON_H 0x7 +#define LED0_OFF_L 0x8 +#define LED0_OFF_H 0x9 + +#define ALLLED_ON_L 0xFA +#define ALLLED_ON_H 0xFB +#define ALLLED_OFF_L 0xFC +#define ALLLED_OFF_H 0xFD + + +class Adafruit_PWMServoDriver { + public: + Adafruit_PWMServoDriver(uint8_t addr = 0x40); + void begin(void); + void reset(void); + void setPWMFreq(float freq); + void setPWM(uint8_t num, uint16_t on, uint16_t off); + + private: + uint8_t _i2caddr; + + uint8_t read8(uint8_t addr); + void write8(uint8_t addr, uint8_t d); +}; + +#endif diff --git a/libraries/Adafruit_MotorShield/utility/license.txt b/libraries/Adafruit_MotorShield/utility/license.txt new file mode 100644 index 0000000..f6a0f22 --- /dev/null +++ b/libraries/Adafruit_MotorShield/utility/license.txt @@ -0,0 +1,26 @@ +Software License Agreement (BSD License) + +Copyright (c) 2012, Adafruit Industries +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. +3. Neither the name of the copyright holders nor the +names of its contributors may be used to endorse or promote products +derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/libraries/UTFT/DefaultFonts.c b/libraries/UTFT/DefaultFonts.c new file mode 100644 index 0000000..9513bbf --- /dev/null +++ b/libraries/UTFT/DefaultFonts.c @@ -0,0 +1,246 @@ +// DO NOT ADD YOUR OWN FONTS TO THIS FILE +// If you want to use your own/downloaded fonts you should just drop the font .c file into your sketch folder. +// ----------------------------------------------------------------------------------------------------------- + +#if defined(__AVR__) + #include + #define fontdatatype const uint8_t +#elif defined(__PIC32MX__) + #define PROGMEM + #define fontdatatype const unsigned char +#elif defined(__arm__) + #define PROGMEM + #define fontdatatype const unsigned char +#endif + +// SmallFont.c +// Font Size : 8x12 +// Memory usage : 1144 bytes +// # characters : 95 + +fontdatatype SmallFont[1144] PROGMEM={ +0x08,0x0C,0x20,0x5F, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // +0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00,0x00, // ! +0x00,0x28,0x50,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " +0x00,0x00,0x28,0x28,0xFC,0x28,0x50,0xFC,0x50,0x50,0x00,0x00, // # +0x00,0x20,0x78,0xA8,0xA0,0x60,0x30,0x28,0xA8,0xF0,0x20,0x00, // $ +0x00,0x00,0x48,0xA8,0xB0,0x50,0x28,0x34,0x54,0x48,0x00,0x00, // % +0x00,0x00,0x20,0x50,0x50,0x78,0xA8,0xA8,0x90,0x6C,0x00,0x00, // & +0x00,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' +0x00,0x04,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x04,0x00, // ( +0x00,0x40,0x20,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x40,0x00, // ) +0x00,0x00,0x00,0x20,0xA8,0x70,0x70,0xA8,0x20,0x00,0x00,0x00, // * +0x00,0x00,0x20,0x20,0x20,0xF8,0x20,0x20,0x20,0x00,0x00,0x00, // + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x80, // , +0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00, // - +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00, // . +0x00,0x08,0x10,0x10,0x10,0x20,0x20,0x40,0x40,0x40,0x80,0x00, // / +0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00, // 0 +0x00,0x00,0x20,0x60,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00, // 1 +0x00,0x00,0x70,0x88,0x88,0x10,0x20,0x40,0x80,0xF8,0x00,0x00, // 2 +0x00,0x00,0x70,0x88,0x08,0x30,0x08,0x08,0x88,0x70,0x00,0x00, // 3 +0x00,0x00,0x10,0x30,0x50,0x50,0x90,0x78,0x10,0x18,0x00,0x00, // 4 +0x00,0x00,0xF8,0x80,0x80,0xF0,0x08,0x08,0x88,0x70,0x00,0x00, // 5 +0x00,0x00,0x70,0x90,0x80,0xF0,0x88,0x88,0x88,0x70,0x00,0x00, // 6 +0x00,0x00,0xF8,0x90,0x10,0x20,0x20,0x20,0x20,0x20,0x00,0x00, // 7 +0x00,0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x88,0x70,0x00,0x00, // 8 +0x00,0x00,0x70,0x88,0x88,0x88,0x78,0x08,0x48,0x70,0x00,0x00, // 9 +0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x20,0x00,0x00, // : +0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x20,0x00, // ; +0x00,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x00,0x00, // < +0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0xF8,0x00,0x00,0x00,0x00, // = +0x00,0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x00,0x00, // > +0x00,0x00,0x70,0x88,0x88,0x10,0x20,0x20,0x00,0x20,0x00,0x00, // ? +0x00,0x00,0x70,0x88,0x98,0xA8,0xA8,0xB8,0x80,0x78,0x00,0x00, // @ +0x00,0x00,0x20,0x20,0x30,0x50,0x50,0x78,0x48,0xCC,0x00,0x00, // A +0x00,0x00,0xF0,0x48,0x48,0x70,0x48,0x48,0x48,0xF0,0x00,0x00, // B +0x00,0x00,0x78,0x88,0x80,0x80,0x80,0x80,0x88,0x70,0x00,0x00, // C +0x00,0x00,0xF0,0x48,0x48,0x48,0x48,0x48,0x48,0xF0,0x00,0x00, // D +0x00,0x00,0xF8,0x48,0x50,0x70,0x50,0x40,0x48,0xF8,0x00,0x00, // E +0x00,0x00,0xF8,0x48,0x50,0x70,0x50,0x40,0x40,0xE0,0x00,0x00, // F +0x00,0x00,0x38,0x48,0x80,0x80,0x9C,0x88,0x48,0x30,0x00,0x00, // G +0x00,0x00,0xCC,0x48,0x48,0x78,0x48,0x48,0x48,0xCC,0x00,0x00, // H +0x00,0x00,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0xF8,0x00,0x00, // I +0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x90,0xE0,0x00, // J +0x00,0x00,0xEC,0x48,0x50,0x60,0x50,0x50,0x48,0xEC,0x00,0x00, // K +0x00,0x00,0xE0,0x40,0x40,0x40,0x40,0x40,0x44,0xFC,0x00,0x00, // L +0x00,0x00,0xD8,0xD8,0xD8,0xD8,0xA8,0xA8,0xA8,0xA8,0x00,0x00, // M +0x00,0x00,0xDC,0x48,0x68,0x68,0x58,0x58,0x48,0xE8,0x00,0x00, // N +0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x00, // O +0x00,0x00,0xF0,0x48,0x48,0x70,0x40,0x40,0x40,0xE0,0x00,0x00, // P +0x00,0x00,0x70,0x88,0x88,0x88,0x88,0xE8,0x98,0x70,0x18,0x00, // Q +0x00,0x00,0xF0,0x48,0x48,0x70,0x50,0x48,0x48,0xEC,0x00,0x00, // R +0x00,0x00,0x78,0x88,0x80,0x60,0x10,0x08,0x88,0xF0,0x00,0x00, // S +0x00,0x00,0xF8,0xA8,0x20,0x20,0x20,0x20,0x20,0x70,0x00,0x00, // T +0x00,0x00,0xCC,0x48,0x48,0x48,0x48,0x48,0x48,0x30,0x00,0x00, // U +0x00,0x00,0xCC,0x48,0x48,0x50,0x50,0x30,0x20,0x20,0x00,0x00, // V +0x00,0x00,0xA8,0xA8,0xA8,0x70,0x50,0x50,0x50,0x50,0x00,0x00, // W +0x00,0x00,0xD8,0x50,0x50,0x20,0x20,0x50,0x50,0xD8,0x00,0x00, // X +0x00,0x00,0xD8,0x50,0x50,0x20,0x20,0x20,0x20,0x70,0x00,0x00, // Y +0x00,0x00,0xF8,0x90,0x10,0x20,0x20,0x40,0x48,0xF8,0x00,0x00, // Z +0x00,0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x38,0x00, // [ +0x00,0x40,0x40,0x40,0x20,0x20,0x10,0x10,0x10,0x08,0x00,0x00, // +0x00,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x70,0x00, // ] +0x00,0x20,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC, // _ +0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' +0x00,0x00,0x00,0x00,0x00,0x30,0x48,0x38,0x48,0x3C,0x00,0x00, // a +0x00,0x00,0xC0,0x40,0x40,0x70,0x48,0x48,0x48,0x70,0x00,0x00, // b +0x00,0x00,0x00,0x00,0x00,0x38,0x48,0x40,0x40,0x38,0x00,0x00, // c +0x00,0x00,0x18,0x08,0x08,0x38,0x48,0x48,0x48,0x3C,0x00,0x00, // d +0x00,0x00,0x00,0x00,0x00,0x30,0x48,0x78,0x40,0x38,0x00,0x00, // e +0x00,0x00,0x1C,0x20,0x20,0x78,0x20,0x20,0x20,0x78,0x00,0x00, // f +0x00,0x00,0x00,0x00,0x00,0x3C,0x48,0x30,0x40,0x78,0x44,0x38, // g +0x00,0x00,0xC0,0x40,0x40,0x70,0x48,0x48,0x48,0xEC,0x00,0x00, // h +0x00,0x00,0x20,0x00,0x00,0x60,0x20,0x20,0x20,0x70,0x00,0x00, // i +0x00,0x00,0x10,0x00,0x00,0x30,0x10,0x10,0x10,0x10,0x10,0xE0, // j +0x00,0x00,0xC0,0x40,0x40,0x5C,0x50,0x70,0x48,0xEC,0x00,0x00, // k +0x00,0x00,0xE0,0x20,0x20,0x20,0x20,0x20,0x20,0xF8,0x00,0x00, // l +0x00,0x00,0x00,0x00,0x00,0xF0,0xA8,0xA8,0xA8,0xA8,0x00,0x00, // m +0x00,0x00,0x00,0x00,0x00,0xF0,0x48,0x48,0x48,0xEC,0x00,0x00, // n +0x00,0x00,0x00,0x00,0x00,0x30,0x48,0x48,0x48,0x30,0x00,0x00, // o +0x00,0x00,0x00,0x00,0x00,0xF0,0x48,0x48,0x48,0x70,0x40,0xE0, // p +0x00,0x00,0x00,0x00,0x00,0x38,0x48,0x48,0x48,0x38,0x08,0x1C, // q +0x00,0x00,0x00,0x00,0x00,0xD8,0x60,0x40,0x40,0xE0,0x00,0x00, // r +0x00,0x00,0x00,0x00,0x00,0x78,0x40,0x30,0x08,0x78,0x00,0x00, // s +0x00,0x00,0x00,0x20,0x20,0x70,0x20,0x20,0x20,0x18,0x00,0x00, // t +0x00,0x00,0x00,0x00,0x00,0xD8,0x48,0x48,0x48,0x3C,0x00,0x00, // u +0x00,0x00,0x00,0x00,0x00,0xEC,0x48,0x50,0x30,0x20,0x00,0x00, // v +0x00,0x00,0x00,0x00,0x00,0xA8,0xA8,0x70,0x50,0x50,0x00,0x00, // w +0x00,0x00,0x00,0x00,0x00,0xD8,0x50,0x20,0x50,0xD8,0x00,0x00, // x +0x00,0x00,0x00,0x00,0x00,0xEC,0x48,0x50,0x30,0x20,0x20,0xC0, // y +0x00,0x00,0x00,0x00,0x00,0x78,0x10,0x20,0x20,0x78,0x00,0x00, // z +0x00,0x18,0x10,0x10,0x10,0x20,0x10,0x10,0x10,0x10,0x18,0x00, // { +0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, // | +0x00,0x60,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0x60,0x00, // } +0x40,0xA4,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~ +}; + +// BigFont.c (C)2010 by Henning Karlsen +// Font Size : 16x16 +// Memory usage : 3044 bytes +// # characters : 95 + +fontdatatype BigFont[3044] PROGMEM={ +0x10,0x10,0x20,0x5F, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // +0x00,0x00,0x00,0x00,0x07,0x00,0x0F,0x80,0x0F,0x80,0x0F,0x80,0x0F,0x80,0x0F,0x80,0x07,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x00,0x00, // ! +0x00,0x00,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x06,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " +0x00,0x00,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x7F,0xFE,0x7F,0xFE,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x7F,0xFE,0x7F,0xFE,0x0C,0x30,0x0C,0x30,0x0C,0x30,0x00,0x00, // # +0x00,0x00,0x02,0x40,0x02,0x40,0x0F,0xF8,0x1F,0xF8,0x1A,0x40,0x1A,0x40,0x1F,0xF0,0x0F,0xF8,0x02,0x58,0x02,0x58,0x1F,0xF8,0x1F,0xF0,0x02,0x40,0x02,0x40,0x00,0x00, // $ +0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x10,0x0E,0x30,0x0E,0x70,0x00,0xE0,0x01,0xC0,0x03,0x80,0x07,0x00,0x0E,0x70,0x0C,0x70,0x08,0x70,0x00,0x00,0x00,0x00,0x00,0x00, // % +0x00,0x00,0x00,0x00,0x0F,0x00,0x19,0x80,0x19,0x80,0x19,0x80,0x0F,0x00,0x0F,0x08,0x0F,0x98,0x19,0xF8,0x18,0xF0,0x18,0xE0,0x19,0xF0,0x0F,0x98,0x00,0x00,0x00,0x00, // & +0x00,0x00,0x00,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' +0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0xC0,0x03,0x80,0x07,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x07,0x00,0x03,0x80,0x01,0xC0,0x00,0xF0,0x00,0x00,0x00,0x00, // ( +0x00,0x00,0x00,0x00,0x0F,0x00,0x03,0x80,0x01,0xC0,0x00,0xE0,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0xE0,0x01,0xC0,0x03,0x80,0x0F,0x00,0x00,0x00,0x00,0x00, // ) +0x00,0x00,0x00,0x00,0x01,0x80,0x11,0x88,0x09,0x90,0x07,0xE0,0x07,0xE0,0x3F,0xFC,0x3F,0xFC,0x07,0xE0,0x07,0xE0,0x09,0x90,0x11,0x88,0x01,0x80,0x00,0x00,0x00,0x00, // * +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x01,0x80,0x0F,0xF0,0x0F,0xF0,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x0E,0x00,0x00,0x00, // , +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x1F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x00,0x00,0x00,0x00, // , +0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x06,0x00,0x0E,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0xE0,0x01,0xC0,0x03,0x80,0x07,0x00,0x0E,0x00,0x1C,0x00,0x00,0x00,0x00,0x00, // / + +0x00,0x00,0x00,0x00,0x0F,0xF0,0x1C,0x38,0x1C,0x78,0x1C,0xF8,0x1C,0xF8,0x1D,0xB8,0x1D,0xB8,0x1F,0x38,0x1F,0x38,0x1E,0x38,0x1C,0x38,0x0F,0xF0,0x00,0x00,0x00,0x00, // 0 +0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x03,0x80,0x1F,0x80,0x1F,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x1F,0xF0,0x00,0x00,0x00,0x00, // 1 +0x00,0x00,0x00,0x00,0x0F,0xE0,0x1C,0x70,0x1C,0x38,0x00,0x38,0x00,0x70,0x00,0xE0,0x01,0xC0,0x03,0x80,0x07,0x00,0x0E,0x38,0x1C,0x38,0x1F,0xF8,0x00,0x00,0x00,0x00, // 2 +0x00,0x00,0x00,0x00,0x0F,0xE0,0x1C,0x70,0x1C,0x38,0x00,0x38,0x00,0x70,0x03,0xC0,0x03,0xC0,0x00,0x70,0x00,0x38,0x1C,0x38,0x1C,0x70,0x0F,0xE0,0x00,0x00,0x00,0x00, // 3 +0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0xE0,0x03,0xE0,0x06,0xE0,0x0C,0xE0,0x18,0xE0,0x1F,0xF8,0x1F,0xF8,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x03,0xF8,0x00,0x00,0x00,0x00, // 4 +0x00,0x00,0x00,0x00,0x1F,0xF8,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xE0,0x1F,0xF0,0x00,0x78,0x00,0x38,0x1C,0x38,0x1C,0x70,0x0F,0xE0,0x00,0x00,0x00,0x00, // 5 +0x00,0x00,0x00,0x00,0x03,0xE0,0x07,0x00,0x0E,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xF0,0x1F,0xF8,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x0F,0xF0,0x00,0x00,0x00,0x00, // 6 +0x00,0x00,0x00,0x00,0x1F,0xFC,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0xE0,0x01,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00, // 7 +0x00,0x00,0x00,0x00,0x0F,0xF0,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1F,0x38,0x07,0xE0,0x07,0xE0,0x1C,0xF8,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x0F,0xF0,0x00,0x00,0x00,0x00, // 8 +0x00,0x00,0x00,0x00,0x0F,0xF0,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1F,0xF8,0x0F,0xF8,0x00,0x38,0x00,0x38,0x00,0x70,0x00,0xE0,0x07,0xC0,0x00,0x00,0x00,0x00, // 9 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // : +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x00,0x00,0x00,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ; +0x00,0x00,0x00,0x70,0x00,0xE0,0x01,0xC0,0x03,0x80,0x07,0x00,0x0E,0x00,0x1C,0x00,0x1C,0x00,0x0E,0x00,0x07,0x00,0x03,0x80,0x01,0xC0,0x00,0xE0,0x00,0x70,0x00,0x00, // < +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00,0x3F,0xFC,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // = +0x00,0x00,0x1C,0x00,0x0E,0x00,0x07,0x00,0x03,0x80,0x01,0xC0,0x00,0xE0,0x00,0x70,0x00,0x70,0x00,0xE0,0x01,0xC0,0x03,0x80,0x07,0x00,0x0E,0x00,0x1C,0x00,0x00,0x00, // > +0x00,0x00,0x03,0xC0,0x0F,0xF0,0x1E,0x78,0x18,0x38,0x00,0x38,0x00,0x70,0x00,0xE0,0x01,0xC0,0x01,0xC0,0x00,0x00,0x00,0x00,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x00, // ? + +0x00,0x00,0x0F,0xF8,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0xFC,0x1C,0xFC,0x1C,0xFC,0x1C,0xFC,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1F,0xF0,0x07,0xF8,0x00,0x00, // @ +0x00,0x00,0x00,0x00,0x03,0xC0,0x07,0xE0,0x0E,0x70,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1F,0xF8,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x00,0x00,0x00,0x00, // A +0x00,0x00,0x00,0x00,0x1F,0xF0,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0F,0xF0,0x0F,0xF0,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1F,0xF0,0x00,0x00,0x00,0x00, // B +0x00,0x00,0x00,0x00,0x07,0xF0,0x0E,0x38,0x1C,0x38,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x38,0x0E,0x38,0x07,0xF0,0x00,0x00,0x00,0x00, // C +0x00,0x00,0x00,0x00,0x1F,0xE0,0x0E,0x70,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x70,0x1F,0xE0,0x00,0x00,0x00,0x00, // D +0x00,0x00,0x00,0x00,0x1F,0xF8,0x0E,0x18,0x0E,0x08,0x0E,0x00,0x0E,0x30,0x0F,0xF0,0x0F,0xF0,0x0E,0x30,0x0E,0x00,0x0E,0x08,0x0E,0x18,0x1F,0xF8,0x00,0x00,0x00,0x00, // E +0x00,0x00,0x00,0x00,0x1F,0xF8,0x0E,0x18,0x0E,0x08,0x0E,0x00,0x0E,0x30,0x0F,0xF0,0x0F,0xF0,0x0E,0x30,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1F,0x00,0x00,0x00,0x00,0x00, // F +0x00,0x00,0x00,0x00,0x07,0xF0,0x0E,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x1C,0xF8,0x1C,0x38,0x1C,0x38,0x0E,0x38,0x07,0xF8,0x00,0x00,0x00,0x00, // G +0x00,0x00,0x00,0x00,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1F,0xF0,0x1F,0xF0,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x00,0x00,0x00,0x00, // H +0x00,0x00,0x00,0x00,0x0F,0xE0,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x0F,0xE0,0x00,0x00,0x00,0x00, // I +0x00,0x00,0x00,0x00,0x01,0xFC,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x38,0x70,0x38,0x70,0x38,0x70,0x38,0x70,0x0F,0xE0,0x00,0x00,0x00,0x00, // J +0x00,0x00,0x00,0x00,0x1E,0x38,0x0E,0x38,0x0E,0x70,0x0E,0xE0,0x0F,0xC0,0x0F,0x80,0x0F,0x80,0x0F,0xC0,0x0E,0xE0,0x0E,0x70,0x0E,0x38,0x1E,0x38,0x00,0x00,0x00,0x00, // K +0x00,0x00,0x00,0x00,0x1F,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x08,0x0E,0x18,0x0E,0x38,0x1F,0xF8,0x00,0x00,0x00,0x00, // L +0x00,0x00,0x00,0x00,0x1C,0x1C,0x1E,0x3C,0x1F,0x7C,0x1F,0xFC,0x1F,0xFC,0x1D,0xDC,0x1C,0x9C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00, // M +0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x1C,0x1E,0x1C,0x1F,0x1C,0x1F,0x9C,0x1D,0xDC,0x1C,0xFC,0x1C,0x7C,0x1C,0x3C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00, // N +0x00,0x00,0x00,0x00,0x03,0xE0,0x07,0xF0,0x0E,0x38,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x0E,0x38,0x07,0xF0,0x03,0xE0,0x00,0x00,0x00,0x00, // O + +0x00,0x00,0x00,0x00,0x1F,0xF0,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0F,0xF0,0x0F,0xF0,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1F,0x00,0x00,0x00,0x00,0x00, // P +0x00,0x00,0x00,0x00,0x03,0xE0,0x0F,0x78,0x0E,0x38,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x7C,0x1C,0xFC,0x0F,0xF8,0x0F,0xF8,0x00,0x38,0x00,0xFC,0x00,0x00, // Q +0x00,0x00,0x00,0x00,0x1F,0xF0,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0F,0xF0,0x0F,0xF0,0x0E,0x70,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1E,0x38,0x00,0x00,0x00,0x00, // R +0x00,0x00,0x00,0x00,0x0F,0xF0,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x00,0x0F,0xE0,0x07,0xF0,0x00,0x38,0x1C,0x38,0x1C,0x38,0x1C,0x38,0x0F,0xF0,0x00,0x00,0x00,0x00, // S +0x00,0x00,0x00,0x00,0x1F,0xFC,0x19,0xCC,0x11,0xC4,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x07,0xF0,0x00,0x00,0x00,0x00, // T +0x00,0x00,0x00,0x00,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0F,0xE0,0x00,0x00,0x00,0x00, // U +0x00,0x00,0x00,0x00,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0E,0xE0,0x07,0xC0,0x03,0x80,0x00,0x00,0x00,0x00, // V +0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x9C,0x1C,0x9C,0x1C,0x9C,0x0F,0xF8,0x0F,0xF8,0x07,0x70,0x07,0x70,0x00,0x00,0x00,0x00, // W +0x00,0x00,0x00,0x00,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0E,0xE0,0x07,0xC0,0x03,0x80,0x03,0x80,0x07,0xC0,0x0E,0xE0,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x00,0x00,0x00,0x00, // X +0x00,0x00,0x00,0x00,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0E,0xE0,0x07,0xC0,0x03,0x80,0x03,0x80,0x03,0x80,0x03,0x80,0x0F,0xE0,0x00,0x00,0x00,0x00, // Y +0x00,0x00,0x00,0x00,0x1F,0xF8,0x1C,0x38,0x18,0x38,0x10,0x70,0x00,0xE0,0x01,0xC0,0x03,0x80,0x07,0x00,0x0E,0x08,0x1C,0x18,0x1C,0x38,0x1F,0xF8,0x00,0x00,0x00,0x00, // Z +0x00,0x00,0x00,0x00,0x07,0xF0,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0xF0,0x00,0x00,0x00,0x00, // [ +0x00,0x00,0x00,0x00,0x10,0x00,0x18,0x00,0x1C,0x00,0x0E,0x00,0x07,0x00,0x03,0x80,0x01,0xC0,0x00,0xE0,0x00,0x70,0x00,0x38,0x00,0x1C,0x00,0x07,0x00,0x00,0x00,0x00, // +0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x07,0xF0,0x00,0x00,0x00,0x00, // ] +0x00,0x00,0x01,0x80,0x03,0xC0,0x07,0xE0,0x0E,0x70,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x7F,0xFF, // _ + +0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x07,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x00,0x70,0x00,0x70,0x0F,0xF0,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0F,0xD8,0x00,0x00,0x00,0x00, // a +0x00,0x00,0x00,0x00,0x1E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0F,0xF0,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1B,0xF0,0x00,0x00,0x00,0x00, // b +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x1C,0x70,0x1C,0x70,0x1C,0x00,0x1C,0x00,0x1C,0x70,0x1C,0x70,0x0F,0xE0,0x00,0x00,0x00,0x00, // c +0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x70,0x00,0x70,0x00,0x70,0x0F,0xF0,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0F,0xD8,0x00,0x00,0x00,0x00, // d +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x1C,0x70,0x1C,0x70,0x1F,0xF0,0x1C,0x00,0x1C,0x70,0x1C,0x70,0x0F,0xE0,0x00,0x00,0x00,0x00, // e +0x00,0x00,0x00,0x00,0x03,0xE0,0x07,0x70,0x07,0x70,0x07,0x00,0x07,0x00,0x1F,0xE0,0x1F,0xE0,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x1F,0xC0,0x00,0x00,0x00,0x00, // f +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xD8,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0F,0xF0,0x07,0xF0,0x00,0x70,0x1C,0x70,0x0F,0xE0, // g +0x00,0x00,0x00,0x00,0x1E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0xF0,0x0F,0x38,0x0F,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x1E,0x38,0x00,0x00,0x00,0x00, // h +0x00,0x00,0x00,0x00,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x00,0x0F,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x0F,0xF8,0x00,0x00,0x00,0x00, // i +0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x00,0x03,0xF0,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x70,0x1C,0x70,0x0C,0xF0,0x07,0xE0, // j +0x00,0x00,0x00,0x00,0x1E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x38,0x0E,0x70,0x0E,0xE0,0x0F,0xC0,0x0E,0xE0,0x0E,0x70,0x0E,0x38,0x1E,0x38,0x00,0x00,0x00,0x00, // k +0x00,0x00,0x00,0x00,0x0F,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x0F,0xF8,0x00,0x00,0x00,0x00, // l +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x1C,0x9C,0x1C,0x9C,0x1C,0x9C,0x1C,0x9C,0x1C,0x9C,0x1C,0x9C,0x1C,0x9C,0x00,0x00,0x00,0x00, // m +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xE0,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x00,0x00,0x00,0x00, // n +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0F,0xE0,0x00,0x00,0x00,0x00, // o + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0xF0,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0F,0xF0,0x0E,0x00,0x0E,0x00,0x1F,0x00, // p +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xB0,0x38,0xE0,0x38,0xE0,0x38,0xE0,0x38,0xE0,0x38,0xE0,0x1F,0xE0,0x00,0xE0,0x00,0xE0,0x01,0xF0, // q +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0xF0,0x0F,0xF8,0x0F,0x38,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x0E,0x00,0x1F,0x00,0x00,0x00,0x00,0x00, // r +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x1C,0x30,0x1C,0x30,0x0F,0x80,0x03,0xE0,0x18,0x70,0x18,0x70,0x0F,0xE0,0x00,0x00,0x00,0x00, // s +0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x03,0x00,0x07,0x00,0x1F,0xF0,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x07,0x70,0x07,0x70,0x03,0xE0,0x00,0x00,0x00,0x00, // t +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0F,0xD8,0x00,0x00,0x00,0x00, // u +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x1C,0x70,0x0E,0xE0,0x07,0xC0,0x03,0x80,0x00,0x00,0x00,0x00, // v +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x9C,0x1C,0x9C,0x0F,0xF8,0x07,0x70,0x07,0x70,0x00,0x00,0x00,0x00, // w +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0xE0,0x1C,0xE0,0x0F,0xC0,0x07,0x80,0x07,0x80,0x0F,0xC0,0x1C,0xE0,0x1C,0xE0,0x00,0x00,0x00,0x00, // x +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x0E,0x38,0x07,0xF0,0x03,0xE0,0x00,0xE0,0x01,0xC0,0x1F,0x80, // y +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xE0,0x18,0xE0,0x11,0xC0,0x03,0x80,0x07,0x00,0x0E,0x20,0x1C,0x60,0x1F,0xE0,0x00,0x00,0x00,0x00, // z +0x00,0x00,0x00,0x00,0x01,0xF8,0x03,0x80,0x03,0x80,0x03,0x80,0x07,0x00,0x1C,0x00,0x1C,0x00,0x07,0x00,0x03,0x80,0x03,0x80,0x03,0x80,0x01,0xF8,0x00,0x00,0x00,0x00, // { +0x00,0x00,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0x00, // | +0x00,0x00,0x00,0x00,0x1F,0x80,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x00,0xE0,0x00,0x38,0x00,0x38,0x00,0xE0,0x01,0xC0,0x01,0xC0,0x01,0xC0,0x1F,0x80,0x00,0x00,0x00,0x00, // } +0x00,0x00,0x00,0x00,0x1F,0x1C,0x3B,0x9C,0x39,0xDC,0x38,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // ~ +}; + +// SevenSegNumFont.c +// Font Size : 32x50 +// Memory usage : 2004 bytes +// # characters : 10 + +fontdatatype SevenSegNumFont[2004] PROGMEM={ +0x20,0x32,0x30,0x0A, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x60,0x0C,0xFF,0xFE,0xF0,0x1E,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3E,0x00,0x00,0x78,0x38,0x00,0x00,0x18,0x20,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x38,0x00,0x00,0x18,0x3E,0x00,0x00,0x78,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x1E,0x00,0x00,0xF0,0x0C,0xFF,0xFE,0x60,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 0 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xF0,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 1 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x60,0x00,0xFF,0xFE,0xF0,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0x78,0x01,0xFF,0xFE,0x18,0x03,0xFF,0xFF,0x88,0x0F,0xFF,0xFF,0xE0,0x27,0xFF,0xFF,0xC0,0x39,0xFF,0xFF,0x00,0x3E,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x0C,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 2 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x60,0x00,0xFF,0xFE,0xF0,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0x78,0x01,0xFF,0xFE,0x18,0x03,0xFF,0xFF,0x88,0x0F,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x18,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xF0,0x00,0xFF,0xFE,0x60,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 3 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x0C,0x00,0x00,0xF0,0x1E,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3E,0x00,0x00,0x78,0x39,0xFF,0xFE,0x18,0x23,0xFF,0xFF,0x88,0x0F,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x18,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 4 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x0C,0xFF,0xFE,0x00,0x1E,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x39,0xFF,0xFE,0x00,0x23,0xFF,0xFF,0x80,0x0F,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x18,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xF0,0x00,0xFF,0xFE,0x60,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 5 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x0C,0xFF,0xFE,0x00,0x1E,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x39,0xFF,0xFE,0x00,0x23,0xFF,0xFF,0x80,0x0F,0xFF,0xFF,0xE0,0x27,0xFF,0xFF,0xC0,0x39,0xFF,0xFF,0x18,0x3E,0x00,0x00,0x78,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x1E,0x00,0x00,0xF0,0x0C,0xFF,0xFE,0x60,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 6 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x60,0x00,0xFF,0xFE,0xF0,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 7 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x60,0x0C,0xFF,0xFE,0xF0,0x1E,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3E,0x00,0x00,0x78,0x39,0xFF,0xFE,0x18,0x23,0xFF,0xFF,0x88,0x0F,0xFF,0xFF,0xE0,0x27,0xFF,0xFF,0xC0,0x39,0xFF,0xFF,0x18,0x3E,0x00,0x00,0x78,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x1E,0x00,0x00,0xF0,0x0C,0xFF,0xFE,0x60,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 8 +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x60,0x0C,0xFF,0xFE,0xF0,0x1E,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3F,0x00,0x01,0xF8,0x3E,0x00,0x00,0x78,0x39,0xFF,0xFE,0x18,0x23,0xFF,0xFF,0x88,0x0F,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0x18,0x00,0x00,0x00,0x78,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x01,0xF8,0x00,0x00,0x00,0xF0,0x00,0xFF,0xFE,0x60,0x01,0xFF,0xFF,0x00,0x03,0xFF,0xFF,0x80,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // 9 +}; diff --git a/libraries/UTFT/Documentation/UTFT.pdf b/libraries/UTFT/Documentation/UTFT.pdf new file mode 100644 index 0000000000000000000000000000000000000000..66ff7037bb013b6cc09affcdb7048f34d8676e1d GIT binary patch literal 134357 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 z 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ξ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 z�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¨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
    13SB1I+A&ivO#v4A7U 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
      #juG`<&H*sVqfpz$af2qaktOSd# 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