__main_struct.h 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  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 byte ARDUINO_ARRAY_INDEX_DRIVER_STATUS_T ; //status inicjalizacji drivera
  24. typedef int ARDUINO_LOOP_LATENCY_T;
  25. typedef int ARDUINO_LOOP_LATENCY_COUNTER_T; //WILL increment
  26. const ARDUINO_LOOP_LATENCY_COUNTER_T ARDUINO_LOOP_LATENCY_COUNTER_INIT = 1 ; //
  27. typedef bool ARDUINO_FUNCT_INIT_RESULT_T ;
  28. typedef int ARDUINO_ARRAY_INDEX_T ; //for controll arrays behaviour
  29. typedef int ARDUINO_ARRAY_ATTR_T ; //for controll arrays behaviour
  30. typedef int ARDUINO_ARRAY_PRIMARY_KET_T ;
  31. typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_CURRENT_T ; //porzadkowo do przegladania co jest biezacym pointerem
  32. typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_LAST_T ; //porzadkowo co jest ostatnim elementem
  33. typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_NEXT_T ; //porzadkowo co jest ostatnim elementem
  34. typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_COUNT_T ; //current count elements - porzadkowo
  35. typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_LIMIT_T ;
  36. typedef ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_TO_DELETE ;
  37. typedef long ARDUINO_ARRAY_time_min_run_MIN_T ;
  38. typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ;
  39. struct ARDUINO_ATTR_ARRAY_S {
  40. ARDUINO_ARRAY_INDEX_CURRENT_T ARDUINO_ARRAY_INDEX_CURRENT_A ;
  41. ARDUINO_ARRAY_INDEX_LAST_T ARDUINO_ARRAY_INDEX_LAST_A ;
  42. ARDUINO_ARRAY_COUNT_T ARDUINO_ARRAY_COUNT_A ;
  43. ARDUINO_ARRAY_INDEX_LIMIT_T ARDUINO_ARRAY_INDEX_LIMIT_A;
  44. ARDUINO_ARRAY_INDEX_NEXT_T ARDUINO_ARRAY_INDEX_NEXT_A ;
  45. ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_A ;
  46. ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_A ;
  47. };
  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. };
  54. struct ARDUINO_ARRAY_ASSOC_TABLE_S { //to associate and cache
  55. ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_A ; //indexed name of sth
  56. };
  57. //typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_DRIVER
  58. typedef ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_DRIVER_T ; //DO NP INDEX GDIZE JEST ZAINCJALIZOWANY JAKIS HANDLER Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A ...
  59. const ARDUINO_ARRAY_INDEX_DRIVER_STATUS_T ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_INIT_A = B00000001 ; // to init - e.g. Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V = Adafruit_PWMServoDriver(Adafruit_PWMServoDriver_A[i].I2C_ADDRESS_A); status inicjalizacji drivera
  60. const ARDUINO_ARRAY_INDEX_DRIVER_STATUS_T ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_SETUP_A = B00000010 ; //like in setup loop Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V.begin(); status inicjalizacji drivera
  61. const ARDUINO_ARRAY_INDEX_DRIVER_STATUS_T ARDUINO_ARRAY_INDEX_DRIVER_STATUS_TO_SETVAL_A = B00000100 ; //like Adafruit_PWMServoDriver_A[i].Adafruit_PWMServoDriver_V.setPWM(LocalPort, PWM_MIN, PWM_MAX); status inicjalizacji drivera
  62. const ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_NOT_SET = 0 ; //for controll arrays behaviour
  63. const ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_CORRUPT = 0 ; //for controll arrays behaviour
  64. const ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_FIRST = 1 ; //for controll arrays behaviour
  65. const ARDUINO_ARRAY_COUNT_T ARDUINO_ARRAY_COUNT_T_INIT = 0 ; //current count elements - porzadkowo
  66. const ARDUINO_ARRAY_INDEX_CURRENT_T ARDUINO_ARRAY_INDEX_CURRENT_INIT = 0 ; //
  67. const ARDUINO_ARRAY_INDEX_LAST_T ARDUINO_ARRAY_INDEX_LAST_INIT = 0 ;
  68. const ARDUINO_ARRAY_INDEX_NEXT_T ARDUINO_ARRAY_INDEX_NEXT_INIT = 1;
  69. const ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_INIT = 0 ;
  70. const ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_NOT_SET = 1 ;
  71. const ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_INIT = 0 ;
  72. const int ARDUINO_time_seq_id_A_INCREMENT = 1000 ;
  73. const ARDUINO_ARRAY_INDEX_T ARDUINO_ATTR_ARRAY_S_INDEX = ARDUINO_ARRAY_INDEX_FIRST ;
  74. //const ARDUINO_FUNCT_INIT_RESULT_T ARDUINO_FUNCT_INIT_RESULT_T_
  75. //#define membersof(x) (sizeof(x) / sizeof(x[0]))
  76. #define BLACK 0x0000
  77. #define BLUE 0x001F
  78. #define RED 0xF800
  79. #define GREEN 0x07E0
  80. #define CYAN 0x07FF
  81. #define MAGENTA 0xF81F
  82. #define YELLOW 0xFFE0
  83. #define WHITE 0xFFFF
  84. typedef byte ARDUINO_DRIVER_STATUS_T ;
  85. const ARDUINO_DRIVER_STATUS_T ARDUINO_DRIVER_UNDEFINED = B00000000 ;
  86. const ARDUINO_DRIVER_STATUS_T ARDUINO_DRIVER_UNSET = B00000001 ;
  87. const ARDUINO_DRIVER_STATUS_T ARDUINO_DRIVER_INITIALIZED = B00000010 ;
  88. const ARDUINO_DRIVER_STATUS_T ARDUINO_DRIVER_INITIALIZED_BEGIN = B00000100 ;
  89. const ARDUINO_DRIVER_STATUS_T ARDUINO_DRIVER_INITIALIZED_FREQ = B00001000 ;
  90. #define SERVOMIN 150 // this is the 'minimum' pulse length count (out of 4096)
  91. #define SERVOMAX 600 // this is the 'maximum' pulse length count (out of 4096)
  92. #define ArrayElementSize(x) (sizeof()/sizeof(x[0]))
  93. /* n = digitalRead(encoder0PinA);
  94. if ((encoder0PinALast == LOW) && (n == HIGH)) {
  95. if (digitalRead(encoder0PinB) == LOW) {
  96. encoder0Pos--;
  97. } else {
  98. encoder0Pos++;
  99. }
  100. Serial.print (encoder0Pos);
  101. Serial.print ("/");
  102. }
  103. encoder0PinALast = n;
  104. typedef ARDUINO_ROTTARY_ENC_DIR_S
  105. val = encoder_direction();
  106. */
  107. /*
  108. class MyObject{
  109. uint8_t aByte; //one byte of memory
  110. uint16_t aInt; //two bytes of memory
  111. };
  112. MyObject anObject; //create an instance of MyObject
  113. */