__main_struct.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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. typedef ARDUINO_ATTR_ARRAY_S ARDUINO_ATTR_ARRAY_T;
  48. struct ARDUINO_ARRAY_INDEX_T_TO_DELETE_S {
  49. ARDUINO_ARRAY_INDEX_TO_DELETE ARDUINO_ARRAY_INDEX_TO_DELETE_A ;
  50. };
  51. struct ARDUINO_ARRAY_INDEX_TABLE_S { //to controll elements - like deletion etc
  52. ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_A ;
  53. //int ARDUINO_ARRAY_INDEX_A ;
  54. };
  55. typedef ARDUINO_ARRAY_INDEX_TABLE_S ARDUINO_ARRAY_INDEX_TABLE_T;
  56. struct ARDUINO_ARRAY_ASSOC_TABLE_S { //to associate and cache
  57. ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_A ; //indexed name of sth
  58. };
  59. //typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_DRIVER
  60. const ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_NOT_SET = 0 ; //for controll arrays behaviour
  61. const ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_CORRUPT = 0 ; //for controll arrays behaviour
  62. const ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_FIRST = 1 ; //for controll arrays behaviour
  63. const ARDUINO_ARRAY_COUNT_T ARDUINO_ARRAY_COUNT_T_INIT = 0 ; //current count elements - porzadkowo
  64. const ARDUINO_ARRAY_INDEX_CURRENT_T ARDUINO_ARRAY_INDEX_CURRENT_INIT = 0 ; //
  65. const ARDUINO_ARRAY_INDEX_LAST_T ARDUINO_ARRAY_INDEX_LAST_INIT = 0 ;
  66. const ARDUINO_ARRAY_INDEX_NEXT_T ARDUINO_ARRAY_INDEX_NEXT_INIT = 1;
  67. const ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_INIT = 0 ;
  68. const ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_NOT_SET = 1 ;
  69. const ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_INIT = 0 ;
  70. const int ARDUINO_time_seq_id_A_INCREMENT = 1000 ;
  71. const ARDUINO_ARRAY_INDEX_T ARDUINO_ATTR_ARRAY_S_INDEX = ARDUINO_ARRAY_INDEX_FIRST ;
  72. //const ARDUINO_FUNCT_INIT_RESULT_T ARDUINO_FUNCT_INIT_RESULT_T_
  73. //#define membersof(x) (sizeof(x) / sizeof(x[0]))
  74. #define BLACK 0x0000
  75. #define BLUE 0x001F
  76. #define RED 0xF800
  77. #define GREEN 0x07E0
  78. #define CYAN 0x07FF
  79. #define MAGENTA 0xF81F
  80. #define YELLOW 0xFFE0
  81. #define WHITE 0xFFFF
  82. #define SERVOMIN 150 // this is the 'minimum' pulse length count (out of 4096)
  83. #define SERVOMAX 600 // this is the 'maximum' pulse length count (out of 4096)
  84. #define ArrayElementSize(x) (sizeof()/sizeof(x[0]))
  85. /* n = digitalRead(encoder0PinA);
  86. if ((encoder0PinALast == LOW) && (n == HIGH)) {
  87. if (digitalRead(encoder0PinB) == LOW) {
  88. encoder0Pos--;
  89. } else {
  90. encoder0Pos++;
  91. }
  92. Serial.print (encoder0Pos);
  93. Serial.print ("/");
  94. }
  95. encoder0PinALast = n;
  96. typedef ARDUINO_ROTTARY_ENC_DIR_S
  97. val = encoder_direction();
  98. */
  99. /*
  100. class MyObject{
  101. uint8_t aByte; //one byte of memory
  102. uint16_t aInt; //two bytes of memory
  103. };
  104. MyObject anObject; //create an instance of MyObject
  105. */