Commanders
Arduino buttons/bus library
Commanders.h
Go to the documentation of this file.
1 //-------------------------------------------------------------------
2 #ifndef __commanders_H__
3 #define __commanders_H__
4 //-------------------------------------------------------------------
5 
467 #define LIBRARY_VERSION "Commanders V2.01"
468 
470 // Remove the '//' at the beginning of the line to be in debug mode.
471 //#define COMMANDERS_DEBUG_MODE
472 
474 // Remove the '//' at the beginning of the line to be in verbose debug mode.
475 //#define COMMANDERS_DEBUG_VERBOSE_MODE
476 
478 // Remove the '//' at the beginning of the line to activate the print function.
479 //#define COMMANDERS_PRINT_COMMANDERS
480 
482 #define GPIO2_PREFER_SPEED 1
483 
484 #include <DIO2.h>
485 
487 //#define NO_BUTTONSCOMMANDER
488 //#define NO_BUTTONSCOMMANDERENCODER
489 //#define NO_BUTTONSCOMMANDERPUSH
490 //#define NO_BUTTONSCOMMANDERANALOGPUSHES
491 //#define NO_BUTTONSCOMMANDERSWITCH
492 //#define NO_BUTTONSCOMMANDERPOTENTIOMETER
493 #define NO_CANCOMMANDER
494 #define NO_DCCCOMMANDER
495 #define NO_DCCCOMMANDERNMRA
496 #define NO_I2CCOMMANDER
497 #define NO_SERIALCOMMANDER
498 #define NO_EVENTSSEQUENCER
499 
500 #ifdef DOXYGEN_SPECIFIC
501  // DO NOT CHANGE THESE LINES IN THIS BLOCK 'DOXYGEN_SPECIFIC' : Only here for library documentation !
502 
505  #define NO_BUTTONSCOMMANDER
506 
508  #define NO_BUTTONSCOMMANDERENCODER
509 
511  #define NO_BUTTONSCOMMANDERPUSH
512 
514  #define NO_BUTTONSCOMMANDERANALOGPUSHES
515 
517  #define NO_BUTTONSCOMMANDERSWITCH
518 
520  #define NO_BUTTONSCOMMANDERPOTENTIOMETER
521 
524  #define NO_CANCOMMANDER
525 
527  #define NO_DCCCOMMANDER
528 
530  #define NO_DCCCOMMANDERNMRA
531 
533  #define NO_I2CCOMMANDER
534 
536  #define NO_SERIALCOMMANDER
537 
539  #define NO_EVENTSSEQUENCER
540 
541  #undef NO_BUTTONSCOMMANDER
542  #undef NO_BUTTONSCOMMANDERENCODER
543  #undef NO_BUTTONSCOMMANDERPUSH
544  #undef NO_BUTTONSCOMMANDERANALOGPUSHES
545  #undef NO_BUTTONSCOMMANDERSWITCH
546  #undef NO_BUTTONSCOMMANDERPOTENTIOMETER
547  #undef NO_CANCOMMANDER
548  #undef NO_DCCCOMMANDER
549  #undef NO_DCCCOMMANDERNMRA
550  #undef NO_I2CCOMMANDER
551  #undef NO_SERIALCOMMANDER
552  #undef NO_EVENTSSEQUENCER
553 
557  #define COMMANDERS_DEBUG_MODE
558 
560  #define COMMANDERS_DEBUG_VERBOSE_MODE
561 
566  #define COMMANDERS_PRINT_COMMANDERS
567 #endif
568 
570 
571 #include "Commander.hpp"
572 #include "Commanders.hpp"
573 
574 #ifndef NO_CANCOMMANDER
575 #include "CANCommander.hpp"
576 #endif
577 
578 #ifndef NO_DCCCOMMANDER
579 #ifndef ARDUINO_ARCH_AVR
580 #pragma message ("Commanders : DCC commander is ONLY compatible with AVR Arduino, use DCC NMRA for others!")
581 #endif
582 #include "DccCommander.hpp"
583 #endif
584 
585 #ifndef NO_DCCCOMMANDERNMRA
586 #ifdef __DCC_DECODER_H__
587 #pragma message ("Commanders : two DCC commanders CANNOT be used in the same sketch, choose between DCC and DCC NMRA!")
588 #endif
589 #include "DccCommanderNMRA.hpp"
590 #endif
591 
592 #ifndef NO_I2CCOMMANDER
593 #include "I2CCommander.hpp"
594 #endif
595 
596 #ifndef NO_BUTTONSCOMMANDER
597 #include "ButtonsCommander.hpp"
598 #endif
599 
600 #ifndef NO_SERIALCOMMANDER
601 #include "SerialCommander.hpp"
602 #include "TextInterpreter.hpp"
603 #endif
604 
605 #ifndef NO_EVENTSSEQUENCER
606 #include "EventsSequencer.hpp"
607 #endif
608 
609 #endif