Basic DC motor control test, rpm feedback by simple impulse signal, PID speed control.
Dependencies: FastPWM mbed FastIO MODSERIAL
doxy_templates.txt@11:4747badb2448, 2018-04-04 (annotated)
- Committer:
- dzoni
- Date:
- Wed Apr 04 05:58:25 2018 +0000
- Revision:
- 11:4747badb2448
- Parent:
- 8:5ce5fe1ce503
After functionality test on actual HW. Fine tunning of PID controller parameters required. Functionality OK. Controller slow on start from zero speed.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dzoni | 8:5ce5fe1ce503 | 1 | Dokumentace souborů |
dzoni | 8:5ce5fe1ce503 | 2 | |
dzoni | 8:5ce5fe1ce503 | 3 | V hlavičkových souborech a main.c pište plnou dokumentaci funkcí, struktur atd., ve všech souborech navíc pište tagy @author a @file. V textu dokumentace používejte angličtinu. |
dzoni | 8:5ce5fe1ce503 | 4 | |
dzoni | 8:5ce5fe1ce503 | 5 | Ukázka hlavičkového souboru |
dzoni | 8:5ce5fe1ce503 | 6 | #ifndef MY_AWESOME_LIBRARY_H |
dzoni | 8:5ce5fe1ce503 | 7 | #define MY_AWESOME_LIBRARY_H |
dzoni | 8:5ce5fe1ce503 | 8 | |
dzoni | 8:5ce5fe1ce503 | 9 | /** |
dzoni | 8:5ce5fe1ce503 | 10 | * @brief [OPTIONAL] Brief file description. |
dzoni | 8:5ce5fe1ce503 | 11 | * @file my_awesome_library.h |
dzoni | 8:5ce5fe1ce503 | 12 | * @author John Doe <john.doe@example.com> |
dzoni | 8:5ce5fe1ce503 | 13 | * |
dzoni | 8:5ce5fe1ce503 | 14 | * [OPTIONAL] Detailed file description. |
dzoni | 8:5ce5fe1ce503 | 15 | */ |
dzoni | 8:5ce5fe1ce503 | 16 | |
dzoni | 8:5ce5fe1ce503 | 17 | #include <stdlib.h> |
dzoni | 8:5ce5fe1ce503 | 18 | // ... |
dzoni | 8:5ce5fe1ce503 | 19 | |
dzoni | 8:5ce5fe1ce503 | 20 | #endif // MY_AWESOME_LIBRARY_H |
dzoni | 8:5ce5fe1ce503 | 21 | Ukázka jiného (nehlavičkového) souboru |
dzoni | 8:5ce5fe1ce503 | 22 | /** |
dzoni | 8:5ce5fe1ce503 | 23 | * @author John Doe <john.doe@example.com> |
dzoni | 8:5ce5fe1ce503 | 24 | * @file list.c |
dzoni | 8:5ce5fe1ce503 | 25 | */ |
dzoni | 8:5ce5fe1ce503 | 26 | |
dzoni | 8:5ce5fe1ce503 | 27 | ... |
dzoni | 8:5ce5fe1ce503 | 28 | |
dzoni | 8:5ce5fe1ce503 | 29 | Dokumentace struktur a výčtových typů |
dzoni | 8:5ce5fe1ce503 | 30 | /** |
dzoni | 8:5ce5fe1ce503 | 31 | * @brief Doubly linked list node. |
dzoni | 8:5ce5fe1ce503 | 32 | * |
dzoni | 8:5ce5fe1ce503 | 33 | * [OPTIONAL] Detailed description. |
dzoni | 8:5ce5fe1ce503 | 34 | */ |
dzoni | 8:5ce5fe1ce503 | 35 | typedef struct node |
dzoni | 8:5ce5fe1ce503 | 36 | { |
dzoni | 8:5ce5fe1ce503 | 37 | struct node *prev; /**< previous node */ |
dzoni | 8:5ce5fe1ce503 | 38 | struct node *next; /**< next node */ |
dzoni | 8:5ce5fe1ce503 | 39 | void *data; /**< pointer to node data */ |
dzoni | 8:5ce5fe1ce503 | 40 | } node_t; |
dzoni | 8:5ce5fe1ce503 | 41 | |
dzoni | 8:5ce5fe1ce503 | 42 | /** |
dzoni | 8:5ce5fe1ce503 | 43 | * @brief UNIX file system permissions. |
dzoni | 8:5ce5fe1ce503 | 44 | * |
dzoni | 8:5ce5fe1ce503 | 45 | * [OPTIONAL] Detailed description. |
dzoni | 8:5ce5fe1ce503 | 46 | */ |
dzoni | 8:5ce5fe1ce503 | 47 | typedef enum mode |
dzoni | 8:5ce5fe1ce503 | 48 | { |
dzoni | 8:5ce5fe1ce503 | 49 | Read = 1, /**< read a file or list contents of a directory */ |
dzoni | 8:5ce5fe1ce503 | 50 | Write = 2, /**< modify a file or directory entries */ |
dzoni | 8:5ce5fe1ce503 | 51 | Execute = 4 /**< execute a file or enter a directory */ |
dzoni | 8:5ce5fe1ce503 | 52 | } mode_t; |
dzoni | 8:5ce5fe1ce503 | 53 | |
dzoni | 8:5ce5fe1ce503 | 54 | |
dzoni | 8:5ce5fe1ce503 | 55 | Dokumentace funkcí |
dzoni | 8:5ce5fe1ce503 | 56 | Pokud chcete v textu odkazovat parametr funkce, použijte značku @a parametr, hodnoty můžete značit např. značkou @c true. Funkce, které nic nevrací (mají návratový typ void) pochopitelně nemusí mít značku @return. |
dzoni | 8:5ce5fe1ce503 | 57 | |
dzoni | 8:5ce5fe1ce503 | 58 | /** |
dzoni | 8:5ce5fe1ce503 | 59 | * @brief Halting problem solver. |
dzoni | 8:5ce5fe1ce503 | 60 | * @param tm Turing machine to simulate |
dzoni | 8:5ce5fe1ce503 | 61 | * @param input input to simulate the @a tm with |
dzoni | 8:5ce5fe1ce503 | 62 | * @return @c true if the machine @a tm will halt with the tape @a input, @c false otherwise |
dzoni | 8:5ce5fe1ce503 | 63 | * @note [OPTIONAL] The content of the @a input tape will remain unchanged. |
dzoni | 8:5ce5fe1ce503 | 64 | * @warning [OPTIONAL] Still under development. |
dzoni | 8:5ce5fe1ce503 | 65 | * @bug [OPTIONAL] This function can run indefinitely for some inputs. |
dzoni | 8:5ce5fe1ce503 | 66 | * |
dzoni | 8:5ce5fe1ce503 | 67 | * [OPTIONAL] Detailed information on how awesome this function is. |
dzoni | 8:5ce5fe1ce503 | 68 | */ |
dzoni | 8:5ce5fe1ce503 | 69 | bool halts(machine_t *tm, tape_t *input); |
dzoni | 8:5ce5fe1ce503 | 70 | Navíc, pokud je argument funkce ukazatel, přidejte za param položku [in], [out] nebo [in,out] pokud je to vstupní, výstupní resp. vstupno-výstupní argument: |
dzoni | 8:5ce5fe1ce503 | 71 | |
dzoni | 8:5ce5fe1ce503 | 72 | /** |
dzoni | 8:5ce5fe1ce503 | 73 | * @param[in] ro memory to be read |
dzoni | 8:5ce5fe1ce503 | 74 | * @param[out] wo memory to be filled |
dzoni | 8:5ce5fe1ce503 | 75 | * @param[in,out] rw memory to be read and written |
dzoni | 8:5ce5fe1ce503 | 76 | */ |
dzoni | 8:5ce5fe1ce503 | 77 | void foo(const void *ro, size_t *wo, char *rw); |