__main_struct.h 6.1 KB

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