Accessories
Arduino for motors and lights library.
Accessories.h
Go to the documentation of this file.
1 //-------------------------------------------------------------------
2 #ifndef __accessories_H__
3 #define __accessories_H__
4 //-------------------------------------------------------------------
5 
348 #define LIBRARY_VERSION "Accessories V1.2.1"
349 
351 // Add a '//' at the beginning of the line to be in
352 // release mode.
353 //#define ACCESSORIES_DEBUG_MODE
354 
356 // Verbose mode lets you see all actions done by the
357 // library, but with a real flood of text to console...
358 // Has no effect if ACCESSORIES_DEBUG_MODE is not activated.
359 //#define ACCESSORIES_DEBUG_VERBOSE_MODE
360 
362 // The function Accessories::printAccessories()
363 // is very heavy in program memory. So to avoid problems
364 // you can make this function available by uncomment the next line.
365 //#define ACCESSORIES_PRINT_ACCESSORIES
366 
368 #define GPIO2_PREFER_SPEED 1
369 
370 #include "DIO2.h"
371 
373 #define ACTION_STACK_SIZE 5
374 
376 // Exclusion area
377 //
378 //NO_GROUP
379 // AccessoryGroup.cpp
380 // AccessoryGroup.hpp
381 //
382 //NO_MOTOR
383 // AccessoryMotor.cpp
384 // AccessoryMotor.hpp
385 // AccessoryMotorOneWay.cpp
386 // AccessoryMotorOneWay.hpp
387 // AccessoryMotorTwoWays.cpp
388 // AccessoryMotorTwoWays.hpp
389 // AFMotor.cpp
390 // AFMotor.hpp
391 //
392 //NO_LIGHT
393 // AccessoryBaseLight.cpp
394 // AccessoryBaseLight.hpp
395 // AccessoryLight.cpp
396 // AccessoryLight.hpp
397 // AccessoryLightMulti.cpp
398 // AccessoryLightMulti.hpp
399 //
400 //NO_MOTOR_LIGHT
401 // PortOnePin.cpp
402 // PortOnePin.hpp
403 // PortTwoPins.cpp
404 // PortTwoPins.hpp
405 // PortTwoPinsEnable.cpp
406 // PortTwoPinsEnable.hpp
407 // PortSpeedDirBrake.cpp
408 // PortSpeedDirBrake.hpp
409 //
410 //NO_SERVO
411 // AccessoryServo.cpp
412 // AccessoryServo.hpp
413 // PortServo.cpp
414 // PortServo.hpp
415 // Servo.cpp
416 // Servo.hpp
417 //
418 //NO_SHIELDL293D
419 // PortShieldL293d.cpp
420 // PortShieldL293d.hpp
421 //
422 //NO_STEPPER
423 // AccessoryStepper.cpp
424 // AccessoryStepper.hpp
425 // DriverStepper.cpp
426 // DriverStepper.hpp
427 // PortStepper.cpp
428 // PortStepper.hpp
429 //
430 
431 //#define NO_GROUP
432 //#define NO_MOTOR
433 //#define NO_SERVO
434 //#define NO_STEPPER
435 //#define NO_LIGHT
436 //#define NO_SHIELDL293D
437 //#define NO_EXPANDER
438 //#define NO_EXPANDER_SX1509
439 //#define NO_EXPANDER_74HC595
440 
441 #ifdef DOXYGEN_SPECIFIC
442  // DO NOT CHANGE THESE LINES IN THIS BLOCK 'DOXYGEN_SPECIFIC' : Only here for documentation !
443 
446  #define NO_GROUP
447 
449  #define NO_MOTOR
450 
452  #define NO_SERVO
453 
455  #define NO_STEPPER
456 
458  #define NO_LIGHT
459 
461  #define NO_SHIELDL293D
462 
463  #define NO_EEPROM
464 
465  #define NO_EXPANDER
466 
467  #define NO_EXPANDER_SX1509
468 
469  #define NO_EXPANDER_74HC595
470 
471  #undef NO_GROUP
472  #undef NO_MOTOR
473  #undef NO_SERVO
474  #undef NO_STEPPER
475  #undef NO_LIGHT
476  #undef NO_SHIELDL293D
477  #undef NO_EEPROM
478 
482  #define ACCESSORIES_DEBUG_MODE
483 
485  #define ACCESSORIES_DEBUG_VERBOSE_MODE
486 
491  #define ACCESSORIES_PRINT_ACCESSORIES
492 #endif
493 
494 #ifndef VISUALSTUDIO
495 #define NO_EEPROM
496 #endif
497 
498 #ifdef NO_MOTOR
499  #ifdef NO_LIGHT
500  #define NO_MOTOR_LIGHT
501  #endif
502  #ifndef NO_MOTORONEWAY
503  #define NO_MOTORONEWAY
504  #endif
505  #ifndef NO_MOTORTWOWAYS
506  #define NO_MOTORTWOWAYS
507  #endif
508 #endif
509 
510 #ifdef NO_EXPANDER
511 #define NO_EXPANDER_SX1509
512 #define NO_EXPANDER_74HC595
513 #endif
514 
515 // For Accessories library, L293D is not compatible with Arduino Due for the moment...
516 #ifdef ARDUINO_ARCH_SAM
517 #ifndef NO_SHIELDL293D
518  #define NO_SHIELDL293D
519 #endif
520 #endif
521 
523 
524 #include "Port.hpp"
525 
526 #ifndef NO_MOTOR
527 #include "AccessoryMotorOneWay.hpp"
528 #include "AccessoryMotorTwoWays.hpp"
529 #endif
530 #ifndef NO_SERVO
531 #include "AccessoryServo.hpp"
532 #endif
533 #ifndef NO_STEPPER
534 #include "AccessoryStepper.hpp"
535 #endif
536 #ifndef NO_LIGHT
537 #include "AccessoryLight.hpp"
538 #include "AccessoryLightMulti.hpp"
539 #endif
540 
541 #ifndef NO_GROUP
542 #include "AccessoryGroup.hpp"
543 #endif
544 
545 #ifndef NO_MOTOR_LIGHT
546 #include "PortOnePin.hpp"
547 #include "PortTwoPins.hpp"
548 #include "PortTwoPinsEnable.hpp"
549 #include "PortSpeedDirBrake.hpp"
550 #endif
551 
552 #ifndef NO_SHIELDL293D
553 #include "PortShieldL293d.hpp"
554 #endif
555 
556 #ifndef NO_SERVO
557 #include "PortServo.hpp"
558 #endif
559 
560 #ifndef NO_STEPPER
561 #include "PortStepper.hpp"
562 #endif
563 
564 #ifndef NO_EXPANDER
565  #include "PortExpander.hpp"
566  #ifndef NO_EXPANDER_SX1509
567  #include "PortExpanderSX1509.hpp"
568  #endif
569  #ifndef NO_EXPANDER_74HC595
570  #include "PortExpander74HC595.hpp"
571  #endif
572 #endif
573 
574 #include "Accessories.hpp"
575 #endif