| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276 |
- /*
- https://www.tutorialspoint.com/cprogramming/c_storage_classes.htm
- 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 −
- auto
- register
- static
- extern
- The auto Storage Class
- The auto storage class is the default storage class for all local variables.
- {
- int mount;
- auto int month;
- }
- The example above defines two variables with in the same storage class.
- 'auto' can only be used within functions, i.e., local variables.
- */
- //GLOBAL TYPES
- typedef int GARBAGE_TO_REMOVE_ASSOC_T ; //Old not usable pointer to remove
- const GARBAGE_TO_REMOVE_ASSOC_T GARBAGE_TO_REMOVE_ASSOC_EMPTY = 0 ;
- typedef byte ARDUINO_OPTIONS_T ;
- typedef int ARDUINO_SIZE_T ; //for display etc
- typedef boolean ARDUINO_STATE_T ; //for states of ports etc
- //EOF GLOBAL TYPES
- typedef ARDUINO_SIZE_T ARDUINO_SIZE_MIN_T ; //for display etc
- typedef ARDUINO_SIZE_T ARDUINO_SIZE_MAX_T ; //for display etc
- typedef int ARDUINO_FUNC_STATIC_ID_COUNTER_T ; //for static function couter
- const ARDUINO_FUNC_STATIC_ID_COUNTER_T ARDUINO_FUNC_STATIC_ID_COUNTER_INIT = 0 ;
- typedef int ARDUINO_LOOP_LATENCY_T;
- typedef int ARDUINO_LOOP_LATENCY_COUNTER_T; //WILL increment
- const ARDUINO_LOOP_LATENCY_COUNTER_T ARDUINO_LOOP_LATENCY_COUNTER_INIT = 1 ; //
- typedef bool ARDUINO_FUNCT_INIT_RESULT_T ;
- typedef int ARDUINO_ARRAY_INDEX_T ; //for controll arrays behaviour
- typedef int ARDUINO_ARRAY_ATTR_T ; //for controll arrays behaviour
- typedef int ARDUINO_ARRAY_PRIMARY_KET_T ;
- typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_CURRENT_T ; //porzadkowo do przegladania co jest biezacym pointerem
- typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_LAST_T ; //porzadkowo co jest ostatnim elementem
- typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_NEXT_T ; //porzadkowo co jest ostatnim elementem
- typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_COUNT_T ; //current count elements - porzadkowo
- typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_LIMIT_T ;
- typedef ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_TO_DELETE ;
- typedef long ARDUINO_ARRAY_time_min_run_MIN_T ;
- typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ;
- //DO OBSLUGI KOLEJEK
- typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_ATTR_QUEUE_COUNT_MAX_T ;
- typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_ATTR_QUEUE_FRONT_T ;
- typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_ATTR_QUEUE_BACK_T ;
- typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_ATTR_QUEUE_COUNT_T ;
- typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_ATTR_QUEUE_PEEK_T ;
- struct ARDUINO_ARRAY_ATTR_QUEUE_S {
- ARDUINO_ARRAY_ATTR_QUEUE_COUNT_MAX_T ARDUINO_ARRAY_ATTR_QUEUE_COUNT_MAX_A;
- ARDUINO_ARRAY_ATTR_QUEUE_COUNT_T ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A ;
- ARDUINO_ARRAY_ATTR_QUEUE_PEEK_T ARDUINO_ARRAY_ATTR_QUEUE_PEEK_A ;
- ARDUINO_ARRAY_ATTR_QUEUE_BACK_T ARDUINO_ARRAY_ATTR_QUEUE_BACK_A ;
- ARDUINO_ARRAY_ATTR_QUEUE_FRONT_T ARDUINO_ARRAY_ATTR_QUEUE_FRONT_A;
-
- };
- typedef struct ARDUINO_ARRAY_ATTR_QUEUE_S ARDUINO_ARRAY_ATTR_QUEUE_T ;
- /*
- typedef ARDUINO_OPTIONS_T ARDUINO_ARRAY_ATTR_QUEUE_OPTIONS_T; // [#109 ELSE] 100100]
- const ARDUINO_ARRAY_ATTR_QUEUE_OPTIONS_T ARDUINO_ARRAY_ATTR_QUEUE_ACTION_GET = B00000001 ;
- const ARDUINO_ARRAY_ATTR_QUEUE_OPTIONS_T ARDUINO_ARRAY_ATTR_QUEUE_ACTION_SET = B00000010 ;
- const ARDUINO_ARRAY_ATTR_QUEUE_OPTIONS_T ARDUINO_ARRAY_ATTR_QUEUE_ACTION_ADD = B00000100 ; //add back == pop
- const ARDUINO_ARRAY_ATTR_QUEUE_OPTIONS_T ARDUINO_ARRAY_ATTR_QUEUE_COUNT_MAX = B00001000 ;
- const ARDUINO_ARRAY_ATTR_QUEUE_OPTIONS_T ARDUINO_ARRAY_ATTR_QUEUE_COUNT = B00010000 ;
- const ARDUINO_ARRAY_ATTR_QUEUE_OPTIONS_T ARDUINO_ARRAY_ATTR_QUEUE_PEEK = B00100000 ; //
- const ARDUINO_ARRAY_ATTR_QUEUE_OPTIONS_T ARDUINO_ARRAY_ATTR_QUEUE_FRONT = B01000000 ; //newest set+read(add)
- const ARDUINO_ARRAY_ATTR_QUEUE_OPTIONS_T ARDUINO_ARRAY_ATTR_QUEUE_BACK = B10000000 ;//add back == pop
- */
-
- typedef struct ARDUINO_ARRAY_ATTR_QUEUE_S ARDUINO_ARRAY_ATTR_QUEUE_T ;
- const ARDUINO_ARRAY_ATTR_QUEUE_COUNT_MAX_T ARDUINO_ARRAY_ATTR_QUEUE_COUNT_MAX_INIT = ARDUINO_FUNC_STATIC_ID_COUNTER_INIT ;
- const ARDUINO_ARRAY_ATTR_QUEUE_COUNT_T ARDUINO_ARRAY_ATTR_QUEUE_COUNT_INIT = ARDUINO_FUNC_STATIC_ID_COUNTER_INIT ;
- const ARDUINO_ARRAY_ATTR_QUEUE_PEEK_T ARDUINO_ARRAY_ATTR_QUEUE_PEEK_INIT = ARDUINO_FUNC_STATIC_ID_COUNTER_INIT ;
- const ARDUINO_ARRAY_ATTR_QUEUE_BACK_T ARDUINO_ARRAY_ATTR_QUEUE_BACK_INIT = ARDUINO_FUNC_STATIC_ID_COUNTER_INIT ;
- const ARDUINO_ARRAY_ATTR_QUEUE_FRONT_T ARDUINO_ARRAY_ATTR_QUEUE_FRONT_INIT = ARDUINO_FUNC_STATIC_ID_COUNTER_INIT ;
- typedef byte ARDUINO_QUEUE_FLAG_T ;
- typedef ARDUINO_QUEUE_FLAG_T ARDUINO_QUEUE_ELEMENT_FLAG_T ; //type to be inside array to control
- const ARDUINO_QUEUE_ELEMENT_FLAG_T ARDUINO_QUEUE_ELEMENT_FLAG_INITIAL_CORRUPT = B00000001 ; //type of empty initial array records
- const ARDUINO_QUEUE_ELEMENT_FLAG_T ARDUINO_QUEUE_ELEMENT_FLAG_COMIT_CONTEXT = B00000010 ; //to handle this flag by functions - shows that is expected sturcture
- const ARDUINO_QUEUE_ELEMENT_FLAG_T ARDUINO_QUEUE_ELEMENT_FLAG_STANDARD = B00000100 ; //type of empty initial array records
- const ARDUINO_QUEUE_FLAG_T ARDUINO_QUEUE_FLAG_INIT = B00000001 ; //just to init
- const ARDUINO_QUEUE_FLAG_T ARDUINO_QUEUE_FLAG_RESTRICT_INDEX = B00000010 ; //no loose index changes
- const ARDUINO_QUEUE_FLAG_T ARDUINO_QUEUE_FLAG_CAN_OVERWRITE = B00000100 ; //data can be overwrited
- const ARDUINO_QUEUE_FLAG_T ARDUINO_QUEUE_FLAG_USE_ELEMENT_FLAG_T = B00001000 ; //delete order etc use ARDUINO_QUEUE_ELEMENT_FLAG_T in childs
- const ARDUINO_QUEUE_FLAG_T ARDUINO_QUEUE_FLAG_CANNOT_OVERWRITE = B00010000 ; //data can be overwrited
- const ARDUINO_QUEUE_FLAG_T ARDUINO_QUEUE_FLAG_NOT_SPECIFIED = B00100000 ; //not specified
- const ARDUINO_QUEUE_FLAG_T ARDUINO_QUEUE_FLAG_QUEUE = B01000000 ; //USE ARDUINO_ARRAY_ATTR_QUEUE_BACK_A + ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A + rotate
- const ARDUINO_QUEUE_FLAG_T ARDUINO_QUEUE_FLAG_FULL_ONLY_POP = B10000000 ; // WHEN QUEUE FULL - DISALLOW TO NEW RECORDS
- typedef ARDUINO_OPTIONS_T ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_T; //do obslygi kluczy
- const ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_T ARDUINO_ARRAY_ATTR_INDEX__TO_INITIALIZE = B00000001 ; //initial state
- const ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_T ARDUINO_ARRAY_ATTR_INDEX__TO_COMMIT = B00000010 ;
- const ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_T ARDUINO_ARRAY_ATTR_INDEX__TO_INCREMENT = B00000100 ;
- const ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_T ARDUINO_ARRAY_ATTR_INDEX__READY_TO_QUERY = B00001000 ;
- const ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_T ARDUINO_ARRAY_ATTR_INDEX__QUERY_LOCKED = B00010000 ;
- const ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_T ARDUINO_ARRAY_ATTR_INDEX__HAS_ERRORS = B00100000 ;
- struct ARDUINO_ATTR_ARRAY_S {
- ARDUINO_ARRAY_INDEX_CURRENT_T ARDUINO_ARRAY_INDEX_CURRENT_A ;
- ARDUINO_ARRAY_INDEX_LAST_T ARDUINO_ARRAY_INDEX_LAST_A ; //mzoe byc usabvle do pointerowania rejestru dalej
- ARDUINO_ARRAY_COUNT_T ARDUINO_ARRAY_COUNT_A ;
- ARDUINO_ARRAY_INDEX_LIMIT_T ARDUINO_ARRAY_INDEX_LIMIT_A;
- ARDUINO_ARRAY_INDEX_NEXT_T ARDUINO_ARRAY_INDEX_NEXT_A ;
- ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_A ;
- ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_A ;
- ARDUINO_QUEUE_FLAG_T ARDUINO_QUEUE_FLAG_A ;
- ARDUINO_ARRAY_ATTR_QUEUE_BACK_T ARDUINO_ARRAY_ATTR_QUEUE_BACK_A ; //ostatni zabrany element
- ARDUINO_ARRAY_ATTR_QUEUE_COUNT_T ARDUINO_ARRAY_ATTR_QUEUE_COUNT_A ; //kolejka elementow
- ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_T ARDUINO_ARRAY_ATTR_INDEX_OPTIONS_A ;
- };
- typedef ARDUINO_ATTR_ARRAY_S ARDUINO_ATTR_ARRAY_T;
- struct ARDUINO_ARRAY_INDEX_T_TO_DELETE_S {
- ARDUINO_ARRAY_INDEX_TO_DELETE ARDUINO_ARRAY_INDEX_TO_DELETE_A ;
- };
- struct ARDUINO_ARRAY_INDEX_TABLE_S { //to controll elements - like deletion etc
- ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_A ;
- //int ARDUINO_ARRAY_INDEX_A ;
- };
- typedef ARDUINO_ARRAY_INDEX_TABLE_S ARDUINO_ARRAY_INDEX_TABLE_T;
- struct ARDUINO_ARRAY_ASSOC_TABLE_S { //to associate and cache
- ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_A ; //indexed name of sth
- };
- struct ARDUINO_ARRAY_QUEUE_TABLE_S { //to controll elements - like deletion etc
- ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_A ;
- ARDUINO_QUEUE_FLAG_T ARDUINO_QUEUE_FLAG_T ;
- //int ARDUINO_ARRAY_INDEX_A ;
- };
- typedef struct ARDUINO_ARRAY_QUEUE_TABLE_S ARDUINO_ARRAY_QUEUE_TABLE_T ;
- //typedef ARDUINO_ARRAY_ATTR_T ARDUINO_ARRAY_DRIVER
- const ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_NOT_SET = 0 ; //for controll arrays behaviour
- const ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_CORRUPT = 0 ; //for controll arrays behaviour
- const ARDUINO_ARRAY_INDEX_T ARDUINO_ARRAY_INDEX_FIRST = 1 ; //for controll arrays behaviour
- const ARDUINO_ARRAY_COUNT_T ARDUINO_ARRAY_COUNT_T_INIT = 0 ; //current count elements - porzadkowo
- const ARDUINO_ARRAY_INDEX_CURRENT_T ARDUINO_ARRAY_INDEX_CURRENT_INIT = 0 ; //
- const ARDUINO_ARRAY_INDEX_LAST_T ARDUINO_ARRAY_INDEX_LAST_INIT = 0 ;
- const ARDUINO_ARRAY_INDEX_NEXT_T ARDUINO_ARRAY_INDEX_NEXT_INIT = 1;
- const ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_INIT = 0 ;
- const ARDUINO_ARRAY_time_min_run_MIN_T ARDUINO_ARRAY_time_min_run_MIN_NOT_SET = 1 ;
- const ARDUINO_ARRAY_INDEX_time_min_run_MIN_T ARDUINO_ARRAY_INDEX_time_min_run_MIN_INIT = 0 ;
- const int ARDUINO_time_seq_id_A_INCREMENT = 1000 ;
- const ARDUINO_ARRAY_INDEX_T ARDUINO_ATTR_ARRAY_S_INDEX = ARDUINO_ARRAY_INDEX_FIRST ;
- //const ARDUINO_FUNCT_INIT_RESULT_T ARDUINO_FUNCT_INIT_RESULT_T_
- //#define membersof(x) (sizeof(x) / sizeof(x[0]))
- #define BLACK 0x0000
- #define BLUE 0x001F
- #define RED 0xF800
- #define GREEN 0x07E0
- #define CYAN 0x07FF
- #define MAGENTA 0xF81F
- #define YELLOW 0xFFE0
- #define WHITE 0xFFFF
-
- #define SERVOMIN 150 // this is the 'minimum' pulse length count (out of 4096)
- #define SERVOMAX 600 // this is the 'maximum' pulse length count (out of 4096)
- #define ArrayElementSize(x) (sizeof()/sizeof(x[0]))
- /* n = digitalRead(encoder0PinA);
- if ((encoder0PinALast == LOW) && (n == HIGH)) {
- if (digitalRead(encoder0PinB) == LOW) {
- encoder0Pos--;
- } else {
- encoder0Pos++;
- }
- Serial.print (encoder0Pos);
- Serial.print ("/");
- }
- encoder0PinALast = n;
-
-
- typedef ARDUINO_ROTTARY_ENC_DIR_S
- val = encoder_direction();
-
-
- */
-
-
- /*
-
- class MyObject{
- uint8_t aByte; //one byte of memory
- uint16_t aInt; //two bytes of memory
- };
- MyObject anObject; //create an instance of MyObject
-
- */
|