-
Counter.h@2:f02ac448ecd3, 2018-11-12 (annotated)
- Committer:
- kpan
- Date:
- Mon Nov 12 19:08:35 2018 +0000
- Revision:
- 2:f02ac448ecd3
- Parent:
- 1:e8eeddee2959
- Child:
- 3:45fd27aa5555
- Child:
- 4:c15c22484205
Changed some varnames
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kpan | 2:f02ac448ecd3 | 1 | #ifndef COUNTER_H |
kpan | 2:f02ac448ecd3 | 2 | #define COUNTER_H |
kpan | 2:f02ac448ecd3 | 3 | |
kpan | 0:693f2f97c8c1 | 4 | #include "mbed.h" |
kpan | 0:693f2f97c8c1 | 5 | #include "FreescaleIAP.h" |
kpan | 0:693f2f97c8c1 | 6 | |
kpan | 2:f02ac448ecd3 | 7 | #ifndef MAX_LEN |
kpan | 1:e8eeddee2959 | 8 | #define MAX_LEN 8 |
kpan | 2:f02ac448ecd3 | 9 | #endif |
kpan | 2:f02ac448ecd3 | 10 | |
kpan | 2:f02ac448ecd3 | 11 | /** |
kpan | 2:f02ac448ecd3 | 12 | * Counter example |
kpan | 2:f02ac448ecd3 | 13 | * |
kpan | 2:f02ac448ecd3 | 14 | * @code |
kpan | 2:f02ac448ecd3 | 15 | * #include "mbed.h" |
kpan | 2:f02ac448ecd3 | 16 | * #include "Counter.h" |
kpan | 2:f02ac448ecd3 | 17 | * |
kpan | 2:f02ac448ecd3 | 18 | * int main(void) { |
kpan | 2:f02ac448ecd3 | 19 | * |
kpan | 2:f02ac448ecd3 | 20 | * Counter ct; |
kpan | 2:f02ac448ecd3 | 21 | * while (true) { |
kpan | 2:f02ac448ecd3 | 22 | * ct.increment(rand()%MAX_LEN); |
kpan | 2:f02ac448ecd3 | 23 | * wait(0.5); |
kpan | 2:f02ac448ecd3 | 24 | * } |
kpan | 2:f02ac448ecd3 | 25 | * } |
kpan | 2:f02ac448ecd3 | 26 | * @endcode |
kpan | 2:f02ac448ecd3 | 27 | */ |
kpan | 0:693f2f97c8c1 | 28 | |
kpan | 0:693f2f97c8c1 | 29 | class Counter |
kpan | 0:693f2f97c8c1 | 30 | { |
kpan | 0:693f2f97c8c1 | 31 | private: |
kpan | 1:e8eeddee2959 | 32 | int count[MAX_LEN]; |
kpan | 2:f02ac448ecd3 | 33 | int is_new_count; |
kpan | 0:693f2f97c8c1 | 34 | int address; |
kpan | 1:e8eeddee2959 | 35 | #ifdef COUNTER_DEBUG |
kpan | 1:e8eeddee2959 | 36 | /** Simple print function |
kpan | 1:e8eeddee2959 | 37 | * |
kpan | 1:e8eeddee2959 | 38 | * Prints all memory addresses in count array with values for debugging purposes. |
kpan | 1:e8eeddee2959 | 39 | * |
kpan | 1:e8eeddee2959 | 40 | */ |
kpan | 2:f02ac448ecd3 | 41 | void print_memory(void); |
kpan | 1:e8eeddee2959 | 42 | #endif |
kpan | 1:e8eeddee2959 | 43 | /** Initialize count array |
kpan | 1:e8eeddee2959 | 44 | * |
kpan | 1:e8eeddee2959 | 45 | * Either initializes count array to zeroes or existing count |
kpan | 1:e8eeddee2959 | 46 | * depending on whether it has been called before or not |
kpan | 1:e8eeddee2959 | 47 | * |
kpan | 1:e8eeddee2959 | 48 | */ |
kpan | 2:f02ac448ecd3 | 49 | void init(void); |
kpan | 1:e8eeddee2959 | 50 | |
kpan | 0:693f2f97c8c1 | 51 | public: |
kpan | 1:e8eeddee2959 | 52 | |
kpan | 1:e8eeddee2959 | 53 | /** Default Constructor |
kpan | 1:e8eeddee2959 | 54 | * |
kpan | 1:e8eeddee2959 | 55 | * Sets read/write memory addresss of Flash memory |
kpan | 1:e8eeddee2959 | 56 | * Also calls init() |
kpan | 1:e8eeddee2959 | 57 | * |
kpan | 1:e8eeddee2959 | 58 | */ |
kpan | 0:693f2f97c8c1 | 59 | Counter(); |
kpan | 1:e8eeddee2959 | 60 | |
kpan | 1:e8eeddee2959 | 61 | /** Write to Memory |
kpan | 1:e8eeddee2959 | 62 | * |
kpan | 1:e8eeddee2959 | 63 | * Writes current count array to Flash Memory |
kpan | 1:e8eeddee2959 | 64 | * |
kpan | 1:e8eeddee2959 | 65 | */ |
kpan | 2:f02ac448ecd3 | 66 | void memwrite(void); |
kpan | 1:e8eeddee2959 | 67 | |
kpan | 1:e8eeddee2959 | 68 | /** Read from memory |
kpan | 1:e8eeddee2959 | 69 | * |
kpan | 1:e8eeddee2959 | 70 | * Loads values of existiing count array from Flash Memory |
kpan | 1:e8eeddee2959 | 71 | * |
kpan | 1:e8eeddee2959 | 72 | */ |
kpan | 2:f02ac448ecd3 | 73 | void memread(void); |
kpan | 1:e8eeddee2959 | 74 | |
kpan | 1:e8eeddee2959 | 75 | /** Increment count |
kpan | 1:e8eeddee2959 | 76 | * |
kpan | 1:e8eeddee2959 | 77 | * Simply increments value of index |
kpan | 1:e8eeddee2959 | 78 | * |
kpan | 1:e8eeddee2959 | 79 | * @param index Index of count array to be incremented |
kpan | 1:e8eeddee2959 | 80 | * |
kpan | 1:e8eeddee2959 | 81 | */ |
kpan | 1:e8eeddee2959 | 82 | void increment(int index); |
kpan | 2:f02ac448ecd3 | 83 | }; |
kpan | 2:f02ac448ecd3 | 84 | |
kpan | 2:f02ac448ecd3 | 85 | #endif |