__main_struct.h 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. /*
  2. https://www.tutorialspoint.com/cprogramming/c_storage_classes.htm
  3. A storage class defines the scope (visibility) and life-time of variables and/or functions within a C Program. They precede the type that they modify. We have four different storage classes in a C program −
  4. auto
  5. register
  6. static
  7. extern
  8. The auto Storage Class
  9. The auto storage class is the default storage class for all local variables.
  10. {
  11. int mount;
  12. auto int month;
  13. }
  14. The example above defines two variables with in the same storage class.
  15. 'auto' can only be used within functions, i.e., local variables.
  16. */
  17. //GLOBAL TYPES
  18. typedef int ARDUINO_SIZE_T ; //for display etc
  19. typedef boolean ARDUINO_STATE_T ; //for states of ports etc
  20. //EOF GLOBAL TYPES
  21. typedef ARDUINO_SIZE_T ARDUINO_SIZE_MIN_T ; //for display etc
  22. typedef ARDUINO_SIZE_T ARDUINO_SIZE_MAX_T ; //for display etc
  23. typedef int ARDUINO_LOOP_LATENCY_T;
  24. typedef int ARDUINO_LOOP_LATENCY_COUNTER_T; //WILL increment
  25. const ARDUINO_LOOP_LATENCY_COUNTER_T ARDUINO_LOOP_LATENCY_COUNTER_INIT = 1 ; //
  26. typedef bool ARDUINO_FUNCT_INIT_RESULT_T ;
  27. typedef int ARDUINO_ARRAY_INDEX_T ; //for controll arrays behaviour
  28. typedef int ARDUINO_ARRAY_ATTR_T ; //for controll arrays behaviour
  29. typedef int ARDUINO_ARRAY_PRIMARY_KET_T ;
  30. typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_CURRENT_T ; //porzadkowo do przegladania co jest biezacym pointerem
  31. typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_LAST_T ; //porzadkowo co jest ostatnim elementem
  32. typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_NEXT_T ; //porzadkowo co jest ostatnim elementem
  33. typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_COUNT_T ; //current count elements - porzadkowo
  34. typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_LIMIT_T ;
  35. typedef ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_TO_DELETE ;
  36. typedef long ARDUINO_ARRAY_time_min_run_MIN_T ;
  37. typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ;
  38. struct ARDUINO_ATTR_ARRAY_S {
  39. ARDUINO_ARRAY_INDEX_CURRENT_T ARDUINO_ARRAY_INDEX_CURRENT_A ;
  40. ARDUINO_ARRAY_INDEX_LAST_T ARDUINO_ARRAY_INDEX_LAST_A ;
  41. ARDUINO_ARRAY_COUNT_T ARDUINO_ARRAY_COUNT_A ;
  42. ARDUINO_ARRAY_INDEX_LIMIT_T ARDUINO_ARRAY_INDEX_LIMIT_A;
  43. ARDUINO_ARRAY_INDEX_NEXT_T ARDUINO_ARRAY_INDEX_NEXT_A ;
  44. ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_A ;
  45. ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_A ;
  46. };
  47. struct ARDUINO_ARRAY_INDEX_T_TO_DELETE_S {
  48. ARDUINO_ARRAY_INDEX_TO_DELETE ARDUINO_ARRAY_INDEX_TO_DELETE_A ;
  49. };
  50. struct ARDUINO_ARRAY_INDEX_TABLE_S { //to controll elements - like deletion etc
  51. ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_A ;
  52. };
  53. struct ARDUINO_ARRAY_ASSOC_TABLE_S { //to associate and cache
  54. ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_A ; //indexed name of sth
  55. };
  56. //typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_DRIVER
  57. const ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_NOT_SET = 0 ; //for controll arrays behaviour
  58. const ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_CORRUPT = 0 ; //for controll arrays behaviour
  59. const ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_FIRST = 1 ; //for controll arrays behaviour
  60. const ARDUINO_ARRAY_COUNT_T ARDUINO_ARRAY_COUNT_T_INIT = 0 ; //current count elements - porzadkowo
  61. const ARDUINO_ARRAY_INDEX_CURRENT_T ARDUINO_ARRAY_INDEX_CURRENT_INIT = 0 ; //
  62. const ARDUINO_ARRAY_INDEX_LAST_T ARDUINO_ARRAY_INDEX_LAST_INIT = 0 ;
  63. const ARDUINO_ARRAY_INDEX_NEXT_T ARDUINO_ARRAY_INDEX_NEXT_INIT = 1;
  64. const ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_INIT = 0 ;
  65. const ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_NOT_SET = 1 ;
  66. const ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_INIT = 0 ;
  67. const int ARDUINO_time_seq_id_A_INCREMENT = 1000 ;
  68. const ARDUINO_ARRAY_INDEX_T ARDUINO_ATTR_ARRAY_S_INDEX = ARDUINO_ARRAY_INDEX_FIRST ;
  69. //const ARDUINO_FUNCT_INIT_RESULT_T ARDUINO_FUNCT_INIT_RESULT_T_
  70. //#define membersof(x) (sizeof(x) / sizeof(x[0]))
  71. #define BLACK 0x0000
  72. #define BLUE 0x001F
  73. #define RED 0xF800
  74. #define GREEN 0x07E0
  75. #define CYAN 0x07FF
  76. #define MAGENTA 0xF81F
  77. #define YELLOW 0xFFE0
  78. #define WHITE 0xFFFF
  79. #define SERVOMIN 150 // this is the 'minimum' pulse length count (out of 4096)
  80. #define SERVOMAX 600 // this is the 'maximum' pulse length count (out of 4096)
  81. #define ArrayElementSize(x) (sizeof()/sizeof(x[0]))
  82. /* n = digitalRead(encoder0PinA);
  83. if ((encoder0PinALast == LOW) && (n == HIGH)) {
  84. if (digitalRead(encoder0PinB) == LOW) {
  85. encoder0Pos--;
  86. } else {
  87. encoder0Pos++;
  88. }
  89. Serial.print (encoder0Pos);
  90. Serial.print ("/");
  91. }
  92. encoder0PinALast = n;
  93. typedef ARDUINO_ROTTARY_ENC_DIR_S
  94. val = encoder_direction();
  95. */
  96. /*
  97. class MyObject{
  98. uint8_t aByte; //one byte of memory
  99. uint16_t aInt; //two bytes of memory
  100. };
  101. MyObject anObject; //create an instance of MyObject
  102. */